transportpce.git
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>
4 months agoAdd new functional PCE test to check bug-772 22/109322/3
Gilles Thouenon [Fri, 15 Dec 2023 10:10:33 +0000 (11:10 +0100)]
Add new functional PCE test to check bug-772

- Add a new pce functional test suite dedicated to check pce bugs. Check
the fix of TRNSPRTPCE-772 bug
- Add adequate topo and portmapping json input files

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

4 months agoPCE graph spectrum assignment slight refactoring 13/109313/1
guillaume.lambert [Thu, 14 Dec 2023 14:23:10 +0000 (15:23 +0100)]
PCE graph spectrum assignment slight refactoring

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

4 months agoSpectrum assignment skipped the last node in path 11/109311/2
Joakim Törnqvist [Thu, 7 Dec 2023 13:50:03 +0000 (13:50 +0000)]
Spectrum assignment skipped the last node in path

APIImpact

Corrects an issue were the last node in a path was not
taken into account during spectrum assignment.

A path consists of a list of source/destination node pairs,
eg [(N1,N2) (N2,N3) (N3,N4)].

Consider this network: [A] ----- [B],  were A and B are ROADMs.
During path computation the above example may produce a path
such as:
[(A-SRG1, A-DEG1) (A-DEG1, B-DEG1) (B-DEG1, B-SRG1)]

The bug caused the code to skip checking for available
spectrum on B-SRG1.

This was due to spectrum assignment is only processed
in the A-Z direction, combined with an iteration only
taking the source node into account.

JIRA: TRNSPRTPCE-772
Change-Id: Ia0822a1cdb0e4b5f67d9c9675e1203f0a0746ef6
Signed-off-by: Joakim Törnqvist <joakim.tornqvist@smartoptics.com>
5 months agoBump upstream dependencies to K-SR1 92/108992/1
Gilles Thouenon [Tue, 31 Oct 2023 12:03:24 +0000 (13:03 +0100)]
Bump upstream dependencies to K-SR1

Adopt:
- odlparent-13.0.7
- yangtools-11.0.4
- mdsal-12.0.3
- netconf-6.0.5
- transportpce-models-19.1.0

Also, update the netconf/device revision imports to rev231024.

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I154c6d4b457d0a0953024acce6bf94e945626657

6 months agoBump jgrapht upstream dependency to 1.5.2 55/108655/5
Gilles Thouenon [Wed, 25 Oct 2023 11:35:29 +0000 (13:35 +0200)]
Bump jgrapht upstream dependency to 1.5.2

- bump to the latests jgrapht version
- replace the KShortestSimplePaths deprecated algo by the new
YenKShortestPath one

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

6 months agoFix PCE bug to select the path proposed by GNPy 54/108654/5
Gilles Thouenon [Wed, 25 Oct 2023 11:30:09 +0000 (13:30 +0200)]
Fix PCE bug to select the path proposed by GNPy

Introduce the "loose" or "strict" mode to differentiate two ways to
manage include node constraints: either the path must simply include
some nodes whatever the order of node inside the list is, or the path
must be exactly equal to the list of nodes.

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

6 months agoAdd pce-constraint-mode enum in pce yang model 53/108653/4
Gilles Thouenon [Wed, 25 Oct 2023 11:24:11 +0000 (13:24 +0200)]
Add pce-constraint-mode enum in pce yang model

This enum will allow to select a way to manage hardconstraints, either
in a "loose" or "strict" mode.
Update import version.

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

6 months agoMerge "Update tox documentation link in tox-guide"
Guillaume Lambert [Tue, 31 Oct 2023 14:29:51 +0000 (14:29 +0000)]
Merge "Update tox documentation link in tox-guide"

6 months agoMerge "Fix port-mapping bug for 7.1 device-models"
Guillaume Lambert [Tue, 31 Oct 2023 14:19:59 +0000 (14:19 +0000)]
Merge "Fix port-mapping bug for 7.1 device-models"

6 months agoFix port-mapping bug for 7.1 device-models 52/107352/1
Balagangadhar (Bala) Bathula [Mon, 30 Oct 2023 19:09:03 +0000 (15:09 -0400)]
Fix port-mapping bug for 7.1 device-models

- For switch-client ports that have
  supported-interface-capabilties such as if-100GE, that does
  not contain otn-capabilities

JIRA: TRNSPRTPCE-771
Signed-off-by: Balagangadhar (Bala) Bathula <bb4341@att.com>
Change-Id: I785d251889b7ae5b5eb7d08f6ba7929342260481

6 months agoMerge changes I6a92bf21,Idd21a62d
Guillaume Lambert [Mon, 30 Oct 2023 07:48:43 +0000 (07:48 +0000)]
Merge changes I6a92bf21,Idd21a62d

* changes:
  Complement B100G_end2end functional test
  Fix PCE bug to select the correct client port

6 months agoUpdate tox documentation link in tox-guide 97/108697/1
Gilles Thouenon [Fri, 27 Oct 2023 07:08:21 +0000 (09:08 +0200)]
Update tox documentation link in tox-guide

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Iee9cd47d7e4674ae5e0f19d27c8dacdd13a2af58

6 months agoDon't use NotificationListener (TapiProvider) 21/108121/17
Matej Sramcik [Mon, 2 Oct 2023 08:59:19 +0000 (10:59 +0200)]
Don't use NotificationListener (TapiProvider)

Don't use NotificationListener in classes used by TapiProvider.
This is a part of NotificationListener to Listener<?> migration.

JIRA: TRNSPRTPCE-756
Change-Id: I087bc8dacbc710da39c308dc5fbef7028d0d6d56
Signed-off-by: Matej Sramcik <matej.sramcik@pantheon.tech>
6 months agoNBI notification support for service-result-rpc 84/106484/15
Balagangadhar (Bala) Bathula [Tue, 17 Oct 2023 20:18:14 +0000 (16:18 -0400)]
NBI notification support for service-result-rpc

- After the temp-serice-create, service-rpc-result notification
  is sent on the MD-SAL binding.
- However this notification should be available for north-bound
  (external) controller to indicate the transport assignment
  details.
- Add code to enable NBI notification for service-result-rpc.
- Modify nbi-notification YANG structure to include transport-assignment
  details of the temp-service-create.

JIRA: TRNSPRTPCE-751

Change-Id: I87ab30176136783e0a448cfbe48df0b7d29b6a31
Signed-off-by: Balagangadhar (Bala) Bathula <bb4341@att.com>
6 months agoAdd JSON assert dependency 50/107350/6
Balagangadhar (Bala) Bathula [Tue, 17 Oct 2023 20:04:33 +0000 (16:04 -0400)]
Add JSON assert dependency

Change-Id: I88d9f57683dd90965a70f12aac4b705291769a0a
Signed-off-by: Balagangadhar (Bala) Bathula <bb4341@att.com>
6 months agoUse mvn quick profile in other tests Karaf builds 31/108531/2
guillaume.lambert [Fri, 20 Oct 2023 09:01:01 +0000 (11:01 +0200)]
Use mvn quick profile in other tests Karaf builds

JIRA: TRNSPRTPCE-767
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ifc45add76952c692afee6e74b277851bd380b344

6 months agoMerge "Don't use NotificationListener (NbiNotifications)"
Guillaume Lambert [Fri, 20 Oct 2023 07:56:38 +0000 (07:56 +0000)]
Merge "Don't use NotificationListener (NbiNotifications)"

6 months agoComplement B100G_end2end functional test 26/108526/1
Gilles Thouenon [Thu, 19 Oct 2023 17:10:19 +0000 (19:10 +0200)]
Complement B100G_end2end functional test

Add new tests in hybrid/B100G_end2end functional test suite to check the
case of an OTN service terminated on different client ports on both A
and Z ends.

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

6 months agoFix PCE bug to select the correct client port 06/108506/3
Gilles Thouenon [Wed, 18 Oct 2023 17:34:05 +0000 (19:34 +0200)]
Fix PCE bug to select the correct client port

Introduce a clientA and clientZ into PceLink to allow having different
values at both ends of the path.

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

6 months agoFix tests/requirements.txt 05/108505/1
Guillaume Lambert [Wed, 18 Oct 2023 13:50:11 +0000 (15:50 +0200)]
Fix tests/requirements.txt

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

6 months agoMerge "Don't use NotificationListener (Servicehandler)"
Gilles Thouenon [Wed, 18 Oct 2023 06:42:47 +0000 (06:42 +0000)]
Merge "Don't use NotificationListener (Servicehandler)"

6 months agoDon't use NotificationListener (Servicehandler) 22/108122/16
Matej Sramcik [Mon, 2 Oct 2023 11:36:11 +0000 (13:36 +0200)]
Don't use NotificationListener (Servicehandler)

Don't use NotificationListener in classes
used by ServicehandlerProvider.
This is a part of NotificationListener to Listener<?> migration.

JIRA: TRNSPRTPCE-756
Change-Id: I90eba1664c2954e7e3954b7eabb47aa4d6c1843b
Signed-off-by: Matej Sramcik <matej.sramcik@pantheon.tech>
6 months agoUpdate aggregator POMs 57/108457/1
Gilles Thouenon [Mon, 16 Oct 2023 13:53:32 +0000 (15:53 +0200)]
Update aggregator POMs

Disable artifact processing for aggregator POM that don't produce any
useful artifact.

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I6862c9ab76bdf802aa3402f05d6d038997f4aabf

6 months agoDon't use NotificationListener (NbiNotifications) 18/108118/15
Matej Sramcik [Thu, 28 Sep 2023 09:31:46 +0000 (11:31 +0200)]
Don't use NotificationListener (NbiNotifications)

Don't use NotificationListener in NbiNotificationsListenerImpl.
This is a part of NotificationListener to Listener<?> migration.

JIRA: TRNSPRTPCE-756
Change-Id: I2b70fa611061179f5e1f4db33eede7fd3d05cd07
Signed-off-by: Matej Sramcik <matej.sramcik@pantheon.tech>
6 months agoUse maven quick profile in tox-verify job 54/108454/1
Gilles Thouenon [Mon, 16 Oct 2023 09:07:19 +0000 (11:07 +0200)]
Use maven quick profile in tox-verify job

Quick profile allows to disable test, code analysis, javadoc generation
and so on.

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

6 months agoDelay execution of the first PCE functional test 53/108453/1
Gilles Thouenon [Mon, 16 Oct 2023 09:04:36 +0000 (11:04 +0200)]
Delay execution of the first PCE functional test

It appears that the controller is not fully started when running this
first functional test. Delay a litle bit its execution to avoid false
negative results on the CI.

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

6 months agoMerge "Create OC path at 200Gbps and 300Gbps"
Gilles Thouenon [Sun, 15 Oct 2023 17:54:36 +0000 (17:54 +0000)]
Merge "Create OC path at 200Gbps and 300Gbps"

6 months agoCreate OC path at 200Gbps and 300Gbps 10/108410/1
Gilles Thouenon [Fri, 13 Oct 2023 12:19:33 +0000 (14:19 +0200)]
Create OC path at 200Gbps and 300Gbps

Allocate a valid service-path value for OC service at 200Gbps and
300Gbps.

JIRA: TRNSPRTPCE-766
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ib85fbce2108e52885e97ed13a6e2a77632706421
(cherry picked from commit a9a9f1d10a729739de6063a2a63cac28cec098d6)

6 months agofix inventory module configuration file 09/108409/1
Gilles Thouenon [Thu, 12 Oct 2023 16:19:28 +0000 (18:19 +0200)]
fix inventory module configuration file

With MariaDb driver 3.1.4 available in karaf-4.4.4, the databaseName
parameter has been removed from the DataSourceFactory.
Remove it from the inventory configuration file.

JIRA: TRNSPRTPCE-765
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I2277facb1d4f8da6cfb91b24da9429d3da881724
(cherry picked from commit bbf2cdace806182522d1fc4ba2d0482ace1aac35)

7 months agoDon't use NotificationListener (ServiceHandler) 19/108119/12
Matej Sramcik [Thu, 28 Sep 2023 12:26:13 +0000 (14:26 +0200)]
Don't use NotificationListener (ServiceHandler)

Don't use NotificationListener in ServiceHandlerListener.
This is a part of NotificationListener to Listener<?> migration.

JIRA: TRNSPRTPCE-756
Change-Id: Id67a411d17715cb9c9a3cf7127a058d3c742681a
Signed-off-by: Matej Sramcik <matej.sramcik@pantheon.tech>
7 months agoDo not return null for registered RPCs 57/108157/4
Gilles Thouenon [Mon, 2 Oct 2023 13:17:02 +0000 (15:17 +0200)]
Do not return null for registered RPCs

Some unimplemented RPCs return null and raise a NPE on
javax.servlet.
Return a RpcResult with error instead.

TRNSPRTPCE-763
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I4fb891e2d784a40350709f98471b990403472b3e

7 months agoDo not use RpcService in nbinotifications module 95/108095/3
Gilles Thouenon [Sun, 1 Oct 2023 17:42:14 +0000 (19:42 +0200)]
Do not use RpcService in nbinotifications module

- Migrate usage of RpcService to the new style yang.binding.Rpc-based
implementation for nbinotifications module
- Adapt lighty implementation

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

7 months agoDo not use RpcService in TPCE tapi module 93/108093/3
Gilles Thouenon [Sun, 1 Oct 2023 15:27:52 +0000 (17:27 +0200)]
Do not use RpcService in TPCE tapi module

- Migrate usage of RpcService to the new style yang.binding.Rpc-based
  implementation for tapi module
- Adapt lighty implementation

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

7 months agoMigrate RpcService usage in TapiNetworkUtilsImpl 92/108092/3
Gilles Thouenon [Sun, 1 Oct 2023 13:15:16 +0000 (15:15 +0200)]
Migrate RpcService usage in TapiNetworkUtilsImpl

- Start migrate usage of RpcService to the new style
yang.binding.Rpc-based implementation for tapi module
- Adapt lighty implementation

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

7 months agoDo not use RpcService in servicehandler module 84/108084/4
Gilles Thouenon [Sun, 1 Oct 2023 10:25:15 +0000 (12:25 +0200)]
Do not use RpcService in servicehandler module

- Migrate usage of RpcService to the new style yang.binding.Rpc-based
implementation for servicehandler module
- Adapt lighty implementation

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

7 months agoDo not use RpcService in TPCE pce module 82/108082/4
Gilles Thouenon [Sun, 1 Oct 2023 08:23:23 +0000 (10:23 +0200)]
Do not use RpcService in TPCE pce module

- Migrate usage of RpcService to the new style yang.binding.Rpc-based
implementation for pce module
- Remove PceProvider class which no longer serves any purpose
- Adapt lighty implementation

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

7 months agoTurn PceServiceRPCImpl into a Component 81/108081/2
Gilles Thouenon [Sun, 1 Oct 2023 07:33:58 +0000 (09:33 +0200)]
Turn PceServiceRPCImpl into a Component

Instead of instanciating this implementation from PceProvider,
convert it into a simple component.

TRNSPRTPCE-762
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I46bf06b7ee4d185907558b8c205077f823ff0b8e

7 months agoDo not use RpcService in TPCE renderer module 68/108068/4
Gilles Thouenon [Fri, 29 Sep 2023 17:18:56 +0000 (19:18 +0200)]
Do not use RpcService in TPCE renderer module

- Migrate usage of RpcService to the new style yang.binding.Rpc-based
implementation for renderer  module
- Remove renderer provider which no longer serves any purpose
- Adapt lighty implementation

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

7 months agoUpdate lighty.io build 93/108293/5
guillaume.lambert [Mon, 9 Oct 2023 13:30:15 +0000 (15:30 +0200)]
Update lighty.io build

Lighty 19.x branch is now available in the official repo.
And building lighty.io snapshot is no more required
since Lighty 19.0.0 is out on maven central.
- update lighty pom.xml to use it
- update build shell scripts accordingly
- improve these scripts with more comments and mvn configuration options

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

7 months agoFix lighty-core build 52/108252/4
guillaume.lambert [Thu, 5 Oct 2023 12:56:30 +0000 (14:56 +0200)]
Fix lighty-core build

Lighty.io repository structure changed.
lighty-core is no more a separate repository but a subfolder
of lighty.io repo.

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

7 months agoUpdate lighty.io clone URL 13/108213/1
Ivan Hrasko [Thu, 5 Oct 2023 08:40:05 +0000 (10:40 +0200)]
Update lighty.io clone URL

lighty.io has been moved from:
https://github.com/PantheonTechnologies/lighty-core.git
to:
https://github.com/PANTHEONtech/lighty

Update this URL to save one unnecessary redirect.

Change-Id: Ie8ec381109332a6825692d752d6a6348a4d4ed62
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
7 months agoMerge "Do not use RpcService in TPCE olm module"
Christophe BETOULE [Wed, 4 Oct 2023 07:11:17 +0000 (07:11 +0000)]
Merge "Do not use RpcService in TPCE olm module"

7 months agoMerge "Refactor OLM Junit tests"
Christophe BETOULE [Wed, 4 Oct 2023 07:10:56 +0000 (07:10 +0000)]
Merge "Refactor OLM Junit tests"

7 months agoMerge "Do not use RpcService in TPCE networkmodel module"
Christophe BETOULE [Wed, 4 Oct 2023 07:10:49 +0000 (07:10 +0000)]
Merge "Do not use RpcService in TPCE networkmodel module"

7 months agoMerge "Turn NetworkUtilsImpl into a Component"
Christophe BETOULE [Wed, 4 Oct 2023 07:10:42 +0000 (07:10 +0000)]
Merge "Turn NetworkUtilsImpl into a Component"

7 months agoFix new pylint-3.0.0 detected issues 69/108169/1
Gilles Thouenon [Tue, 3 Oct 2023 07:35:06 +0000 (09:35 +0200)]
Fix new pylint-3.0.0 detected issues

Refactor wait_until_log_contains method of test_utils taking advantage
of the with block in order to remove the finally block. That simplifies
the return flow.

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

7 months agoDo not use RpcService in TPCE olm module 40/108040/3
Gilles Thouenon [Fri, 29 Sep 2023 11:56:34 +0000 (13:56 +0200)]
Do not use RpcService in TPCE olm module

- Migrate usage of RpcService to the new style yang.binding.Rpc-based
implementation for olm module
- Remove olm provider which no longer serves any purpose
- Adapt lighty implementation

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

7 months agoRefactor OLM Junit tests 39/108039/1
Gilles Thouenon [Fri, 29 Sep 2023 09:49:12 +0000 (11:49 +0200)]
Refactor OLM Junit tests

- Redo the OlmPowerServiceRpcImplTest class using mock instead of
  instantiating all OLM objects
- remove useless stub classes
- use static import of Mockito in PowerMgmtTest to simplify readibility

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

7 months agoDo not use RpcService in TPCE networkmodel module 98/107998/4
Gilles Thouenon [Wed, 27 Sep 2023 15:59:37 +0000 (17:59 +0200)]
Do not use RpcService in TPCE networkmodel module

Migrate usage of RpcService to the new style yang.binding.Rpc-based
implementation for networkmodel module.

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

7 months agoTurn NetworkUtilsImpl into a Component 97/107997/2
Gilles Thouenon [Wed, 27 Sep 2023 15:34:37 +0000 (17:34 +0200)]
Turn NetworkUtilsImpl into a Component

Instead of instanciating this implementation from NetworkModelProvider,
convert it into a simple component.

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ie051ab82455d5d17864bfde5049f6f2b5c6f8e5a

7 months agoAdd DS op netconf connector support to test_utils 50/107850/7
guillaume.lambert [Wed, 13 Sep 2023 14:04:23 +0000 (16:04 +0200)]
Add DS op netconf connector support to test_utils

- update netconf edit-config transaction
- use updated version of lightynode 18.1.0.8
- activate lightynode for tapi functional tests

JIRA: TRNSPRTPCE-754
Co-authored-by: Christophe Betoule <christophe.betoule@orange.com>
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I21433eafbf1c32181078f8d4606e41605d43a6e8

7 months agoBump project version 67/107967/1
Gilles Thouenon [Mon, 25 Sep 2023 07:46:31 +0000 (09:46 +0200)]
Bump project version

Start Calcium development iteration

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I03d9a651094c277934a3e8adb0aae0c5138b3a5b

7 months agoBump transportpce-models version 52/107952/1
Gilles Thouenon [Fri, 22 Sep 2023 13:01:04 +0000 (15:01 +0200)]
Bump transportpce-models version

Adopt transportpce-models-19.0.0

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Id0816d59768e3dd99adcb68699db78b0aeda59cc

7 months agoReactivate disabled functional tests 45/107945/1
Gilles Thouenon [Thu, 21 Sep 2023 16:53:46 +0000 (18:53 +0200)]
Reactivate disabled functional tests

Reactivate few functional tests disabled due to the restconf bug
(https://jira.opendaylight.org/browse/AAA-265)

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I2963cf8084faba60d0199dd9f681698d9be1c18b

7 months agoBump upstream K dependencies 32/107932/2
Gilles Thouenon [Wed, 20 Sep 2023 18:53:03 +0000 (20:53 +0200)]
Bump upstream K dependencies

Adopt:
- yangtools-11.0.2
- mdsal-12.0.2
- netconf-6.0.4

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ib5ffe41b1f5bd0720db41c7a925eb81372697e2a

7 months agoMerge "Fix bug for temp-service-delete"
Gilles Thouenon [Thu, 21 Sep 2023 12:12:24 +0000 (12:12 +0000)]
Merge "Fix bug for temp-service-delete"

7 months agoFix bug for temp-service-delete 63/107163/6
Balagangadhar (Bala) Bathula [Mon, 31 Jul 2023 16:19:42 +0000 (12:19 -0400)]
Fix bug for temp-service-delete

- Currently, temp-service-delete does not work and creates a
  null-pointer exception, when used. The code uses service-list
  instead of temp-service-list to retrieve data for the delete
  operations.
- Add additional code to retrieve the data from the temp-service-list
- Update transport-pce-service-list after the temp-service is deleted
- Update temp-service-list after the temp-service-delete

JIRA: TRNSPRTPCE-750
Signed-off-by: Balagangadhar (Bala) Bathula <bb4341@att.com>
Change-Id: Ia12d67c8bfdc81b934ae2fa292d941e1ce775e3a

7 months agoLeverage urllib in test_utils sims REST connector 51/107851/1
guillaume.lambert [Wed, 13 Sep 2023 14:16:51 +0000 (16:16 +0200)]
Leverage urllib in test_utils sims REST connector

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

7 months agoOutsource sims DS direct op on CP to test_utils 36/107836/6
guillaume.lambert [Tue, 12 Sep 2023 14:23:12 +0000 (16:23 +0200)]
Outsource sims DS direct op on CP to test_utils

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

7 months agoFix some typos in functional tests naming 37/107837/2
guillaume.lambert [Tue, 12 Sep 2023 14:41:05 +0000 (16:41 +0200)]
Fix some typos in functional tests naming

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

7 months agoRevert "Skip TAPI feature and functional tests" 33/107833/2
guillaume.lambert [Tue, 12 Sep 2023 11:57:29 +0000 (13:57 +0200)]
Revert "Skip TAPI feature and functional tests"

This reverts commit 9b938fff9a4a1ef07a2df445ad3dd3f81dad2228.

Change-Id: I5885c2c856ed9f10b4dcfd8d0ddc1bd52fd94379
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
7 months agoBump upstream dependencies to latest version 72/107672/6
Gilles Thouenon [Fri, 1 Sep 2023 16:04:03 +0000 (18:04 +0200)]
Bump upstream dependencies to latest version

Adopt:
- odlparent-13.0.4
- yangtools-11.0.1
- mdsal-12.0.1
- netconf-6.0.3

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ibee6a917e4749447ed6ebfa9de890eef0ad54a17

7 months agoSkip tests in failure before deps version bump 90/107790/5
guillaume.lambert [Mon, 11 Sep 2023 12:57:20 +0000 (14:57 +0200)]
Skip tests in failure before deps version bump

The URL with attributes that contains slashes cause troubles
and ends up with a response status code 400 (invalid request).

- ignore related unittest in functional tests
- adapt test_utils to handle invalid request in these cases

JIRA: NETCONF-1154
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: If03a720fea6b2fcbd2a2089ad88e9580daf5d411

8 months agoMerge "Declare as final private classes"
Guillaume Lambert [Mon, 11 Sep 2023 12:03:46 +0000 (12:03 +0000)]
Merge "Declare as final private classes"

8 months agoMerge changes If1d8e649,I6c3cf5f5,I167b40dd
Guillaume Lambert [Mon, 11 Sep 2023 12:02:47 +0000 (12:02 +0000)]
Merge changes If1d8e649,I6c3cf5f5,I167b40dd

* changes:
  Switch tests sims to lightynode by default
  Proxify sims install shell scripts
  Add lightynode support to testutils.py

8 months agoDeclare as final private classes 71/107671/3
Gilles Thouenon [Fri, 1 Sep 2023 17:06:08 +0000 (19:06 +0200)]
Declare as final private classes

Latest checkstyle version (10.12.3) reports bug when private class
without constructor is not declared final. Fix it up.

Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ifdc824a9d5c5ac4aaba38b222a8240b8a9235a52

8 months agoMerge "Fix some compilation warnings"
Guillaume Lambert [Fri, 8 Sep 2023 08:11:31 +0000 (08:11 +0000)]
Merge "Fix some compilation warnings"

8 months agoMerge "Refactor SH ServiceDataStoreOperationsImpl"
Guillaume Lambert [Fri, 8 Sep 2023 08:11:24 +0000 (08:11 +0000)]
Merge "Refactor SH ServiceDataStoreOperationsImpl"

8 months agoSwitch tests sims to lightynode by default 12/107712/10
guillaume.lambert [Tue, 5 Sep 2023 13:33:29 +0000 (15:33 +0200)]
Switch tests sims to lightynode by default

- use lightynode as default sims
- adapt ROADM devices 1.2.1 sample configs
- in tox.ini force honeynode for tests with:
  - device notifications support
    The netconf client connector is ready for lightynode sims.
    But, some tests are still failing and are under investigation.
  - 7.1 devices
    Only 7.1 devices portmapping function tests pass.

JIRA: TRNSPRTPCE-754
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Co-authored-by: Christophe Betoule <christophe.betoule@orange.com>
Change-Id: If1d8e649e82df7b4c17b4c91fa2e13f77cf3e911

8 months agoMerge "Refactor Networkmodel test utils"
Guillaume Lambert [Thu, 7 Sep 2023 11:10:39 +0000 (11:10 +0000)]
Merge "Refactor Networkmodel test utils"

8 months agoMerge "Refactor SH ServiceDataUtils tests"
Guillaume Lambert [Thu, 7 Sep 2023 11:10:21 +0000 (11:10 +0000)]
Merge "Refactor SH ServiceDataUtils tests"

8 months agoProxify sims install shell scripts 11/107711/5
guillaume.lambert [Tue, 5 Sep 2023 13:17:00 +0000 (15:17 +0200)]
Proxify sims install shell scripts

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

8 months agoAdd lightynode support to testutils.py 10/107710/6
guillaume.lambert [Tue, 5 Sep 2023 10:10:57 +0000 (12:10 +0200)]
Add lightynode support to testutils.py

- add netconf_client dependency necessary for several tests
- add an installation shell script for lighty_node
- use sed in lightynode and hondenynoe install scripts to deal
  with 1.2.1 sample configs typo issue
- add an environment variable to configure a choice
  among lighty / honeycomb / no simulator
- update tox.ini consequently

JIRA: TRNSPRTPCE-754
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Co-authored-by: Christophe Betoule <christophe.betoule@orange.com>
Change-Id: I167b40dd3a1d9bd89cc472fa80899ba730f99c6a

8 months agoRefactor SH ServiceDataUtils tests 85/107685/3
guillaume.lambert [Mon, 4 Sep 2023 07:35:57 +0000 (09:35 +0200)]
Refactor SH ServiceDataUtils tests

Change-Id: Ie8aaa8db58c867c160477b98538b76ee7ac393fe

8 months agoRefactor SH ServiceDataStoreOperationsImpl 89/107689/3
guillaume.lambert [Mon, 4 Sep 2023 10:54:27 +0000 (12:54 +0200)]
Refactor SH ServiceDataStoreOperationsImpl

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

8 months agoRefactor Networkmodel test utils 70/107670/4
guillaume.lambert [Fri, 1 Sep 2023 14:28:45 +0000 (16:28 +0200)]
Refactor Networkmodel test utils

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

8 months agoRefactor OLM OlmTransactionUtils tests 86/107686/3
guillaume.lambert [Mon, 4 Sep 2023 07:36:19 +0000 (09:36 +0200)]
Refactor OLM OlmTransactionUtils tests

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

8 months agoFix some compilation warnings 06/107706/3
guillaume.lambert [Tue, 5 Sep 2023 08:38:06 +0000 (10:38 +0200)]
Fix some compilation warnings

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

8 months agoClean some functional tests comments & logs 09/107709/1
guillaume.lambert [Tue, 5 Sep 2023 10:01:22 +0000 (12:01 +0200)]
Clean some functional tests comments & logs

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

8 months agoSkip TAPI feature and functional tests 08/107708/1
guillaume.lambert [Tue, 5 Sep 2023 11:46:49 +0000 (13:46 +0200)]
Skip TAPI feature and functional tests

There is currently an issue with TAPI feature installation
preventing the CI to run correctly

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

8 months agoRefactor tox.ini 69/107669/2
guillaume.lambert [Fri, 1 Sep 2023 10:48:48 +0000 (12:48 +0200)]
Refactor tox.ini

- use one variable per line for tox3 support

One variable is the only syntax supported by both tox3 and tox4.

https: //tox.wiki/en/4.0.3/faq.html#tox-4-changed-ini-rules
https://github.com/tox-dev/tox/issues/2658

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

8 months agoUse version 13.1.0 of openroadm-network models 42/107542/6
Gilles Thouenon [Mon, 28 Aug 2023 16:05:25 +0000 (18:05 +0200)]
Use version 13.1.0 of openroadm-network models

- upgrade openroadm-network models from version 10.1.0 to version 13.1.0
- update import revision
- reactivate tapi UT

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

8 months agoUse version 13.1.0 of openroadm-service models 41/107541/5
Gilles Thouenon [Mon, 28 Aug 2023 08:56:17 +0000 (10:56 +0200)]
Use version 13.1.0 of openroadm-service models

- upgrade openroadm-service models from version 10.1.0 to version 13.1.0
- update import revision
- adapt few methods to manage both 10.1 and 13.1 objects (flexgrid,
ifcaptype)
- use latest version of catalog specification
- temporarily disable a few tapi UT while also migrating network models

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

8 months agoImprove Xtesting installation procedure 69/107569/1
guillaume.lambert [Wed, 30 Aug 2023 09:37:29 +0000 (11:37 +0200)]
Improve Xtesting installation procedure

- use a requirements.yml file to install ansible roles and collections

https://github.com/collivier/ansible-role-xtesting/pull/19 has been
fixed in the master branch
cf commit 1a5794a34beada2a2e69b9d46f933f2a286774e9

- remove related workaround notes from INSTALL.txt
- force to use collivier.xtesting master branch repo in requirements.yml
  until the fix is published in ansible official catalog

Change-Id: Ia4e33d5ea327bffef7ed214907823e2ee77e87b7

8 months agoBump lighty build to 19.0.0-SNAPSHOT for K 55/106955/7
guillaume.lambert [Fri, 21 Jul 2023 11:06:03 +0000 (13:06 +0200)]
Bump lighty build to 19.0.0-SNAPSHOT for K

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

8 months agoBump upstream dependencies to Potassium GA 29/106829/13
Robert Varga [Wed, 5 Jul 2023 21:03:17 +0000 (23:03 +0200)]
Bump upstream dependencies to Potassium GA

Adopt:
- odlparent-13.0.3
- yangtools-11.0.0
- mdsal-12.0.0
- netconf-6.0.1
- transportpce-models-19.0.0-SNAPSHOT

Also, adapt the expected serialized result for JsonStringConverterTest

Change-Id: Ic0c7f6de5fa16e778c0d3104ed27be76bb56378e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
8 months agoDeclare SuppressFBWarnings in imports 54/107554/1
Gilles Thouenon [Tue, 29 Aug 2023 14:18:40 +0000 (16:18 +0200)]
Declare SuppressFBWarnings in imports

Improve code readability

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

8 months agoSkip the temp-service-create if already exists 38/107338/3
Balagangadhar (Bala) Bathula [Tue, 8 Aug 2023 03:01:44 +0000 (23:01 -0400)]
Skip the temp-service-create if already exists

- If a temp-service with a commonId already exists in the
  data-store (temp-service-list), and if the temp-service-create
  is issued, then the controller should fail with an error
  message, indicating it already exists.
- Add code to check if the same commonId exists in the datastore
  and add a failed response.
- Add a new Junit test to check it

JIRA: TRNSPRTPCE-753
Signed-off-by: Balagangadhar (Bala) Bathula <bb4341@att.com>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I9f425e9febd8820f3053ecd5dfdd14f8a66279c4

9 months agoMerge "Add if-cap-support for If-OTU4-ODU4 ports (7.1)"
Guillaume Lambert [Thu, 27 Jul 2023 14:14:14 +0000 (14:14 +0000)]
Merge "Add if-cap-support for If-OTU4-ODU4 ports (7.1)"

9 months agoMerge "Update temp-service-list"
Guillaume Lambert [Thu, 27 Jul 2023 10:31:42 +0000 (10:31 +0000)]
Merge "Update temp-service-list"

9 months agoMerge "Bug in freq-map topology update"
Guillaume Lambert [Thu, 27 Jul 2023 10:31:23 +0000 (10:31 +0000)]
Merge "Bug in freq-map topology update"

9 months agoAdd a Xtesting entry to combine all tests cases 52/107052/4
guillaume.lambert [Tue, 25 Jul 2023 14:23:55 +0000 (16:23 +0200)]
Add a Xtesting entry to combine all tests cases

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

9 months agoImprove TPCE Xtesting tests cases 51/107051/2
guillaume.lambert [Tue, 25 Jul 2023 13:28:29 +0000 (15:28 +0200)]
Improve TPCE Xtesting tests cases

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

9 months agoUpdate temp-service-list 68/107068/1
Balagangadhar (Bala) Bathula [Tue, 25 Jul 2023 19:49:40 +0000 (15:49 -0400)]
Update temp-service-list

- If a service is implemented using service-create RPC and
  there exists an assoicated temp-service, then the temp-service-list
  needs to updated.
- Using commonId as the key, update the temp-service-list after the
  service is implmented (succeeds and becomes operational).

JIRA: TRNSPRTPCE-749
Signed-off-by: Balagangadhar (Bala) Bathula <bb4341@att.com>
Change-Id: I04b0652779dd620e4e86bcb3ccdd75743f90b177

9 months agoAdd a workaround note to Xtesting INSTALL.txt 31/107031/1
guillaume.lambert [Tue, 25 Jul 2023 11:17:29 +0000 (13:17 +0200)]
Add a workaround note to Xtesting INSTALL.txt

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

9 months agoBug in freq-map topology update 68/106968/1
Balagangadhar (Bala) Bathula [Sat, 22 Jul 2023 00:34:35 +0000 (20:34 -0400)]
Bug in freq-map topology update

- When a service-create is initiated after the temp-service-create
  the temp-service boolean in Renderer Listener will still be true
  and it would not update the freq-map in the topology.
- During the service-create operation, we need to make sure this
  boolean is initialized to false.

JIRA: TRNSPRTPCE-748
Signed-off-by: Balagangadhar (Bala) Bathula <bb4341@att.com>
Change-Id: I301f820aa4f81696f262e211523e9e629a468aa0

9 months agoAdd if-cap-support for If-OTU4-ODU4 ports (7.1) 35/106935/2
Balagangadhar (Bala) Bathula [Wed, 19 Jul 2023 17:37:27 +0000 (13:37 -0400)]
Add if-cap-support for If-OTU4-ODU4 ports (7.1)

- Currently the if-capability support is missing for IfOTU4ODU4
  type ports for 7.1 devices.
- Port-mapping fails to mount the NE with a null pointer expection when
  the supporting-interface-capabilities are not present in MappingUtilImpl.
- Add code to avoid null-pointer expection, even when the MappingUtilImpl
  does not contain required supported-if-cap.

JIRA: TRNSPRTPCE-747

Change-Id: I0270f99a93a02107a7c9a66f49e9825c65b06242
Signed-off-by: Balagangadhar (Bala) Bathula <bb4341@att.com>
9 months agoMerge changes from topic "xtesting"
Guillaume Lambert [Tue, 18 Jul 2023 11:57:31 +0000 (11:57 +0000)]
Merge changes from topic "xtesting"

* changes:
  Add INSTALL.txt and ansible playbook for Xtesting
  Xtesting Dockerfile init

10 months agoOptimize Binding->NormalizedNode transforms 31/106831/1
Robert Varga [Wed, 5 Jul 2023 22:19:48 +0000 (00:19 +0200)]
Optimize Binding->NormalizedNode transforms

We are running serialization twice. Store the result in a local variable
and check against that.

Change-Id: Ifeb3fd35f2c0f066015c1f262deefb2667459372
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>