transportpce.git
2 days agoAdd perltidy to pre-commit linters 82/111382/4 master
guillaume.lambert [Sun, 14 Apr 2024 18:36:35 +0000 (20:36 +0200)]
Add perltidy to pre-commit linters

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ie20eb4bc885383deb304363eb8053f8161b3ada1

5 days agoRun perltidy on debug tools 81/111381/1
guillaume.lambert [Sun, 14 Apr 2024 18:42:55 +0000 (20:42 +0200)]
Run perltidy on debug tools

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ia92921efe3ae3ca66f436bd1f5bb268f4fa1b5c6

9 days agoMerge "Fix ConvertORToTapiTopology getXpdrUsedWavelength"
Guillaume Lambert [Wed, 10 Apr 2024 11:13:44 +0000 (11:13 +0000)]
Merge "Fix ConvertORToTapiTopology getXpdrUsedWavelength"

9 days agoMerge changes I2927cbf5,I35d6b4ed,Iffd49368
Guillaume Lambert [Wed, 10 Apr 2024 07:56:12 +0000 (07:56 +0000)]
Merge changes I2927cbf5,I35d6b4ed,Iffd49368

* changes:
  Refactor TAPI topology ConvertORToTapiTopology
  Use Map in TAPI topology ConvertORToTapiTopology
  Fix some TAPI topology Upper/Lower Freq inversions

11 days agoFix ConvertORToTapiTopology getXpdrUsedWavelength 21/111321/1
guillaume.lambert [Mon, 8 Apr 2024 11:07:31 +0000 (13:07 +0200)]
Fix ConvertORToTapiTopology getXpdrUsedWavelength

JIRA: TRNSPRTPCE-735
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I1cca57e44a4a89e85f2748123970d4cca0675d9e

11 days agoRefactor TAPI topology ConvertORToTapiTopology 16/111216/10
guillaume.lambert [Wed, 3 Apr 2024 10:49:05 +0000 (12:49 +0200)]
Refactor TAPI topology ConvertORToTapiTopology

JIRA: TRNSPRTPCE-735
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I2927cbf53b52126a56e590ff6dce7e5044efa502

12 days agoUse Map in TAPI topology ConvertORToTapiTopology 83/111283/6
guillaume.lambert [Fri, 5 Apr 2024 14:12:42 +0000 (16:12 +0200)]
Use Map in TAPI topology ConvertORToTapiTopology

JIRA: TRNSPRTPCE-735
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I35d6b4edd4fc73fb7da677d4d7007aadc82fc7c8

2 weeks agoBump project version to 10.0.0-SNAPSHOT 77/111277/1
Gilles Thouenon [Fri, 5 Apr 2024 07:50:16 +0000 (09:50 +0200)]
Bump project version to 10.0.0-SNAPSHOT

Start next development iteration for Scandium.

Change-Id: I86f5af81c59aa4543a1ab8622e96ff9ec533cc22
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
2 weeks agoMerge "Refactor ORDM Full TAPI topology conversion"
Gilles Thouenon [Thu, 4 Apr 2024 15:39:44 +0000 (15:39 +0000)]
Merge "Refactor ORDM Full TAPI topology conversion"

2 weeks agoMerge "Refactor TAPI rpc GetTopologyDetailsImpl"
Gilles Thouenon [Thu, 4 Apr 2024 15:29:44 +0000 (15:29 +0000)]
Merge "Refactor TAPI rpc GetTopologyDetailsImpl"

2 weeks agoMerge "Bump netconf version to 7.0.4"
Gilles Thouenon [Thu, 4 Apr 2024 10:21:52 +0000 (10:21 +0000)]
Merge "Bump netconf version to 7.0.4"

2 weeks agoBump netconf version to 7.0.4 61/111261/1
Gilles Thouenon [Thu, 4 Apr 2024 08:16:59 +0000 (10:16 +0200)]
Bump netconf version to 7.0.4

JIRA: TRNSPRTPCE-782
Change-Id: I1eae0eecc610e477c465b1985466b8131bcdfd01
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
2 weeks agoRefactor TAPI rpc GetTopologyDetailsImpl 04/111104/6
guillaume.lambert [Wed, 27 Mar 2024 10:28:16 +0000 (11:28 +0100)]
Refactor TAPI rpc GetTopologyDetailsImpl

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I3e2771d010be4685d6fd6c3511298aaaa47a80b4

2 weeks agoFix some TAPI topology Upper/Lower Freq inversions 59/111259/1
guillaume.lambert [Thu, 4 Apr 2024 06:41:59 +0000 (08:41 +0200)]
Fix some TAPI topology Upper/Lower Freq inversions

JIRA: TRNSPRTPCE-735
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Iffd49368665dfe0d201250ecc5c3e27b7a4f9768

2 weeks agoRefactor some small TAPI rpcs 02/111102/6
guillaume.lambert [Wed, 27 Mar 2024 08:59:15 +0000 (09:59 +0100)]
Refactor some small TAPI rpcs

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I5ed08975b462d2e01eb053ddd2f30d4a7d6c3a17

2 weeks agoMerge "Refactor ORDM TAPI topology conversion"
Gilles Thouenon [Wed, 3 Apr 2024 15:56:06 +0000 (15:56 +0000)]
Merge "Refactor ORDM TAPI topology conversion"

2 weeks agoRefactor ORDM TAPI topology conversion 04/111204/3
guillaume.lambert [Tue, 2 Apr 2024 13:30:19 +0000 (15:30 +0200)]
Refactor ORDM TAPI topology conversion

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Iead4457ecf2e72e8a964e9ce07a32061a9901558

2 weeks agoRefactor ORDM Full TAPI topology conversion 42/111142/5
guillaume.lambert [Fri, 29 Mar 2024 10:27:56 +0000 (11:27 +0100)]
Refactor ORDM Full TAPI topology conversion

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Icced07b1300d23616fc060bc34fbd8c7b00af1f0

2 weeks agoFix TAPI utils listener DOM iteration bug 69/111169/3
guillaume.lambert [Tue, 2 Apr 2024 06:47:32 +0000 (08:47 +0200)]
Fix TAPI utils listener DOM iteration bug

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Iea27acae0a57d7c7b47f984b66cb3ddaadc30d82

3 weeks agoRefactor TAPI utils TapiListener 36/111136/3
guillaume.lambert [Thu, 28 Mar 2024 10:14:30 +0000 (11:14 +0100)]
Refactor TAPI utils TapiListener

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I3aa83ce91fac1084bf871681a3e566eed3d424ee

3 weeks agoRefactor few TAPI rpcs 10/111110/3
guillaume.lambert [Wed, 27 Mar 2024 15:17:50 +0000 (16:17 +0100)]
Refactor few TAPI rpcs

Change-Id: Ib6d5843c674ea7f2c5eacffe4df7a6c3b6b45b3a
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
3 weeks agoMerge "Refactor TAPI topology TapiPortMappingListener"
Gilles Thouenon [Thu, 28 Mar 2024 07:13:01 +0000 (07:13 +0000)]
Merge "Refactor TAPI topology TapiPortMappingListener"

3 weeks agoRefactor TAPI topology TapiPortMappingListener 12/111112/2
guillaume.lambert [Wed, 27 Mar 2024 15:33:22 +0000 (16:33 +0100)]
Refactor TAPI topology TapiPortMappingListener

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I3c0937ed3552ba3192644fc490730c18c334a64a

3 weeks agoRefactor TAPI topology TAPIOrLinkListener 11/111111/2
guillaume.lambert [Wed, 27 Mar 2024 15:22:18 +0000 (16:22 +0100)]
Refactor TAPI topology TAPIOrLinkListener

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I857a6f0f90ada5d53f853b80d6f2a35fcf16f983

3 weeks agoMerge "Refactor TAPI rpc DeleteConnectivityServiceImpl"
Gilles Thouenon [Wed, 27 Mar 2024 12:35:29 +0000 (12:35 +0000)]
Merge "Refactor TAPI rpc DeleteConnectivityServiceImpl"

3 weeks agoRefactor TAPI rpc DeleteConnectivityServiceImpl 01/111101/1
guillaume.lambert [Wed, 27 Mar 2024 08:36:12 +0000 (09:36 +0100)]
Refactor TAPI rpc DeleteConnectivityServiceImpl

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I0fba1c50c454b312026338d80c5d659d724b59c9

3 weeks agoMerge "Refactor TAPI rpc CreateConnectivityServiceImpl"
Gilles Thouenon [Wed, 27 Mar 2024 08:28:22 +0000 (08:28 +0000)]
Merge "Refactor TAPI rpc CreateConnectivityServiceImpl"

3 weeks agoRefactor TAPI 2.4 62/110362/13
orenais [Fri, 23 Feb 2024 16:34:04 +0000 (17:34 +0100)]
Refactor TAPI 2.4

JIRA: TRNSPRTPCE-735
Signed-off-by: orenais <olivier.renais@orange.com>
Change-Id: Iebccbefb0ddfb1ec902916a18e9447046c7101e2

3 weeks agoRefactor TAPI rpc CreateConnectivityServiceImpl 58/110858/3
guillaume.lambert [Tue, 19 Mar 2024 07:11:25 +0000 (08:11 +0100)]
Refactor TAPI rpc CreateConnectivityServiceImpl

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I85b7c6dc7e74c957f78123b5b8fb5dcf577fcb57

3 weeks agoMerge "SH slight clean-up after Ca bump"
Gilles Thouenon [Mon, 25 Mar 2024 16:36:20 +0000 (16:36 +0000)]
Merge "SH slight clean-up after Ca bump"

3 weeks agoMerge "Refactor a few renderer RPCs"
Gilles Thouenon [Mon, 25 Mar 2024 12:50:22 +0000 (12:50 +0000)]
Merge "Refactor a few renderer RPCs"

3 weeks agoMerge "Refactor Networkmodel PortMappingListener"
Gilles Thouenon [Mon, 25 Mar 2024 11:34:21 +0000 (11:34 +0000)]
Merge "Refactor Networkmodel PortMappingListener"

3 weeks agoSH slight clean-up after Ca bump 46/110846/3
guillaume.lambert [Mon, 18 Mar 2024 14:42:24 +0000 (15:42 +0100)]
SH slight clean-up after Ca bump

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I7a3e1afd1532c3fdc9633533e3174d721b93958b

3 weeks agoRefactor nbinotifications 19/110719/6
guillaume.lambert [Wed, 13 Mar 2024 16:47:09 +0000 (17:47 +0100)]
Refactor nbinotifications

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I2c1e78e2712b26825cd7fe56060779a0622f5d11

3 weeks agoRefactor a few renderer RPCs 22/110822/7
guillaume.lambert [Sun, 17 Mar 2024 21:13:40 +0000 (22:13 +0100)]
Refactor a few renderer RPCs

JIRA: TRNSPRTPCE-764
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Icdd66a41bfea36d66a2e9f7686d492f3065d253a

3 weeks agoRefactor Networkmodel PortMappingListener 21/110821/7
guillaume.lambert [Sun, 17 Mar 2024 20:53:38 +0000 (21:53 +0100)]
Refactor Networkmodel PortMappingListener

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Id4c08284c6f032258d1cc00920ccb208ccee6e8c

4 weeks agoBump kafka-client version to 3.7.0 59/110959/2
Gilles Thouenon [Thu, 21 Mar 2024 10:36:07 +0000 (11:36 +0100)]
Bump kafka-client version to 3.7.0

JIRA: TRNSPRTPCE-789
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Id83149775a1a670880a58be39270bae5f4b5d275

4 weeks agoMigrate tapi notification functional tests to 2.4 48/110948/2
Gilles Thouenon [Thu, 21 Mar 2024 10:25:13 +0000 (11:25 +0100)]
Migrate tapi notification functional tests to 2.4

- fix NPE issue in CreateConnectivityServiceValidation when the request
does not contain any topology constraints
- TAPI notification functional test suite had been forgotten in the TAPI
migration to new models in v2.4. Adapt these tests to the new
implementation.

JIRA: TRNSPRTPCE-790
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I0d0cb473cc7178205e1a5e8614563aa7aaf63dc9

4 weeks agoFix bugs in nbinotifications module 47/110947/2
Gilles Thouenon [Thu, 21 Mar 2024 10:23:56 +0000 (11:23 +0100)]
Fix bugs in nbinotifications module

- fix NPE issue in NbiNotificationsHandler
- fix message issue in PceNotificationHandler of service handler
- add small delay in functional test execution to let the notification
being sent in kafka broker
- fix issue when uninstalling the feature (publisher sessions with
kafka server remained open)

JIRA: TRNSPRTPCE-790
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I914f3c2313e17ec25b36633ef8af26ff8f8394bf

4 weeks agoFix karaf client issue in functional test library 46/110946/1
Gilles Thouenon [Thu, 21 Mar 2024 10:07:38 +0000 (11:07 +0100)]
Fix karaf client issue in functional test library

- Remove logout from the bash command sent with subprocess run to avoid
having a runtime exception in karaf when we install the
odl-transportpce-nbinotifications feature
- remove an useless variable in sims_update_cp_port_ntcf method

JIRA: TRNSPRTPCE-782
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I002c3c154d49ff5f128929084a5802f9eea16c9f

4 weeks agoBump netconf to version 7.0.3 01/110901/1
Gilles Thouenon [Wed, 20 Mar 2024 08:02:59 +0000 (09:02 +0100)]
Bump netconf to version 7.0.3

Use latest netconf version to pick few fixes.

JIRA: TRNSPRTPCE-782
Change-Id: Ib0d870c1c8d65da4878851afc955415df64144b4
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
4 weeks agoBump grizzly-http-server version to 4.0.2 78/110878/1
Gilles Thouenon [Tue, 19 Mar 2024 17:14:04 +0000 (18:14 +0100)]
Bump grizzly-http-server version to 4.0.2

Instead of an old and unsecured 2.4.0 version.

JIRA: TRNSPRTPCE-789
Change-Id: Ia99c42f013e1c7415fbce0973795ddc8fb2095d6
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
4 weeks agoReplace javax.activation-api by the jakarta one 77/110877/1
Gilles Thouenon [Tue, 19 Mar 2024 16:39:35 +0000 (17:39 +0100)]
Replace javax.activation-api by the jakarta one

Remove the fixed and old version of javax.activation-api for the benefit
of the jakarta.activation-api provided by odlparent.

JIRA: TRNSPRTPCE-789
Change-Id: I3a22c3207c72f8efacde0654c3005b676b478763
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
4 weeks agoMerge changes I6014d5f7,I88b072fa
Gilles Thouenon [Tue, 19 Mar 2024 16:43:03 +0000 (16:43 +0000)]
Merge changes I6014d5f7,I88b072fa

* changes:
  Refine the RPC implementation registration
  Bump upstream dependencies to latest Ca versions

4 weeks agoRefine the RPC implementation registration 49/110849/2
Gilles Thouenon [Mon, 18 Mar 2024 17:45:32 +0000 (18:45 +0100)]
Refine the RPC implementation registration

- Replace the ClassToInstanceMap argument by a plain varargs with the
RPC implementations when registering RPC to
mdsal.binding.api.RpcProviderService.
- Optimize code by removing classes that have now become almost useless
- adapt the JUnit tests to check exactly which RPC impl are registered

JIRA: TRNSPRTPCE-788
Change-Id: I6014d5f7a4d0447a14ddcac59de6b1d9539677fb
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
4 weeks agoBump upstream dependencies to latest Ca versions 43/110743/2
Gilles Thouenon [Fri, 15 Mar 2024 07:34:13 +0000 (08:34 +0100)]
Bump upstream dependencies to latest Ca versions

Adopt:
- odlparent-13.0.11
- yangtools-13.0.2
- mdsal-13.0.1
- netconf-7.0.2

JIRA: TRNSPRTPCE-782
Change-Id: I88b072fa5abb6c020da743429777f1f2c96075f0
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
5 weeks agoFix inventory listeners code style 18/110718/3
guillaume.lambert [Wed, 13 Mar 2024 16:01:00 +0000 (17:01 +0100)]
Fix inventory listeners code style

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I8120d9e53faf337ab4e32705782ba844ce58ca60

5 weeks agoRefactor common CrossConnectImpl 92/110692/8
guillaume.lambert [Wed, 13 Mar 2024 11:13:25 +0000 (12:13 +0100)]
Refactor common CrossConnectImpl

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I23cbb0a2b6aaa61d90cf86fa6417dcb948b377a2

5 weeks agoOnly verify PreFEC BER if end node is Xponder 03/110203/6
Jonas Mårtensson [Tue, 13 Jun 2023 07:55:08 +0000 (07:55 +0000)]
Only verify PreFEC BER if end node is Xponder

Trying to read PreFEC BER from end nodes when creating a ROADM-to-ROADM
service is unnecessary since only Xponders report this parameter.
Adapt renderer unitary tests

JIRA: TRNSPRTPCE-158
Change-Id: Id1a9bfe69296abaeffe63d589a79d113bf8d9bcc
Signed-off-by: Jonas Mårtensson <jonas.martensson@smartoptics.com>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
5 weeks agoFix Renderer Junit Tests exceptions 95/110695/2
Gilles Thouenon [Wed, 13 Mar 2024 12:56:41 +0000 (13:56 +0100)]
Fix Renderer Junit Tests exceptions

New rollback process makes junit tests running with exceptions. Fix
them.

JIRA: TRNSPRTPCE-782
Change-Id: Ie8b95582589140b6e079861a4878f683b193ac02
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
5 weeks agoBump upstream dependencies to Ca 09/110209/5
Gilles Thouenon [Mon, 5 Feb 2024 08:25:42 +0000 (09:25 +0100)]
Bump upstream dependencies to Ca

Adopt:
- odlparent-13.0.10 (already done)
- yangtools-13.0.1
- mdsal-13.0.0
- netconf-7.0.1
- transportpce-models-20.0.0-SNAPSHOT

Also, move each rpc implementation in a dedicated class to ease their
registration.
Adapt, and sometimes redo, some unitary tests.

Prepare lighty build.
FIXME: need mdsal.binding.api.RpcService in lighty.

Adapt the python lib (test_utils) to the new way of configuring
login/passwork when we mount a netconf device.

JIRA: TRNSPRTPCE-782
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I5e8b0634e02b8d0ee810d9bb8471b4b6cac8e990

5 weeks agoMake lighty build non voting in CI 70/110670/1
Gilles Thouenon [Tue, 12 Mar 2024 15:08:35 +0000 (16:08 +0100)]
Make lighty build non voting in CI

Change-Id: I55709eae45349e011923b77825c97062e5ce1676
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
5 weeks agoMerge changes I8c049137,I8660893e
Guillaume Lambert [Tue, 12 Mar 2024 10:25:59 +0000 (10:25 +0000)]
Merge changes I8c049137,I8660893e

* changes:
  Switch all func tests to lightynode
  Add a tox profile to install lightynode

5 weeks agoMerge changes Ib0dab687,Ia7e45116,I6839ad8b
Guillaume Lambert [Tue, 12 Mar 2024 10:23:12 +0000 (10:23 +0000)]
Merge changes Ib0dab687,Ia7e45116,I6839ad8b

* changes:
  Turn down OLM power AtoZ and ZtoA in parallel
  Refactor RendererServiceOperationsImpl notify
  Olm Power Down Task

7 weeks agoMerge changes I453a92fd,I68ba6341
Guillaume Lambert [Fri, 1 Mar 2024 07:34:36 +0000 (07:34 +0000)]
Merge changes I453a92fd,I68ba6341

* changes:
  Allow the client to specify ROADM service SRG port
  Address yang name change for transportpce-pce

7 weeks agoMerge "Complement sims configuration files"
Guillaume Lambert [Fri, 1 Mar 2024 07:33:24 +0000 (07:33 +0000)]
Merge "Complement sims configuration files"

7 weeks agoMerge changes from topic "lambdaHandling"
Guillaume Lambert [Fri, 1 Mar 2024 07:33:01 +0000 (07:33 +0000)]
Merge changes from topic "lambdaHandling"

* changes:
  Reindent PceTestData Junit
  Refactor PCE OperatorConstraints
  Add SpectrumFillingRule check in postAlgoValidator

7 weeks agoReindent PceTestData Junit 93/110393/2
guillaume.lambert [Wed, 28 Feb 2024 10:01:37 +0000 (11:01 +0100)]
Reindent PceTestData Junit

JIRA: TRNSPRTPCE-783
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Id8ab0f5d24f9ed845ccc0e0ffcfbadb1003d2a39

7 weeks agoRefactor PCE OperatorConstraints 88/110388/4
guillaume.lambert [Tue, 27 Feb 2024 11:16:22 +0000 (12:16 +0100)]
Refactor PCE OperatorConstraints

JIRA: TRNSPRTPCE-783
Change-Id: I062e49ad39ad417026919d4bf5f74b15265cd7bd
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
7 weeks agoSwitch all func tests to lightynode 49/110149/9
Christophe Betoule [Mon, 5 Feb 2024 15:45:37 +0000 (16:45 +0100)]
Switch all func tests to lightynode

- in tox.ini adopt lightynode sims for remaing 7.1, hybrid and
  with_docker tests
- adapt tests using netconf connector instead of restconf one as soon as
Lightynode does not support restconf api.
- adopt lighty-openroadm-device-19.1.0.5

JIRA: TRNSPRTPCE-754
Signed-off-by: Christophe Betoule <christophe.betoule@orange.com>
Change-Id: I8c049137c56c46e4ca4af1ed95a20c4d62a7d420

7 weeks agoAdd a tox profile to install lightynode 27/110127/7
Gilles Thouenon [Fri, 2 Feb 2024 16:52:55 +0000 (17:52 +0100)]
Add a tox profile to install lightynode

- create a new tox profile that install lightynode
- fix a bug when lightynode directory was not present
- adapt the shell script to be able to specify eiter a specific released
or snapshot version to install
- make tox fail when download fails

JIRA: TRNSPRTPCE-754
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I8660893e48a02d6c355fb6d63778ee5667cd2b69

7 weeks agoAdd SpectrumFillingRule check in postAlgoValidator 64/110164/10
orenais [Tue, 6 Feb 2024 18:29:39 +0000 (19:29 +0100)]
Add SpectrumFillingRule check in postAlgoValidator

JIRA: TRNSPRTPCE-783
Change-Id: I4c98c6ddfcff4e71c2f8c00774b8e6d80801ca07
Signed-off-by: orenais <olivier.renais@orange.com>
7 weeks agoAllow the client to specify ROADM service SRG port 69/109369/12
Joakim Törnqvist [Thu, 7 Dec 2023 15:03:53 +0000 (15:03 +0000)]
Allow the client to specify ROADM service SRG port

Allows the client to specifiy port with 'port-device-name' and
'port-name' (see example down below).

The feature is implemented in PceOpticalNode. The rest are
classes being updated since there is a new argument in
the method PceOpticalNode.initSrgTps():

    initSrgTps(Preference portPreference) {...}

Feature implementation overview

The feature uses the classes in package:
org.opendaylight.transportpce.pce.networkanalyzer.port

* PceCalculation instantiates an instance of Preference using
  PreferenceFactory and passing it on to the constructor in
  PceOpticalNode.
* PreferenceFactory in turn uses PathComputationRequestInput
  to return either 'NoPreference' or 'ClientPreference'.
* Returning an instance of 'NoPreference' is the backwards compatible
  approach. The class 'NoPreference' is currently implemented as
  the equivalent of 'port-device-name' and 'port-name' being absent
  from the client request.
* If the client uses 'port-device-name' and 'port-name' an instance
  of ClientPreference is returned.
* PceOpticalNode uses the method preferredPort(...) defined by
  the interface Preference (implemented by NoPreference/
  ClientPreference) when building a list of avilable ports.
  If a port is not in the preferred list, it's treated as
  unavailable by PceOpticalNode.

APIImpact

POST /rests/operations/org-openroadm-service:service-create
{
  "input": {
...
    "port": {
      "port-device-name": "ROADM-B-SRG1",
      "port-name":        "SRG1-PP2-TXRX",
    }
...
  }
}

The above will result in port SRG1-PP2-TXRX on node ROADM-B-SRG1
being used in the service. All other ports on ROADM-B-SRG1
will be treated as "unavailable".

JIRA: TRNSPRTPCE-176
Change-Id: I453a92fda2977ac86c5c5ff47e1a7f6cd322334d
Signed-off-by: Joakim Törnqvist <joakim.tornqvist@smartoptics.com>
7 weeks agoAddress yang name change for transportpce-pce 05/110405/1
Joakim Törnqvist [Thu, 29 Feb 2024 14:53:22 +0000 (14:53 +0000)]
Address yang name change for transportpce-pce

In TRNSPRTPCE-783, there is name revision update from
transportpce-pce@2023-09-25 to transportpce-pce@2024-02-05.

JIRA: TRNSPRTPCE-176
Change-Id: I68ba63411045c18087e15854835a2d9913e20424
Signed-off-by: Joakim Törnqvist <joakim.tornqvist@smartoptics.com>
7 weeks agoMerge "Refactor TAPI Connectivity Utils"
Gilles Thouenon [Thu, 29 Feb 2024 14:00:13 +0000 (14:00 +0000)]
Merge "Refactor TAPI Connectivity Utils"

7 weeks agoMerge "Fix persistence when karaf is restarted"
Guillaume Lambert [Thu, 29 Feb 2024 13:25:04 +0000 (13:25 +0000)]
Merge "Fix persistence when karaf is restarted"

7 weeks agoMerge changes Ib795f077,I723e4262
Guillaume Lambert [Thu, 29 Feb 2024 13:24:43 +0000 (13:24 +0000)]
Merge changes Ib795f077,I723e4262

* changes:
  Refactoring rollback when service create fails
  New Package dealing with device rollback

7 weeks agoMerge "Determine preferred node/port from PCRI"
Guillaume Lambert [Thu, 29 Feb 2024 13:22:30 +0000 (13:22 +0000)]
Merge "Determine preferred node/port from PCRI"

7 weeks agoMerge "Add customer name to pathComputationRequest input"
Guillaume Lambert [Thu, 29 Feb 2024 13:22:01 +0000 (13:22 +0000)]
Merge "Add customer name to pathComputationRequest input"

7 weeks agoComplement sims configuration files 89/110189/9
Christophe Betoule [Thu, 8 Feb 2024 09:28:10 +0000 (10:28 +0100)]
Complement sims configuration files

- Add current-pm-description (pm-handling yang model) for 7.1 ROADM
- Add current-pm-list list (org-openroadm-pm yang model) for 7.1 ROADM-B

JIRA: TRNSPRTPCE-787
Change-Id: I32f5b79e6e6b4555bcd8e8812ee4840e9aad928c
Signed-off-by: Christophe Betoule <christophe.betoule@orange.com>
7 weeks agoTurn down OLM power AtoZ and ZtoA in parallel 58/110258/8
Joakim Törnqvist [Mon, 19 Feb 2024 11:47:55 +0000 (11:47 +0000)]
Turn down OLM power AtoZ and ZtoA in parallel

Use the new task OlmPowerTurnDownTask to delete a service
AtoZ and ZtoA in parallel.

JIRA: TRNSPRTPCE-616
Change-Id: Ib0dab687ef3f5c4a12ad8a71fa5c78d1f9d72254
Signed-off-by: Joakim Törnqvist <joakim.tornqvist@smartoptics.com>
7 weeks agoRefactor RendererServiceOperationsImpl notify 66/110266/6
Joakim Törnqvist [Mon, 19 Feb 2024 11:35:54 +0000 (11:35 +0000)]
Refactor RendererServiceOperationsImpl notify

Refactor three private methods in RendererServiceOperationsImpl
into a separate class implementing the interface 'Notification'
in package:

    org.opendaylight.transportpce.renderer.provisiondevice.notification

The constructor in RendererServiceOperationsImpl requires an instance
of 'Notification' instead of 'NotificationPublishService'. Meaning
RendererServiceOperationsImpl is using NotificationPublishService
indirectly as opposed to directly.

The rest of the changes is a ripple effect due to the constructor
being updated.

JIRA: TRNSPRTPCE-616
Change-Id: Ia7e45116d44581fe2a54dc0b58843840a007d5fb
Signed-off-by: Joakim Törnqvist <joakim.tornqvist@smartoptics.com>
7 weeks agoOlm Power Down Task 57/110257/8
Joakim Törnqvist [Fri, 16 Feb 2024 12:15:13 +0000 (12:15 +0000)]
Olm Power Down Task

A task capable of running in parallel powering down OLM power.
The package also contains an Interface left open to be implemented
at a later time.

Pseudo code example usage:

ListenableFuture<OLMRenderingResult> futureAtoZ =
    this.executor.submit(
        new OlmPowerTurnDownTask(...)
    );

ListenableFuture<OLMRenderingResult> futureZtoA =
    this.executor.submit(
        new OlmPowerTurnDownTask(...)
    );

ListenableFuture<List<OLMRenderingResult>> futures =
    Futures.allAsList(futureAtoZ, futureZtoA);

List<OLMRenderingResult> results;

try{
    results = futures.get(Timeouts.OLM_TIMEOUT, TimeUnit.MILLISECONDS);
} catch (Exception e) {
    LOG.error("Error while turning down power!");
}

if (results.get(0).isSuccess() && results.get(1).isSuccess()) {
    LOG.info("OLM power successfully turned down");
}

JIRA: TRNSPRTPCE-616
Change-Id: I6839ad8bdd5feeec5bcd63700efe55c8aed01085
Signed-off-by: Joakim Törnqvist <joakim.tornqvist@smartoptics.com>
7 weeks agoRefactor TAPI Connectivity Utils 09/110109/13
guillaume.lambert [Wed, 31 Jan 2024 15:39:29 +0000 (16:39 +0100)]
Refactor TAPI Connectivity Utils

JIRA: TRNSPRTPCE-734
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I05fec0450c269ff5dbc169c70a81c7144834f9c1

7 weeks agoMerge "Allow 0 dB spanloss in power management"
Gilles Thouenon [Sat, 24 Feb 2024 15:55:14 +0000 (15:55 +0000)]
Merge "Allow 0 dB spanloss in power management"

7 weeks agoMerge "Refactor TAPI ConvertORTopoToTapiFullTopo"
Gilles Thouenon [Sat, 24 Feb 2024 15:54:13 +0000 (15:54 +0000)]
Merge "Refactor TAPI ConvertORTopoToTapiFullTopo"

7 weeks agoMerge "Refactor TAPI ConvertORToTapiTopology"
Gilles Thouenon [Sat, 24 Feb 2024 15:52:26 +0000 (15:52 +0000)]
Merge "Refactor TAPI ConvertORToTapiTopology"

8 weeks agoMerge "Fix some TAPI ConnectivityUtils log msg"
Guillaume Lambert [Fri, 23 Feb 2024 15:48:50 +0000 (15:48 +0000)]
Merge "Fix some TAPI ConnectivityUtils log msg"

8 weeks agoMerge "Fix OLM rollback"
Guillaume Lambert [Fri, 23 Feb 2024 14:02:50 +0000 (14:02 +0000)]
Merge "Fix OLM rollback"

8 weeks agoFix some TAPI ConnectivityUtils log msg 05/110305/1
guillaume.lambert [Thu, 22 Feb 2024 16:09:18 +0000 (17:09 +0100)]
Fix some TAPI ConnectivityUtils log msg

JIRA: TRNSPRTPCE-734
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Iab258e658613bce1cc4e4962a2b2456aa8182edf

2 months agoDetermine preferred node/port from PCRI 68/109368/9
Joakim Törnqvist [Thu, 7 Dec 2023 14:13:13 +0000 (14:13 +0000)]
Determine preferred node/port from PCRI

Package intended to be used to determine preferred SRG port
usage when setting up optical services between ROADMs.

Use an instance of PathComputationRequestInput, e.g. API
input and provides a method for checking if a specific SRG port
is among the ports in the client request.

Package org.opendaylight.transportpce.pce.networkanalyzer.port:

* Preference        - Interface defining one method capable
                      of determining if a node/port is 'preferred'
                      by the client.
* ClientPreference  - Implements Preference. Contains information
                      about actual client port preference.
* NoPreference      - Implements Preference. Typically used when
                      the client has no preference regarding port.

* Factory           - Interface defining methods needed in order
                      to convert a PathComputationRequestInput
                      to an implementation of Preferenc.
* PreferenceFactory - Implements Factory. The method
                      'portPreference' should typically be used
                      implementing the feature in the application.

                      The method portPreference either returns
                      an instance of 'ClientPreference' or
                      'NoPreference'.

Example:

public void someMethod(PathComputationRequestInput input) {

    Factory portPreferenceFactory = new PreferenceFactory();

    Preference preference = portPreferenceFactory.portPreference(input);

    if (preference.preferredPort("ROADM-A-SRG1", "SRG1-PP1-TXRX")) {
        System.out.println("The port 'SRG1-PP1-TXRX' on 'ROADM-A-SRG1' "
                          +"is preferred by the client.");
    }

}

JIRA: TRNSPRTPCE-176
Change-Id: Iba7e7886678deb6d965391633f819995635caa06
Signed-off-by: Joakim Törnqvist <joakim.tornqvist@smartoptics.com>
2 months agoFix persistence when karaf is restarted 41/103441/3
Jonas Mårtensson [Mon, 28 Nov 2022 12:09:35 +0000 (12:09 +0000)]
Fix persistence when karaf is restarted

OpenDaylight supports datastore persistence but this does not currently
work for TransportPCE since the service list and all openroadm network
layers are initialised as empty when karaf is started.

This changes the transaction from put to merge in order to not
overwrite existing services and network layers.

This also sets config datastore persistence to false before running
tests since they are implemented with the assumption that datastore is
not persistent.

JIRA: TRNSPRTPCE-706

Signed-off-by: Jonas Mårtensson <jonas.martensson@smartoptics.com>
Change-Id: Icec7a1ae47d7001eb408b3b573a837daa8645bc8

2 months agoMerge "Fix warning message when service creation fails"
Guillaume Lambert [Thu, 15 Feb 2024 15:16:03 +0000 (15:16 +0000)]
Merge "Fix warning message when service creation fails"

2 months agoFix warning message when service creation fails 01/110201/3
Jonas Mårtensson [Fri, 9 Feb 2024 07:43:00 +0000 (07:43 +0000)]
Fix warning message when service creation fails

When service implementation failed, the warning message "Service was
not removed from datastore!" was shown in the log, even if the service
was successfully removed.

JIRA: TRNSPRTPCE-784
Signed-off-by: Jonas Mårtensson <jonas.martensson@smartoptics.com>
Change-Id: I64bb939459e32155626bce1a57da6bd09db22ac8

2 months agoFix OLM rollback 04/110204/4
Jonas Mårtensson [Mon, 22 May 2023 13:59:37 +0000 (13:59 +0000)]
Fix OLM rollback

The OLM rollback task did not correctly set spectral slot numbers,
causing a null pointer exception.

JIRA: TRNSPRTPCE-786
Change-Id: I8cdaa109b718d47c8d5b620b9d686903f19c08d3
Signed-off-by: Jonas Mårtensson <jonas.martensson@smartoptics.com>
2 months agoRefactor TAPI ConvertORToTapiTopology 26/110126/11
guillaume.lambert [Fri, 2 Feb 2024 16:28:32 +0000 (17:28 +0100)]
Refactor TAPI ConvertORToTapiTopology

JIRA: TRNSPRTPCE-759
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I00c47bebf899a5abc2fd5584d96ba4ce7a8b41ca

2 months agoRefactoring rollback when service create fails 30/109830/6
Joakim Törnqvist [Wed, 17 Jan 2024 14:35:53 +0000 (14:35 +0000)]
Refactoring rollback when service create fails

The new rollback feature is primarily implemented in the method
deviceRendering in the class RendererServiceOperationsImpl.

The new class TransactionHistory is passed into
DeviceRendererServiceImpl via DeviceRenderingTask.
DeviceRendererServiceImpl populates the TransationHistory class
with created interfaces etc.

A new rollback task NetworkDeviceRenderingRollbackTask has been
created intended to replace DeviceRenderingRollbackTask. The
class is instantiated with a TransactionHistory object intended
to be used in case of a rollback.

Sample pseudo code extract

class RendererServiceOperationsImpl:
private List<DeviceRenderingResult> deviceRendering(...) {

    History transactionHistory = new TransactionHistory();

    ListenableFuture<DeviceRenderingResult> atozrenderingFuture =
        this.executor.submit(
            new DeviceRenderingTask(..., transactionHistory));

    ListenableFuture<DeviceRenderingResult> ztoarenderingFuture =
        this.executor.submit(
            new DeviceRenderingTask(..., transactionHistory));

    ListenableFuture<List<DeviceRenderingResult>>
        renderingCombinedFuture = Futures.allAsList(
            atozrenderingFuture, ztoarenderingFuture
        );

    List<DeviceRenderingResult> renderingResults = new ArrayList<>(2);
    renderingResults = renderingCombinedFuture.get(...);

    rollbackProcessor.addTask(
        new NetworkDeviceRenderingRollbackTask(
            "RollbackTransactionHistoryTask",
            transactionHistory,
            ! (renderingResults.get(0).isSuccess()
                && renderingResults.get(1).isSuccess()),
            deviceRenderer,
            new RollbackResultMessage()
        )
    );

    return renderingResults;
}

New somewhat simplified rollback method using TransactionHistory
intended to replace the previous method using RendererRollbackInput:

class RendererServiceOperationsImpl:
@Override
public RendererRollbackOutput rendererRollback(
    History transactionHistory
) {
    LOG.info("Rolling back...");

    Result rollbackResult = new FailedRollbackResult();
    Subscriber deleteSubscriber = new DeleteSubscriber(rollbackResult);

    transactionHistory.rollback(
            new DeleteService(
                    crossConnect,
                    openRoadmInterfaces,
                    deleteSubscriber
            )
    );

    LOG.info("Rollback done!");

    return rollbackResult.renderRollbackOutput();
}

JIRA: TRNSPRTPCE-615
Change-Id: Ib795f077ae763bd92bac44ee77186a19ed0e4b2a
Signed-off-by: Joakim Törnqvist <joakim.tornqvist@smartoptics.com>
2 months agoFix ConvertORToTapiTopology Upper/Lower Freq bug 30/110230/1
guillaume.lambert [Tue, 13 Feb 2024 12:44:48 +0000 (13:44 +0100)]
Fix ConvertORToTapiTopology Upper/Lower Freq bug

JIRA: TRNSPRTPCE
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I91568bef19ddb5475c74696720517fed8c905f11

2 months agoNew Package dealing with device rollback 29/109829/4
Joakim Törnqvist [Wed, 17 Jan 2024 14:35:08 +0000 (14:35 +0000)]
New Package dealing with device rollback

Add a new class (TransactionHistory) capable of keeping
track of created interfaces (during a service creation
process) and rolling them back.

The DeleteService class handles the rollback process. Passing
in a subscriber (DeleteSubscriber) capable of tracking the process
and creating a result.

Pseudo code example

public Result rollbackExample(
        OpenRoadmInterfaceFactory openRoadmInterfaceFactory,
        OpenRoadmInterfaces openRoadmInterfaces,
        CrossConnect crossConnect
) {

    History transactionHistory = new TransactionHistory();

    String supportingOchInterface = openRoadmInterfaceFactory
        .createOpenRoadmOchInterface(...);

    transactionHistory.add(
        new DeviceInterface(nodeId, supportingOchInterface)
    );
    transactionHistory.addInterfaces(
        nodeId,
        supportingOchInterface.split("#")
    );

    Result rollbackResult = new FailedRollbackResult();
    Subscriber deleteSubscriber = new DeleteSubscriber(rollbackResult);

    transactionHistory.rollback(
        new DeleteService(
            crossConnect,
            openRoadmInterfaces,
            deleteSubscriber
        )
    );

    return rollbackResult.renderRollbackOutput();

}

JIRA: TRNSPRTPCE-615
Change-Id: I723e42628e8de0b45ab9160b5b8c366497c0f550
Signed-off-by: Joakim Törnqvist <joakim.tornqvist@smartoptics.com>
2 months agoAllow 0 dB spanloss in power management 02/110202/3
Jonas Mårtensson [Fri, 9 Feb 2024 08:07:45 +0000 (08:07 +0000)]
Allow 0 dB spanloss in power management

Currently, power management, and therefore also service creation, fails
if any spanloss is 0 dB. There is nothing in the OpenROADM spec that
says 0 dB is out of range. The spanloss range is defined as:
Min: 0, Max: 27 dB

JIRA: TRNSPRTPCE-785
Signed-off-by: Jonas Mårtensson <jonas.martensson@smartoptics.com>
Change-Id: I62969b7cbe5c9ba06cdbfa51ee5db87c372479ea

2 months agoMerge "Refactor TAPI ConvertORTopoToTapiTopo Junit"
Gilles Thouenon [Thu, 8 Feb 2024 15:10:23 +0000 (15:10 +0000)]
Merge "Refactor TAPI ConvertORTopoToTapiTopo Junit"

2 months agoAdd customer name to pathComputationRequest input 63/110163/3
orenais [Mon, 5 Feb 2024 13:54:33 +0000 (14:54 +0100)]
Add customer name to pathComputationRequest input

JIRA: TRNSPRTPCE-783
Change-Id: I16dbcf89e3626051cacee2e693cebe5795a6fdc2
Signed-off-by: orenais <olivier.renais@orange.com>
2 months agoRefactor some TAPI Junit tests code 02/110102/2
guillaume.lambert [Wed, 31 Jan 2024 11:47:59 +0000 (12:47 +0100)]
Refactor some TAPI Junit tests code

JIRA: TRNSPRTPCE:758
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I49fe0a517fd7c57616ddd32697cd4ab8fd931085

2 months agoRefactor TAPI ConvertORTopoToTapiTopo Junit 57/110157/3
guillaume.lambert [Tue, 6 Feb 2024 14:10:54 +0000 (15:10 +0100)]
Refactor TAPI ConvertORTopoToTapiTopo Junit

JIRA: TRNSPRTPCE-735
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I865c3b62363162ab34558fda8a1e2720a2d8e9e0

2 months agoRefactor TAPI ConvertORTopoToTapiFullTopo 53/110153/2
guillaume.lambert [Mon, 5 Feb 2024 20:53:43 +0000 (21:53 +0100)]
Refactor TAPI ConvertORTopoToTapiFullTopo

JIRA: TRNSPRTPCE-735
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I707ce33c5be5540a8fd7692c06d214fd4bb6d8ed

2 months agoUdate tapi dependency in Lighty 25/110125/3
orenais [Fri, 2 Feb 2024 16:45:00 +0000 (17:45 +0100)]
Udate tapi dependency in Lighty

JIRA: TRNSPRTPCE-759
Signed-off-by: orenais <olivier.renais@orange.com>
Change-Id: I36aacf6d41b8b46ac10366bbd306b1bd2733b8b2

2 months agoFix tox wiki dead URL false positives in CI 23/110123/1
guillaume.lambert [Fri, 2 Feb 2024 12:29:57 +0000 (13:29 +0100)]
Fix tox wiki dead URL false positives in CI

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I33ad8e4b482ea5c5249b138e25c150004263bf98

2 months agoRefactoring of Tapi Step3 47/109747/21
orenais [Thu, 21 Dec 2023 17:08:05 +0000 (18:08 +0100)]
Refactoring of Tapi Step3

Add characteristics introduced in T-API 2.4 starting with nodes.
Add Payload-structure and photonic-owned-node-edge-point-spec
to xpdr OTSi and OTS NEPs (at initialization, and onDataTreeChange)

JIRA: TRNSPRTPCE-759
Signed-off-by: orenais <olivier.renais@orange.com>
Change-Id: I71e5e148b9ac4cd94589bb85c39618effdde3aa4

2 months agoAdd Supported OM to PortMapping.yang 03/109403/21
orenais [Thu, 21 Dec 2023 17:08:05 +0000 (18:08 +0100)]
Add Supported OM to PortMapping.yang

JIRA: TRNSPRTPCE-707
Signed-off-by: orenais <olivier.renais@orange.com>
Change-Id: Ic3b42fe180a856e905f57f66691131b7324a7e3c

2 months agoRefactoring of Tapi Step2 02/109402/14
orenais [Thu, 21 Dec 2023 15:35:42 +0000 (16:35 +0100)]
Refactoring of Tapi Step2

Add createAvailable/SupportedPayloadStructure and photonic-owned
-node-edge-point-spec attribute in convertORToTapiTopology class

JIRA: TRNSPRTPCE-758

Signed-off-by: orenais <olivier.renais@orange.com>
Change-Id: I04821270cab8a1408032cea42e45292fdfe81ef1