Commit Graph

369 Commits

Author SHA1 Message Date
ailchuk
821bc76b2a Proxy: sync remote CGW map on CGW connection close
Add synchronization of the remote CGW map when a CGW connection is closed to ensure the system maintains an up-to-date map of available CGWs. This prevents stale CGW information after connection failures
2025-04-14 17:56:16 +03:00
Olexandr, Mazur
047f211beb Merge pull request #143 from Telecominfraproject/dev-proxy-skeleton-with-lib
proxy skeleton with lib
2025-04-11 14:13:54 +03:00
ailchuk
4d5bffebeb fix tests for proxy 2025-04-11 14:04:39 +03:00
ailchuk
d8325327a7 code cleanup 2025-04-09 16:58:42 +03:00
ailchuk
6327232d40 small fix to make simulator more stable 2025-04-09 13:15:47 +03:00
ailchuk
1f34c8d9fb redis cache rework update 2025-04-09 13:15:43 +03:00
Oleksandr Mazur
093d32b2c4 CGW: Tests: fixup tests after redis cache W/A introduced
Tests can fail if run in multi cgw env.
The reason is that <metrics> are a bit more delayed
compare to the <redis> assigned num / counters.

Do a mini sleep on each check when necessary.
Some tests (like stress test - max num of groups assign)
can still fail. Fix / W/A - TODO.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-04-08 16:03:22 +03:00
Oleksandr Mazur
4b8426ce02 CGW: rethink redis sync approach
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-04-08 16:02:54 +03:00
ailchuk
8768b71811 add last updated timestamp for shard 2025-04-03 10:19:56 +03:00
ailchuk
b9bdf3072f initial functionality to run proxy server 2025-04-03 10:19:50 +03:00
ailchuk
bfd64a322e create lib for common modules 2025-03-27 11:45:36 +02:00
Olexandr, Mazur
43f229662d Merge pull request #132 from Telecominfraproject/dev-topomap-seqid
Update NB APIs: Client join/leave/migrate
2025-03-20 15:36:21 +02:00
Olexandr, Mazur
fe0ae039aa Merge pull request #139 from Telecominfraproject/fix/ignore_unassigned_events
Connection Processor: ignore processing of requests from unassigned i…
2025-03-20 15:27:31 +02:00
Olexandr, Mazur
8257e9635b Merge pull request #149 from Telecominfraproject/tweak/minor_cgw_fixes
Tweak/minor cgw fixes
2025-03-20 14:55:51 +02:00
Oleksandr Mazur
3913d1f7ec CGW: Device Cache: remove chatty debug print from cache alteration func
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-03-20 14:03:41 +02:00
Oleksandr Mazur
1f4fc10d0d CGW: ConnectionServer: fetch redis update timestamp only if needed
Currently CGW technically fetches redis timestamp in a while loop
with a timescale resolution of ~10ms.
The faulty condition is to blame:
<if received no messages from kafka, try resync>
changed to
<if received at least one message from kafka, try resync>.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-03-20 14:03:41 +02:00
Oleksandr Mazur
cf8c894cd8 CGW: ConnectionServer: recreate redis timestamp in case it was deleted
This fix addresses potential issue where CGW is unable to fetch
timestamp from redis because it was deleted completely.
We have to try to recreate it if so, because other way
CGW might get rendered unstable and unusable completely.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-03-20 14:03:26 +02:00
Oleksandr Mazur
b9f3b73a60 CGW: ConnectionServer: prevent redis access race condition on init
Whenever connserver is being created, the NB API loop
task is created earlier than redis (remote discovery)
is properly initialized and remote cgw map / gid cache
is synced.
This causes the very few initial redis calls to fail,
which set the redis health to not-healty.
As a result, this transition might kill the underlying
pod as it's redeemed unhealthy - dead.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-03-20 14:02:50 +02:00
Olexandr, Mazur
3d383ee3a0 Merge pull request #147 from Telecominfraproject/tweak/bump_redis_timeouts
CGW: bump redis-related timeouts
2025-03-20 11:31:47 +02:00
Oleksandr Mazur
7034bbe27c CGW: bump redis-related timeouts
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-03-20 11:30:23 +02:00
Oleksandr Mazur
bbad46416f Utils: Kafka: Fill groups: add support for assign gid to shard
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-03-17 15:55:40 +02:00
Oleksandr Mazur
d1de8af5f3 Utils: Kafka producer: add assign gid to <shard> scripts
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-03-17 15:54:11 +02:00
Oleksandr Mazur
786170ffb3 Connection Processor: ignore processing of requests from unassigned infras
GID 0 (unassigned) infras are not a subject to uCentral
event processing (state, rt events, logs etc).
Thus, there's no need to burn CPU for infras, whose messages
would be rejected afterall after they're parsed.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-03-14 16:20:44 +02:00
Sviatoslav Boichuk
7b18f08c5f Send NB event on topomap infra join/leave 2025-03-14 14:47:29 +02:00
Sviatoslav Boichuk
2b40e37d26 Update NB APIs: Client join/leave/migrate 2025-03-14 09:39:24 +02:00
Olexandr, Mazur
2103ac187e Merge pull request #137 from Telecominfraproject/dev-cgw-parser-fixes
Dev cgw parser fixes
2025-03-12 07:38:56 +02:00
Sviatoslav Boichuk
9dc4239795 Change sender_id type for ConsumerMetadata field to string 2025-03-11 17:43:01 +02:00
Sviatoslav Boichuk
a823f85cb0 Added new NB API to report NB once CGW failed to parse NB request 2025-03-11 17:42:36 +02:00
Sviatoslav Boichuk
944693e08b Send Reply as RealState event, no matter if result type is pending or done 2025-03-11 14:44:25 +02:00
Olexandr, Mazur
3e52339787 Merge pull request #136 from Telecominfraproject/dev-update-ap-pasers
Dev update ap pasers
2025-03-10 11:11:10 +02:00
Sviatoslav Boichuk
1302f3c165 Do not flush device ram cache on sync with redis 2025-03-07 18:51:41 +02:00
Sviatoslav Boichuk
1482977a74 Handle Generic Events 2025-03-07 17:28:19 +02:00
Sviatoslav Boichuk
f657856e4a Enhance Result Reply event parser 2025-03-07 17:28:19 +02:00
Sviatoslav Boichuk
1f0ffabc45 Save origin connect message inside connection processor. Use connect message on gid change event (CGW send [un]assigned infra join/leave) 2025-03-07 17:28:19 +02:00
Sviatoslav Boichuk
47a5052108 Envelop original infra response message into infra_request_result 2025-03-07 17:28:04 +02:00
Sviatoslav Boichuk
e093028199 Parse Generic events 2025-03-07 16:45:52 +02:00
Sviatoslav Boichuk
2b0ab34427 Search 'id' filed in result message root/result/result:state scope 2025-03-07 16:29:00 +02:00
Sviatoslav Boichuk
8e6151f554 Drop CONFIG infra request messages for those infrastructure devices that hasn't beed connected to CGW. 2025-03-06 19:19:42 +02:00
Sviatoslav Boichuk
e6fdce82b0 Merge pull request #128 from Telecominfraproject/api_revamp
API: add optional / mandatory fields specificators
2025-03-04 13:15:48 +02:00
Oleksandr Mazur
cbc1ca38f8 API revamp: add optional / mandatory fields specificators, fix description(s)
* Update API to fix some spelling issues;
* Add specificators that specify the mandatoriness of fields in API;
* Add a simple table that maps req->kaka_topic;

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2025-03-03 18:53:41 +02:00
Olexandr, Mazur
8c0d34d449 Merge pull request #131 from Telecominfraproject/dev-ref-topomap
[TopoMap] Refactoring: use proper structs instead of multiple tuplse
2025-03-03 18:05:03 +02:00
Olexandr, Mazur
f9df3de4e7 Merge pull request #130 from Telecominfraproject/dev-fix-multi-cgw-run
Fixed Multi CGW run on clean environment
2025-02-28 18:48:48 +02:00
Olexandr, Mazur
18213f68e3 Merge pull request #129 from ailchuk/ailchuk/dev-refactor-handlers
refactor: unify response handling in infra handlers
2025-02-28 18:48:03 +02:00
Sviatoslav Boichuk
ec8d8d56be [TopoMap] Refactoring: use proper structs instead of multiple tuplse 2025-02-28 18:13:17 +02:00
Sviatoslav Boichuk
82b68b8686 Fixed Multi CGW run on clean environment 2025-02-27 17:53:43 +02:00
ailchuk
ad56814d71 standardize variable names from mac to infra
Signed-off-by: ailchuk <an.ilchuk27@gmail.com>
2025-02-27 17:39:05 +02:00
ailchuk
7e70d0e89b refactor: unify response handling in infra handlers
Signed-off-by: ailchuk <an.ilchuk27@gmail.com>
2025-02-27 15:43:39 +02:00
Olexandr, Mazur
b741e9dd39 Merge pull request #127 from Telecominfraproject/dev-nb-api-16digits-ts
Added 16 digits timestamp to NB APIs
2025-02-27 12:40:58 +02:00
Sviatoslav Boichuk
07ed817577 Added 16 digits timestamp to NB APIs 2025-02-26 15:12:41 +02:00
Olexandr, Mazur
04dc0773b6 Merge pull request #126 from Telecominfraproject/dev-consumer-metadata
Added consumer metadata to cnc/cnc_res messages
2025-02-25 18:27:40 +02:00