transportpce.git
2 years agoRelease transportpce 4.1.0
jenkins-releng [Tue, 30 Nov 2021 10:26:30 +0000 (10:26 +0000)]
Release transportpce

2 years agoBump netconf dependency to 2.0.11 41/98741/1
Gilles Thouenon [Mon, 29 Nov 2021 07:19:53 +0000 (08:19 +0100)]
Bump netconf dependency to 2.0.11

Avoid having sshd hexadecimal traces in our logs.

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

2 years agoBump netconf dependency to 2.0.10 40/98740/1
Christophe Betoule [Tue, 23 Nov 2021 13:41:43 +0000 (14:41 +0100)]
Bump netconf dependency to 2.0.10

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

2 years agoMigrate portmapping functional tests to RFC8040 39/98739/1
guillaume.lambert [Thu, 28 Oct 2021 07:48:24 +0000 (09:48 +0200)]
Migrate portmapping functional tests to RFC8040

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

2 years agoRemove u prefix obsoleted by python 3 38/98738/1
guillaume.lambert [Fri, 29 Oct 2021 10:31:17 +0000 (12:31 +0200)]
Remove u prefix obsoleted by python 3

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

2 years agoEnforce autopep8 via pre-commit 37/98737/1
guillaume.lambert [Fri, 29 Oct 2021 09:51:54 +0000 (11:51 +0200)]
Enforce autopep8 via pre-commit

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

2 years agoRun pre-commit autoupdate 36/98736/1
guillaume.lambert [Fri, 29 Oct 2021 09:34:03 +0000 (11:34 +0200)]
Run pre-commit autoupdate

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

2 years agoIgnore python local imports in PEP8 linters 35/98735/1
guillaume.lambert [Fri, 29 Oct 2021 09:30:37 +0000 (11:30 +0200)]
Ignore python local imports in PEP8 linters

To work correctly, test_utils imports must be after
sys.path.append('transportpce_tests/common/')

The "  # nopep8" comment prevents autopep8 to move them before.

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

2 years agoNew functional test suite of otn-swith 2.2.1 24/98624/1
Gilles Thouenon [Wed, 15 Sep 2021 09:48:35 +0000 (11:48 +0200)]
New functional test suite of otn-swith 2.2.1

Create a new functional test suite testing the end-to-end 100GE service
management over two (or more) otn-switch. Two uses cases are verified:
- when two otn-switch are used as "AZ" node, at the termination of the
service
- when a thrid otn-switch is used as "intermediate" node, serving as an
otn-regenerator. In such a case, the 100GE/ODU4 service is supported by
two OTU4 server links.

Also update simulator configuration files to perform such a network
configuration with 3 ROADMs and 3 otn-switches. Adapt some functional
tests consequently.
Finally, rename tapi functional test to keep sequence logical.

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

2 years agoBump netconf dependency to 2.0.9 23/98623/1
Gilles Thouenon [Mon, 15 Nov 2021 10:16:43 +0000 (11:16 +0100)]
Bump netconf dependency to 2.0.9

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

2 years agoEnable 100GE service over multiple OTU4 links 20/98620/1
Gilles Thouenon [Thu, 16 Sep 2021 08:03:17 +0000 (10:03 +0200)]
Enable 100GE service over multiple OTU4 links

Creating/deleting a 100GE service over more than 2 otn-switches imposes
to be able to update bandwidth parameters of multiple supported OTU4
links in otn-topology. To that end, it is necessary to apply some
changes in the notification transmits from the renderer towards service
handler.
- introduce leaf-list link-id used in the case where we have more than 1
bidirection supported link
- adapt the updateOtnLinks method signature to take the list into acount
- add a new method in renderer/ModelMapingUtils to extract OTU links
directly from a service-path-description
- update import revision of transportpce-renderer model

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

2 years agoFix renderer for 100GE on intermediate OTN Switch 19/98619/1
Gilles Thouenon [Mon, 13 Sep 2021 11:13:54 +0000 (13:13 +0200)]
Fix renderer for 100GE on intermediate OTN Switch

This issue appeared when a 100GE service is routed through an
intermediate otn-switch. The otn-service-path rpc was not filled
correctly.
Fix also the monitored mode of the ODU4-CTP termination point when
supporting the 100GE client signal.

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

2 years agoAdapt PCE to compute a 100GE path on OTN Switch 18/98618/1
Gilles Thouenon [Mon, 13 Sep 2021 11:05:32 +0000 (13:05 +0200)]
Adapt PCE to compute a 100GE path on OTN Switch

Fixes some issues in PCE when an OTN switch is used as an intermediate
switch.

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

2 years agoAdapt renderer to manage 100GE service on Switch 12/98612/1
Gilles Thouenon [Thu, 9 Sep 2021 13:41:39 +0000 (15:41 +0200)]
Adapt renderer to manage 100GE service on Switch

- Add new method in OpenRoadmInterface221 to create ODU4 interface as
an HighOrder interface (to support 100GE flow)
- manage the creation/deletion of Ethernet, ODU4-Client, ODU4-Network
and odu-connection to support the 100GE service over an OTN switch
- manage the new 100GE_S service-type in OtnDeviceRendererService
- propagate the service-type inside the renderer in order to have to
determine it only once at the highest renderer level
(RendererServiceOperations)

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

2 years agoAdapt network module to update OTU links only 11/98611/1
Gilles Thouenon [Thu, 9 Sep 2021 13:23:29 +0000 (15:23 +0200)]
Adapt network module to update OTU links only

Add a new updateOtnLink method in NetworkModelService and implement it
to update bandwidth parameters of OTU4 links only when creating/deleting
100GE service that is not supported over a structured ODU4. This is the
case when the service is terminated on an OTN Switch.

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

2 years agoFix javadoc in CrossConnect interface 10/98610/1
Gilles Thouenon [Thu, 9 Sep 2021 13:02:32 +0000 (15:02 +0200)]
Fix javadoc in CrossConnect interface

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

2 years agoIntroduce the 100GE_S service type in PCE 09/98609/1
Gilles Thouenon [Tue, 7 Sep 2021 12:24:47 +0000 (14:24 +0200)]
Introduce the 100GE_S service type in PCE

This service-type allows path computation for a 100GE service terminated
on a 100G OTN switch.

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

2 years agoIntroduce new ServiceType to use otn-switch 08/98608/1
Gilles Thouenon [Tue, 7 Sep 2021 12:11:25 +0000 (14:11 +0200)]
Introduce new ServiceType to use otn-switch

Will allow 100GE services supported by 100G OTN switch.
Add also UT for ServiceType class.

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

2 years agoSet xponder-type in portmapping 07/98607/1
Gilles Thouenon [Thu, 7 Oct 2021 11:07:25 +0000 (13:07 +0200)]
Set xponder-type in portmapping

Set xponder-type for all ports of xponder to be able to distinguish
service-type 100GEs from 100GEm (and not only on network ports).

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

2 years agoMake lcp hash computation method public 06/98606/1
Gilles Thouenon [Wed, 6 Oct 2021 15:50:31 +0000 (17:50 +0200)]
Make lcp hash computation method public

To make it available by other modules, especially at the renderer level
if we want to compute the hash for sapi/dapi at the service
configuration step.

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

2 years agoFix rule format for ServiceUInterfacePoint 01/98601/1
Christophe Betoule [Mon, 25 Oct 2021 14:01:12 +0000 (16:01 +0200)]
Fix rule format for ServiceUInterfacePoint

- Align multi-layer topology SIP format to the one of the full
multi-layer topology.
- SIP format becomes an UUI derived from the combination of nodeId and
tp instead of an UUID derived from the nep UUID.
- Add UT consequently

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

2 years agoUpdate diagram and developer guide for Si and P 00/98600/1
orenais [Fri, 15 Oct 2021 13:27:22 +0000 (15:27 +0200)]
Update diagram and developer guide for Si and P

Change-Id: I269bf204d41d7dc711de955cdd03f5b700af604c

2 years agoTAPI functional tests 99/98599/1
Christophe Betoule [Wed, 13 Oct 2021 15:28:26 +0000 (17:28 +0200)]
TAPI functional tests

test the connectivity service creation and deletion for a 10GE service
between 10G MXPDR (PHOTONIC_MEDIA, ODU, DSR)

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

2 years agoEnable UUID and name in TAPI RPCs 98/98598/1
errea [Thu, 14 Oct 2021 15:12:04 +0000 (17:12 +0200)]
Enable UUID and name in TAPI RPCs

Improvement to enable the use of either UUID or name
when performing TAPI rpcs.

JIRA: TRNSPRTPCE-564
Signed-off-by: errea <errea@eurecom.fr>
Change-Id: I8d9a2c4c25514bad0be0115a53fd6fd243187780

2 years agoFix null Supported CEP Qual. on TAPI node creation 97/98597/1
Javier Errea [Mon, 11 Oct 2021 14:33:36 +0000 (16:33 +0200)]
Fix null Supported CEP Qual. on TAPI node creation

Added case for ODU0 supported interface in creation method
of Supported CEP Qual.

JIRA: TRNSPRTPCE-559
Signed-off-by: errea <errea@eurecom.fr>
Change-Id: I715c710af6518865ce8c798ace40d1a0579d90ec

2 years agoFix getTapiNode to avoid missing ONEPs 96/98596/1
Javier Errea [Fri, 8 Oct 2021 11:14:32 +0000 (13:14 +0200)]
Fix getTapiNode to avoid missing ONEPs

JIRA: TRNSPRTPCE-558
Change-Id: I36b7a3a93d51104681f60fdf5d536889cdb62683
Signed-off-by: errea <errea@eurecom.fr>
2 years agoFix wrong Supported CEP protocol qualifier 95/98595/1
Javier Errea [Tue, 29 Jun 2021 14:00:49 +0000 (16:00 +0200)]
Fix wrong Supported CEP protocol qualifier

TAPI nodes supported CEP qual. set based on interface
capability of the corresponding Termination Point

JIRA: TRNSPRTPCE-557
Signed-off-by: errea <errea@eurecom.fr>
Change-Id: I567cbcf537b876f47af8fe8dfcfed7911e79e3f0

2 years agoJunit tests for new TAPI module 94/98594/1
Javier Errea [Tue, 29 Jun 2021 10:03:58 +0000 (12:03 +0200)]
Junit tests for new TAPI module

- TAPI convert OR to TAPI test
- TAPI topology tests + utils
- TAPI Connectivity tests + utils
- TAPI provider test
- Fix TapiConnectivityImpl and TapiContext to enable tests
- Fix ConvertFullTopo OMS link creation

JIRA: TRNSPRTPCE-563
Signed-off-by: errea <errea@eurecom.fr>
Change-Id: Ie0796a438c26fed89997dbd2a73b979ede160517

2 years agoCode refactoring for OR-TAPI mapping 93/98593/1
Javier Errea [Tue, 29 Jun 2021 09:50:57 +0000 (11:50 +0200)]
Code refactoring for OR-TAPI mapping

- Nodes, NEPs, SIPs and Links have states according to OR objects
- Changed Name attribute of TAPI roadm NEPs -> testing purposes

JIRA: TRNSPRTPCE-467
Signed-off-by: errea <errea@eurecom.fr>
Change-Id: I4469e7244ed3a49b81b4dd2dac33814260eaa9a2

2 years agoBump upstream dependencies to P-SR1 92/98592/1
Gilles Thouenon [Wed, 27 Oct 2021 10:01:57 +0000 (12:01 +0200)]
Bump upstream dependencies to P-SR1

odlparent => 9.0.8
mdsal => 8.0.7
netconf => 2.0.7

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

2 years agoFix functional tests 2.2.1 sequence 91/98591/1
guillaume.lambert [Fri, 29 Oct 2021 07:32:59 +0000 (09:32 +0200)]
Fix functional tests 2.2.1 sequence

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

2 years agoRun autopep8 tox profile 90/98590/1
guillaume.lambert [Thu, 28 Oct 2021 08:50:05 +0000 (10:50 +0200)]
Run autopep8 tox profile

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

2 years agoExtend tapi feature documentation 89/98589/1
errea [Fri, 15 Oct 2021 12:25:39 +0000 (14:25 +0200)]
Extend tapi feature documentation

- Add description of the tapi extension into the developer
guide and update tapi-topology figure
- Add comments on the Topology Management - Service Handler
interface

JIRA: TRNSPRTPCE-469
Change-Id: I229e34d64bb3548eda51f89c2f1caef3550b3251
Signed-off-by: errea <errea@eurecom.fr>
2 years agoRemove unused imports detected by pylint 88/98588/1
guillaume.lambert [Thu, 28 Oct 2021 07:52:14 +0000 (09:52 +0200)]
Remove unused imports detected by pylint

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

2 years agoFix bug in OLM during spanloss computation 78/98078/2
Gilles Thouenon [Thu, 21 Oct 2021 08:24:51 +0000 (10:24 +0200)]
Fix bug in OLM during spanloss computation

Prevent from getting NPE when OTS interface terminating the
roadm-to-roadm link under spanloss determination does not exist in the
device.
- remove invocation of getOtsInterfaceName method on an OtsPmHolder null
  object, at the origin of the NPE thrown.
  This check is superfluous since OtsPmHolder.getOtsInterfaceName() can
  not be null if OtsPmHolder is not null.
- fix typo on OtsPmHolder variable names
- adapt LOG messages consequently

JIRA: TRNSPRTPCE-172
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Idec6fac25a33c7748ad4996e01211e04667b4fd5
(cherry picked from commit 220a7ba4f55d6c0ab5b1605b4b9d26cbcb4dcd9b)

2 years agoRemove upstream dependencies version overriding 00/98200/2
Gilles Thouenon [Wed, 20 Oct 2021 14:29:53 +0000 (16:29 +0200)]
Remove upstream dependencies version overriding

Remove some dependency versions that were overriding versions managed in
odlparent.

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

2 years agoRefactor Karaf builds for tests and tox.ini 99/98199/2
guillaume.lambert [Mon, 25 Oct 2021 10:15:02 +0000 (12:15 +0200)]
Refactor Karaf builds for tests and tox.ini

- use dedicated env files for Karaf listening ports settings
- create tox profiles to (re)build Karaf folders dedicated to tests
- adapt tests launcher and build scripts accordingly

This should avoid weird race conditions that can happen when performing
several tests locally.

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

2 years agoFix remaining PortMapping sonar issues 98/98198/2
guillaume.lambert [Tue, 19 Oct 2021 07:54:36 +0000 (09:54 +0200)]
Fix remaining PortMapping sonar issues

This refactoring intends to fix remaining sonar issues about
cyclomatic complexity and commented code in PortMapping classes.
To this purpose, it introduces a few intermediate functions.

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

2 years agoImprove container support in tox.ini 97/98197/2
guillaume.lambert [Fri, 3 Sep 2021 08:23:34 +0000 (10:23 +0200)]
Improve container support in tox.ini

- modify tox.ini to use dedicated scripts that can detect a local podman
  installation and use it instead of docker.
- replace nbiotifications docker-compose YAML file by a standalone
  container directly runnable with docker or podman.

Podman.io is a rootless and serverless alternative to Docker.io.
It avoids using sudo in many cases, what is a good thing.
It is now prefered to Docker.io by many linux distributions.

https://podman.io/
https://access.redhat.com/solutions/3696691
https://thesynack.com/posts/docker-compose-podman/
https://martinheinz.dev/blog/35

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

2 years agoFix: Disconnection of netconf node 96/98196/2
Gilles Thouenon [Wed, 13 Oct 2021 13:49:29 +0000 (15:49 +0200)]
Fix: Disconnection of netconf node

- Add protection to check that a node exists in TransportPCE datastores
before removing it. Appeared when the node connection remained in a
transient state, and that the node had not been created in PortMapping
and the different topologies.
- Add a new isNodeExist method in PortMapping to test presence or not of
a node in the datastore.

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

2 years agoFix some small issues pointed by Sonar 95/98195/2
guillaume.lambert [Tue, 12 Oct 2021 19:59:53 +0000 (21:59 +0200)]
Fix some small issues pointed by Sonar

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

2 years agoPortMapping Refactoring step 5 94/98194/2
guillaume.lambert [Mon, 11 Oct 2021 12:51:13 +0000 (14:51 +0200)]
PortMapping Refactoring step 5

This refactoring intends to optimize some parts of the code
and to fix sonar issues about cyclomatic complexity.
To this purpose, it introduces a few intermediate functions.

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

2 years agoPortMapping Refactoring step 4 93/98193/2
guillaume.lambert [Sun, 10 Oct 2021 21:03:43 +0000 (23:03 +0200)]
PortMapping Refactoring step 4

This refactoring intends to optimize some parts of the code
and to fix sonar issues about cyclomatic complexity.
To this purpose, it introduces a few intermediate functions.

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

2 years agoAdd a feature to start swagger 68/98068/3
Guillaume Lambert [Thu, 30 Sep 2021 17:32:20 +0000 (19:32 +0200)]
Add a feature to start swagger

JIRA: TRNSPRTPCE-534
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ic48b0970386074e83d99515630f9e15bae37bf78

2 years agoRemove OpenROADM ospf YANG model rev 2020-05-29 67/98067/2
guillaume.lambert [Fri, 8 Oct 2021 09:47:02 +0000 (11:47 +0200)]
Remove OpenROADM ospf YANG model rev 2020-05-29

This model is not used by the current codebase
and prevents swagger from working correctly.

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

2 years agoUse constants for PortMapping log messages Step 4 92/98192/1
guillaume.lambert [Fri, 8 Oct 2021 10:04:05 +0000 (12:04 +0200)]
Use constants for PortMapping log messages Step 4

Few PortMapping log messages were redundant and needed to be realigned.
They were fixed previously but this created new string for the words
"create" and "update" and "found".
Sonar complains they are used multiples times.
Since these words are shared among all PortMappingVersion*** classes,
migrating them to constants in the PortMappingUtils class is preferable.

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

2 years agoPortMapping Refactoring step 3 91/98191/1
guillaume.lambert [Fri, 1 Oct 2021 15:31:15 +0000 (17:31 +0200)]
PortMapping Refactoring step 3

This refactoring intends to optimize some parts of the code
and to fix sonar issues about cyclomatic complexity.
To this purpose, it introduces a few intermediate functions.

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

2 years agoBump project version to P-SR1 70/98170/1
Gilles Thouenon [Thu, 28 Oct 2021 08:42:53 +0000 (10:42 +0200)]
Bump project version to P-SR1

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

2 years agoUpdate PTL info 21/97821/1
guillaume.lambert [Thu, 21 Oct 2021 09:26:06 +0000 (11:26 +0200)]
Update PTL info

Gilles Thouenon has been approved as the new PTL of TransportPCE.

https: //wiki.opendaylight.org/display/ODL/2021+PTL+election

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I91e4d33ebd23b8c9c03a248719bfeee71621206f
(cherry picked from commit 23e184818681ff152351b97b9e3e066dbf3d94e1)

2 years agoUpdate version configurations 92/97792/1
Gilles Thouenon [Wed, 6 Oct 2021 08:52:29 +0000 (10:52 +0200)]
Update version configurations

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

2 years agoPortMapping Refactoring step 2 82/97682/4
guillaume.lambert [Wed, 29 Sep 2021 08:57:03 +0000 (10:57 +0200)]
PortMapping Refactoring step 2

This refactoring intends to optimize some parts of the code
and to fix sonar issues about cyclomatic complexity.
It introduces intermediate functions, sometimes by reevaluating log
levels and messages content.

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

2 years agoPortMapping Refactoring step 1 61/97661/4
guillaume.lambert [Fri, 17 Sep 2021 08:47:28 +0000 (10:47 +0200)]
PortMapping Refactoring step 1

This refactoring intends to optimize some parts of the code
and to fix sonar issues about cyclomatic complexity.

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

2 years agoB100G end-to-end functional tests 81/97581/4
Christophe Betoule [Tue, 21 Sep 2021 13:21:01 +0000 (15:21 +0200)]
B100G end-to-end functional tests

- test the service creation and deletion for a 400GE service between
two 400G TPDR
- test the service creation and deletion for 100GE MXPDR (OTUC4, ODUC4
and 100G)

JIRA: TRNSPRTPCE-506 TRNSPRTPCE-508
Signed-off-by: Christophe Betoule <christophe.betoule@orange.com>
Change-Id: I163dd7fe977e5c2579a4ec8035a41db405210ab0

2 years agoCode consolidation for end-to-end B100G services 80/97580/4
Christophe Betoule [Tue, 21 Sep 2021 13:18:05 +0000 (15:18 +0200)]
Code consolidation for end-to-end B100G services

Code consolidation to operate the end-to-end creation and deletion of
a 400GE service over a 400G TPDR and a 100GE service on a 400Gbps MPDR

JIRA: TRNSPRTPCE-505 TRNSPRTPCE-507
Signed-off-by: Christophe Betoule <christophe.betoule@orange.com>
Change-Id: I121dcc5a99f5c1f46b1a070cfa927a7af949ab69

2 years agoUse constants for PortMapping log messages Step 3 40/97640/4
guillaume.lambert [Sun, 26 Sep 2021 18:56:56 +0000 (20:56 +0200)]
Use constants for PortMapping log messages Step 3

Few PortMapping log messages were redundant and needed to be realigned.
Some others were triggering Sonar issues.
Since these messages are shared among all PortMappingVersion*** classes,
migrating them to constants in the PortMappingUtils class is preferable.

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

2 years agoUse constants for PortMapping log messages Step 2 97/97597/10
guillaume.lambert [Wed, 22 Sep 2021 12:56:01 +0000 (14:56 +0200)]
Use constants for PortMapping log messages Step 2

Few PortMapping log messages were redundant and needed to be realigned.
Some others were triggering Sonar issues.
Since these messages are shared among all PortMappingVersion*** classes,
migrating them to constants in the PortMappingUtils class is preferable.

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

2 years agoUse constants for PortMapping log messages Step 1 14/97514/3
guillaume.lambert [Thu, 16 Sep 2021 09:56:41 +0000 (11:56 +0200)]
Use constants for PortMapping log messages Step 1

Few PortMapping log messages were redundant and needed to be realigned.
Some others were triggering Sonar issues.
Since these messages are shared among all PortMappingVersion*** classes,
migrating them to constants in the PortMappingUtils class is preferable.

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

2 years agoFix most PortMapping Sonar issues 05/97505/9
guillaume.lambert [Thu, 16 Sep 2021 09:56:41 +0000 (11:56 +0200)]
Fix most PortMapping Sonar issues

- use static HashMap instead of switch/case in MappingUtils
- return directly boolean expressions instead of using if-else blocks
- log every catched exceptions
- perform minor refactoring and realignments

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

2 years agoAdd a PortMappingUtils class 09/97509/3
guillaume.lambert [Fri, 17 Sep 2021 09:05:43 +0000 (11:05 +0200)]
Add a PortMappingUtils class

- rename FnvUtils class to PortMappingUtils
- move createXpdrLogicalConnectionPort to it
- rename fnv1_64 function name to fnv1size64 to fulfill sonar regex rule
- add a new function to generate Degree TTP names
  and to fix a few sonar warnings

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

2 years agoBump upstream dependencies 44/97544/1
Gilles Thouenon [Mon, 20 Sep 2021 11:35:37 +0000 (13:35 +0200)]
Bump upstream dependencies

Adopt:
- odlparent 9.0.6
- mdsal 8.0.5
- netconf 2.0.5

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

2 years agoNotification Stream selection update 91/97191/12
Vachhani, Shweta (sv111y) [Thu, 12 Aug 2021 13:43:59 +0000 (09:43 -0400)]
Notification Stream selection update

- Update NetConfTopologyListener to read notification streams supported
  by device.
- Update the code to look for device support for OPENROADM Stream.
- If OPENROADM stream is not supported by device, code will subscribe
  to NETCONF stream
- Sample CONFIGs are updated to have NETCONF stream in device model

JIRA: TRNSPRTPCE-493
Signed-off-by: Vachhani, Shweta (sv111y) <sv111y@att.com>
Change-Id: Icb9b77c12597625b13b6b689d270813d601c3153

2 years agoFix hybrid functional tests race condition 98/97398/2
guillaume.lambert [Mon, 6 Sep 2021 09:10:03 +0000 (11:10 +0200)]
Fix hybrid functional tests race condition

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

2 years agoGet rid of YangParserFactory 46/97346/7
guillaume.lambert [Fri, 27 Aug 2021 09:07:58 +0000 (11:07 +0200)]
Get rid of YangParserFactory

org.opendaylight.yangtools.yang.model.parser.api.YangParserFactory is
deprecated and marked for removals according to compilation warnings.

PCE Junit tests do not require anymore mocking this Object.

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

2 years agoFix unused dependencies warnings after bump to P 10/97310/13
guillaume.lambert [Tue, 24 Aug 2021 10:44:47 +0000 (12:44 +0200)]
Fix unused dependencies warnings after bump to P

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

2 years agoFix/Ignore raw type warnings after Phosphorus bump 08/97308/9
guillaume.lambert [Tue, 24 Aug 2021 10:04:49 +0000 (12:04 +0200)]
Fix/Ignore raw type warnings after Phosphorus bump

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

2 years agoFix static methods warnings after Phosphorus bump 94/97294/9
guillaume.lambert [Mon, 23 Aug 2021 14:44:06 +0000 (16:44 +0200)]
Fix static methods warnings after Phosphorus bump

Static methods should be qualified by type name,
instead of by an expression.

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

2 years agoMerge changes from topic "97346"
Gilles Thouenon [Mon, 13 Sep 2021 15:32:32 +0000 (15:32 +0000)]
Merge changes from topic "97346"

* changes:
  Ignore fallthrough warning after Phosphorus bump
  Ignore serializable warnings after Phosphorus bump
  Phosphorus migration
  Fix GNPy functional tests
  Change absolute path of leafref in GNPy model
  Refactor OLM timers management

2 years agoIgnore fallthrough warning after Phosphorus bump 81/97281/9
guillaume.lambert [Fri, 20 Aug 2021 15:46:41 +0000 (17:46 +0200)]
Ignore fallthrough warning after Phosphorus bump

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

2 years agoIgnore serializable warnings after Phosphorus bump 80/97280/8
guillaume.lambert [Fri, 20 Aug 2021 15:35:04 +0000 (17:35 +0200)]
Ignore serializable warnings after Phosphorus bump

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

2 years agoPhosphorus migration 39/96939/13
Gilles Thouenon [Mon, 19 Jul 2021 13:58:00 +0000 (15:58 +0200)]
Phosphorus migration

Bump upstreams dependencies to:
- odlparent: 9.0.5
- mdsal: 8.0.4
- netconf: 2.0.3

Perform some code adaptations in all modules to allow project building.
- remove number of useless calls to .toString()
- fix issue regarding Tp Name in PCE now that Tp resource is correctly
  recognized as a TpId instead of an Object (thanks to an improvement of
  leafref management in mdsal)

Remove few useless dependencies.

Disable lighty.io runtime for functional tests
(no lighty version compatible with phosphorus dependencies yet)

Adapt GNPy UT resource file.

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

2 years agoFix GNPy functional tests 74/97374/1
guillaume.lambert [Thu, 2 Sep 2021 12:23:44 +0000 (14:23 +0200)]
Fix GNPy functional tests

"A-to-Z" and "Z-to-A" items have been swapped in arrays returned by
the PCE computation API during the updates to handle high rates.

GNPy functional test must support any order.

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

2 years agoChange absolute path of leafref in GNPy model 73/97373/3
Gilles Thouenon [Thu, 2 Sep 2021 09:10:12 +0000 (11:10 +0200)]
Change absolute path of leafref in GNPy model

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

2 years agoMerge changes Ic53c9f04,Iae5644f6,Ib3975607
Guillaume Lambert [Wed, 1 Sep 2021 12:29:27 +0000 (12:29 +0000)]
Merge changes Ic53c9f04,Iae5644f6,Ib3975607

* changes:
  Refactor buildcontroller tox profile
  Refactor OLM PowerMgmtImpl class
  Add documentation to use tox and functional tests

2 years agoRefactor OLM timers management 67/97367/3
guillaume.lambert [Tue, 31 Aug 2021 09:59:25 +0000 (11:59 +0200)]
Refactor OLM timers management

OLM timer values are defined by OpenROADM whitepaper specifications.
For this reason, they are hardcoded with constants in the current code.
Though, there are at least 2 reasons to make them configurable:

1- At least one vendor product needs more than the OpenROADM whitepaper
   recommandation because it is not supporting GainLoss with
   target-output-power.

2- The OlmUtils constants are patched in functional tests to speed-up
   tests because the simulators needs less time to set the OLM up than
   real devices.

As a consequence,
- remove OlmUtils timers constants
- remove related command to patch them in tests scripts
- create a new constructor PowerMgmtImpl to allow any timers values
- modify OLM OSGi blueprint to set default values for these timers
  (Default values are the ones recommended in the OpenROADM whitepaper)
- modify lighty build to retrieve these timers from new CLI options
- adapt tests scripts and assembly ressources accordingly

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

2 years agoRefactor buildcontroller tox profile 43/97343/3
guillaume.lambert [Thu, 26 Aug 2021 12:50:27 +0000 (14:50 +0200)]
Refactor buildcontroller tox profile

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

2 years agoRefactor Notification support for 7.1 devices 32/97332/1
guillaume.lambert [Thu, 26 Aug 2021 07:44:22 +0000 (09:44 +0200)]
Refactor Notification support for 7.1 devices

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

2 years agoNotification support for 7.1 devices 85/95985/4
Shweta Vachhani [Wed, 21 Apr 2021 18:10:35 +0000 (14:10 -0400)]
Notification support for 7.1 devices

1) New notification listeners classes for 7.1 model
2) Listener registration code for 7.1 listeners

JIRA: TRNSPRTPCE-446
Signed-off-by: Shweta Vachhani <sv111y@att.com>
Change-Id: I14a545bf7e48cadb8d16d038173f7b098c60fbc3

2 years agoUpdate NBINotifications docs 88/97188/13
Thierry Jiao [Thu, 12 Aug 2021 08:32:14 +0000 (10:32 +0200)]
Update NBINotifications docs

Updates the illustration "Example:service-create workflow" and the
description

Signed-off-by: Thierry Jiao <thierry.jiao@orange.com>
Change-Id: Icfb5da8d9ac489e790a4530694c73550bf837a29

2 years agoRefactor NBINotifications and serviceHandlerImpl 26/97126/11
Thierry Jiao [Tue, 10 Aug 2021 09:21:36 +0000 (11:21 +0200)]
Refactor NBINotifications and serviceHandlerImpl

This refactoring renames the models in YANG nbi-notifications file.
It also corrects a few typos, notifications and simplifies conditions.

Signed-off-by: Thierry Jiao <thierry.jiao@orange.com>
Change-Id: Ia23d44b2a158b4828b68c4a9ab2df0dcb121f034

2 years agoRefactor OLM PowerMgmtImpl class 00/97100/11
guillaume.lambert [Mon, 9 Aug 2021 10:06:27 +0000 (12:06 +0200)]
Refactor OLM PowerMgmtImpl class

The former implementation of OLM Power management ignored some spotbugs
warnings and triggered many alarms in SonarCloud, mainly about
commented-out lines of code and the SetPower method.
This method had 280 lines and its cyclomatic complexity was 43.
Current Sonar rules warns methods with more than 75 lines of code
and a cyclomatic complexity of 10.

As a consequence
- remove commented-out lines of code
- fix SpotBugs warnings and remove annotations to ignore them
- split the SetPower method into several pieces
- rework and optimize the code
- add TODO and FIXME comments for some parts of the code
  that may need to be reconsidered in the future

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

2 years agoAdd documentation to use tox and functional tests 94/97194/9
guillaume.lambert [Thu, 12 Aug 2021 15:05:01 +0000 (17:05 +0200)]
Add documentation to use tox and functional tests

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

2 years agoReenforce Lighty use in the gate 09/96809/7
guillaume.lambert [Tue, 6 Jul 2021 07:26:31 +0000 (09:26 +0200)]
Reenforce Lighty use in the gate

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

2 years agoEnforce sims download in the gate 10/96810/6
guillaume.lambert [Tue, 6 Jul 2021 09:06:02 +0000 (11:06 +0200)]
Enforce sims download in the gate

There is no point to perform functional tests suites if the related sims
download previously failed because of connectivity issues.

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

2 years agoImprove Karaf exec customization for tests 03/96803/5
guillaume.lambert [Mon, 5 Jul 2021 09:22:56 +0000 (11:22 +0200)]
Improve Karaf exec customization for tests

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

2 years agoImprove tox tests parallelization with Karaf 02/96802/4
guillaume.lambert [Mon, 5 Jul 2021 09:08:00 +0000 (11:08 +0200)]
Improve tox tests parallelization with Karaf

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

2 years agoRefactor Karaf post-install scripts for tests 01/96801/4
guillaume.lambert [Mon, 5 Jul 2021 08:35:17 +0000 (10:35 +0200)]
Refactor Karaf post-install scripts for tests

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

2 years agoAllow tox tests with Karaf to run in parallel 79/96779/5
Guillaume Lambert [Fri, 2 Jul 2021 13:24:57 +0000 (15:24 +0200)]
Allow tox tests with Karaf to run in parallel

- rework tox depends parameter to allow 2 instances of Karaf to be run
  in parallel
- modify buildcontroller process to add specific Karaf build folders
  for each test suite. Karaf instances are tighly coupled to their build
  folder. Using a separate log file is not enough to allow concurrent
  accesses to work properly.
- create an environment variable and adapt tests script accordingly

JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I7fb608546beaaa19f0b046809c451303bd64c097

2 years agoAllow Karaf to use an alternative websocket port 70/96770/5
Guillaume Lambert [Thu, 1 Jul 2021 20:00:39 +0000 (22:00 +0200)]
Allow Karaf to use an alternative websocket port

In tests post install script
- generate configuration file template for restconf nc-bierman02
- patch Karaf exec to generate configuration file from environment
  variable and template

Allowing the controller configuration to listen to alternative ports
is a commodity to run functional tests in parallel.

JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ib507f486103a9edcaa9a948644c3739ef7381460

2 years agoAllow Karaf to listen to alternative RMI ports 97/96697/8
guillaume.lambert [Mon, 28 Jun 2021 12:53:28 +0000 (14:53 +0200)]
Allow Karaf to listen to alternative RMI ports

In Karaf post-install script for tests
- generate configuration files templates for Karaf Management
- patch Karaf exec to generate configuration files from environment
  variables and templates

In tox.ini
- declare the related variables in SETENV parameters

Allowing the controller configuration to listen to alternative ports
is a commodity to run functional tests in parallel.

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

2 years agoAllow Karaf to listen to an alternative SSH port 96/96696/8
guillaume.lambert [Mon, 28 Jun 2021 12:41:50 +0000 (14:41 +0200)]
Allow Karaf to listen to an alternative SSH port

In Karaf post-install script for tests
- generate a configuration file template for Karaf Shell
- patch Karaf exec to generate configuration file from environment
  variable and template

In tox.ini
- declare the related variable in SETENV parameters

Allowing the controller configuration to listen to alternative ports
is a commodity to run functional tests in parallel.

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

2 years agoAllow Karaf to use altern. RESTCONF and akka ports 92/96692/6
guillaume.lambert [Mon, 28 Jun 2021 11:48:33 +0000 (13:48 +0200)]
Allow Karaf to use altern. RESTCONF and akka ports

In tests post install script
- generate configuration files templates for akka and RESTCONF
- patch Karaf exec to generate configuration files from environment
  variables and templates

Allowing the controller configuration to listen to alternative ports
is a commodity to run functional tests in parallel.

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

2 years agoCreate a Karaf post-install script for tests 89/96689/6
guillaume.lambert [Mon, 28 Jun 2021 08:54:10 +0000 (10:54 +0200)]
Create a Karaf post-install script for tests

- add a post-install shell script for Karaf and tests purpose
  This post-install script will be copied at build-time from
  src/main/assembly/ressources to target/assembly/ressources
- move the tox.ini sed command used to patch Karaf exec into this script
- update this command since there is no more quoting hell issues
- update tox.ini accordingly

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

2 years agoFallback gate to Karaf and sequence mode 19/96719/6
guillaume.lambert [Tue, 29 Jun 2021 18:17:58 +0000 (20:17 +0200)]
Fallback gate to Karaf and sequence mode

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

2 years agoAllow tox func tests suite to run in parallel 64/96664/20
Guillaume Lambert [Thu, 24 Jun 2021 13:50:15 +0000 (15:50 +0200)]
Allow tox func tests suite to run in parallel

- append PID to lighty controller log file
  This avoids parsing the file of another controller instance.
- increase various timeout limits
- rework tox "depends" parameters used to artificially create a sequel
  in parallel mode.
  tox -p auto strategy is only based on CPU core numbers and not memory
  nor any other parameter. This is not optimal since it can cause other
  resources starvation issues in the gate (but not locally).
  The new configuration proposed here chains in parallel:
    * PCE tests first then 1.2.1 device tests
    * 7.1 device tests first then 2.2.1 device tests
  This way, only 2 controller instances can be run simultaneously, what
  prevents resources from starvation in the gate.

JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I3a0a66a45a8e170b4554c9de769e1e65b96d224f

2 years agoSet different controller ports in tox tests suites 63/96663/15
Guillaume Lambert [Thu, 24 Jun 2021 13:01:55 +0000 (15:01 +0200)]
Set different controller ports in tox tests suites

JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I62243181953654c053166c8eb4f1fad82567f618

2 years agoAllow Lighty build to listen to alternative ports 62/96662/14
Guillaume Lambert [Thu, 24 Jun 2021 09:24:05 +0000 (11:24 +0200)]
Allow Lighty build to listen to alternative ports

- Add lighty configuration files templates for akka and RESTCONF
- Update lighty clean start script to generate from environment
  variables its configuration files (based on the new templates)

Allowing the controller configuration to listen to alternative ports
is a commodity to run functional tests in parallel.

JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ib49dcad14e464bdf60c70dbebf6a22c5eba06699

2 years agoRefactor tests launching procedure 65/96565/20
Guillaume Lambert [Fri, 18 Jun 2021 20:18:39 +0000 (22:18 +0200)]
Refactor tests launching procedure

The possibility to run test separately was lost during preliminary work
to prepare jobs parallelization.
This refactoring restores that feature but with a different approach.
For example, the equivalents of the old commands
    $ tox -e topoPortmapping
and
    $ tox -e portmapping,pce
are now
    $ tox -e tests121 topo_portmapping
and
    $ tox -e tests121 "portmapping pce"
(preceded by $ tox -e buildcontroller)

The possibility to choose the script launcher command from a global
variable have been added.
For example,
    $ export LAUNCHER='python3'
allows to replace 'nosetests --with-xunit' by a straight call to python3
to have more debug output during tests.

Tests order can also be changed by directly modifying script filenames
without touching tox.ini. Filenames have been modified here to add a
numbering and keep the tests current order.

JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I725d1dfac42bd309d18fbf87ff1c85bc1bce5be9

2 years agoOutsource PCE tests scripts into a separate folder 70/96570/12
Guillaume Lambert [Mon, 21 Jun 2021 07:56:11 +0000 (09:56 +0200)]
Outsource PCE tests scripts into a separate folder

PCE tests are loosely coupled to a specific version of OpenROADM devices
and does not launch any simulator contrary to other functional tests.
Moving them to a separate folder will ease tests management in the gate.

JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ide600a3c371b35114b594f119f3a10cb3aed310e

2 years agoOutsource tests scripts not in envlist 64/96564/10
Guillaume Lambert [Fri, 18 Jun 2021 12:13:52 +0000 (14:13 +0200)]
Outsource tests scripts not in envlist

Gnpy and nbinotifications tests requires docker and cannot be run
easily in the gate.
For this reason, they are not listed in tox.ini envlist.
Moving them to a separate folder will ease tests management in the gate.

JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I57b69bc3c4482c4ef2ed9d0aaeffd874b9925deb

2 years agoRefactor tox.ini to prepare parallelized jobs 59/96559/21
Guillaume Lambert [Fri, 18 Jun 2021 12:13:52 +0000 (14:13 +0200)]
Refactor tox.ini to prepare parallelized jobs

- split py3 profiles into several profiles
  and regroup tests by OpenROADM devices version
- separate the controller build from tests themselves in a dedicated
  profile
- use "depends" to state profiles dependencies.
  This is necessary so that tox can order tests sequences
  and decides which jobs can be run in parallel.
  This parameter requires tox versions >= 3.7.0

NB: at this stage, tests can no more be run standalone from a dedicated
tox profile.

JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I8d583f01003c4d9ee690d866ff602757392c3304