Commit Graph

68 Commits

Author SHA1 Message Date
Sviatoslav Boichuk
f90d4fb03f Handle Topomap Generate Timeout 2025-03-17 18:52:34 +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
82b68b8686 Fixed Multi CGW run on clean environment 2025-02-27 17:53:43 +02:00
Sviatoslav Boichuk
f10e5622ee Added consumer metadata to cnc/cnc_res messages 2025-02-21 20:04:57 +02:00
Sviatoslav Boichuk
910e513e7d Do not use capital letter in Kafka topocs name 2025-02-17 09:17:55 +02:00
Sviatoslav Boichuk
a058c572ad Fix spell issues. Update infra events tests 2025-02-17 09:17:55 +02:00
Sviatoslav Boichuk
53498f0cf8 Handle cloud headers 2025-02-04 13:37:01 +02:00
Olexandr, Mazur
0edd6bdadd Merge pull request #118 from Telecominfraproject/dev-nb-apis-update
Change NB API infra_group_id type from string to integer
2025-02-01 21:00:04 +02:00
Sviatoslav Boichuk
80ec425329 Change NB API infra_group_id type from string to integer 2025-01-27 17:11:33 +02:00
Sviatoslav Boichuk
ec2dd93187 Add Kafka TLS support 2025-01-24 16:07:42 +02:00
Sviatoslav Boichuk
429d19930a Create/update kafka topics on CGW init 2025-01-16 17:05:38 +02:00
Sviatoslav Boichuk
5f4d1ad28b Add tests for different events & expected topics to be received from 2025-01-14 16:38:07 +02:00
Sviatoslav Boichuk
0728a48e09 Fixed some minor spellcheck issues 2025-01-10 10:09:57 +02:00
Sviatoslav Boichuk
7fc6d77fbb Send different NB APIs to different topics 2025-01-07 15:26:34 +02:00
Sviatoslav Boichuk
1a0ab51c43 Fixed spell issues in Docker Compose template file and StartMultiCGW.py script 2025-01-07 13:11:01 +02:00
Sviatoslav Boichuk
eb012864c7 Update CGW infra to support multiple Kafka producers (Single topic per producer) 2025-01-07 13:11:01 +02:00
Sviatoslav Boichuk
993978865e Formatted Redis client with autopep8 2025-01-02 10:15:14 +02:00
Sviatoslav Boichuk
04c4a18d04 Formatted PSQL client with autopep8 2025-01-02 10:14:42 +02:00
Sviatoslav Boichuk
deeb711b7f Formatted multi cgw instances run script with autopep8 2025-01-02 10:12:41 +02:00
Sviatoslav Boichuk
5282f30e99 Formatted Kafka consumer & producer with autopep8 2025-01-02 10:11:57 +02:00
Sviatoslav Boichuk
138ce78e7f Formatted client simulator with autopep8 2025-01-02 10:10:52 +02:00
Oleksandr Mazur
c95e8dfe6b Docker compose template: enable topomap feat by default
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-12-19 14:51:16 +02:00
Oleksandr Mazur
e9d37d1b8c Initial formalization of API in form of YAML files
Add initial list of YAML files that formalize Kafka API:
 - requests list that CGW can handle
 - responses that CGW will generate
 - unsolicited events that CGW might generate

Also a small cleanup of requests and responses was made,
to align it with a common format (renamed some of the fields,
added missing etc).
Tests are tweaked to accomodate for changed field names.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-12-19 14:51:16 +02:00
Oleksandr Mazur
3155b8da83 CGW: remove 'infra_name' from infra_group API
Remove unused 'infra_name' from NB API requests that
manage infra_group (add/del).
Also change tests / utils and helper scripts to no longer
form kafka msgs with 'infra_name' present.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-12-19 14:51:16 +02:00
Oleksandr Mazur
49555495e8 Tests: core: add timeout values for common clients
Force redis, PSQL, kafka clients to have a strict
timeout value for any requests.

It's done to ensure our tests do not hang for an unknown
period of time in case if something goes wrong.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-12-11 16:24:15 +02:00
Sviatoslav Boichuk
09e92207e9 Added malformed packets basic tests 2024-12-10 15:23:36 +02:00
Olexandr, Mazur
cd35ca6e1e Merge pull request #105 from Telecominfraproject/dev-basic-msg-relay-test
Dev basic msg relay test
2024-12-10 13:57:48 +02:00
Oleksandr Mazur
3e63d06f8a Utils: Kafka: add missing cfg samples
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-12-10 11:47:24 +02:00
Sviatoslav Boichuk
7d1588c318 Fixed func params 2024-12-10 11:25:14 +02:00
Sviatoslav Boichuk
2405379c50 Added infra assign message relay test 2024-12-10 11:23:37 +02:00
Sviatoslav Boichuk
87eaa2dee9 Fixed GRPC Public Host name in Docker Compose template file 2024-12-09 17:05:58 +02:00
Sviatoslav Boichuk
932b211706 Merge pull request #103 from Telecominfraproject/feat/test_initial_infra_message_impl
Initial infra message impl
2024-12-06 13:03:03 +02:00
Oleksandr Mazur
10fd2d765b Testing: initial message queue (infra msg) infrastructure
Add initial infrastructure for sending / receiving messages
using websocket bindings for client sim.
Add initial handle-reboot-simulation test, that both
tests CGW's ability to sink down a request, as well as
test it's behavior whenever simulated device's been rebooted.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-12-05 14:52:24 +02:00
Sviatoslav Boichuk
1356565f58 Added Docker Compose tempalte to start multi-cgw instances 2024-12-05 14:22:21 +02:00
Oleksandr Mazur
7f9fbd6905 Utils: client simulator: add a missed mac list that is used in clientsim
The predefined mac list in the txt file is used
internally by the client simulator. It was missed
in previous commits.

Future clientsim rework should eliminate use of <predefined>
mac lists, but it's used now.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-12-03 15:13:58 +02:00
Oleksandr Mazur
8ce7104ef8 Utils: Kafka: fix helper scripts / cli parser group add
Remove unused shard id argument from cli parser in
<generic> (assign to <any>) infra group create request.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-12-03 15:12:07 +02:00
Oleksandr Mazur
c17b89f1d2 Utils: Client simulator: fix sim not starting using docker
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-11-26 15:15:35 +02:00
Sviatoslav Boichuk
bb14546499 Rework kafka consumer polling mechanism 2024-11-25 17:40:50 +02:00
Sviatoslav Boichuk
c18c657255 Added cleanup for each test case 2024-11-25 17:06:27 +02:00
Sviatoslav Boichuk
d5b6de0047 Added PSQL Client & Redis Client - modified tests 2024-11-25 13:55:58 +02:00
Sviatoslav Boichuk
35ee4f0a25 Added multiple infras add/del tests and capacity overflow 2024-11-21 14:16:34 +02:00
Sviatoslav Boichuk
03f8ad6056 Infra add/del tests initial 2024-11-20 16:22:12 +02:00
Sviatoslav Boichuk
7d9fbc918b Added infra group test cases 2024-11-18 12:47:18 +02:00
Sviatoslav Boichuk
8e59cd1569 Added metrics checkers to basic tests 2024-11-18 09:59:41 +02:00
Oleksandr Mazur
768c41dd90 Testing: introduce initial automated testing _core_ changes
Implement initial core for automated tests:
 * mostly resuses/extends existing simulator, kafka producer etc;
 * helper scripts added for manual testing
   (single infra/group add/del etc)
 * Tests compose either of simple steps premade into fixtures,
   or combine usage of both fixtures + custom code inside
   test's funcion

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-11-12 14:20:08 +02:00
Oleksandr Mazur
d70c4d718d Client simulator: use pool of macs with single crt/key
Make client simulator use single cert/key pair with mac
being taken from predefind macs list. This makes it easier
to use simulator, as it doesn't depend upon a big list
of certificates that are expected to match simulated MAC
and so on.

Fixup some python imports to not use relative import,
but rather istruct makefile to pass python path var
that includes relative path.
This is a change required for following commits that
bring automated testing using this simulator.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-11-12 13:26:16 +02:00
Sviatoslav Boichuk
dc471c60ab Reworked CGW Queue manager 2024-11-07 12:05:22 +02:00
Sviatoslav Boichuk
39585fddc5 Rename infrastructure_group_infra_message to infrastructure_group_infra_message_enqueue 2024-11-07 12:05:22 +02:00
Sviatoslav Boichuk
725bc5ae16 Change device to infra in NB API 2024-10-29 12:00:24 +02:00
Oleksandr Mazur
abb99f544c Add proper all-in-one make job
This change makes it possibly to fire make all / make run
without any additional prerequisites required.
It instructs Makefile to launch docker compose for thirdparty
services, as well as instructs CGW container to communicate
with newly created containers.
Also generates self-signed certs, in case if these are missing.

- Tweak docker-compose files for thirdparty services to resign
  in a cgw-dedicated network, and use hostnames where needed;
- Change CGW app default network to cgw-dedicated network;
- Tweak PGSQL scripts to create tables in CGW DB, as well
  as change ownership to them.

Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
2024-10-02 14:37:13 +03:00