transportpce.git
13 months agoMigrate servicehandler module to JUnit5 49/104649/3
Gilles Thouenon [Mon, 27 Feb 2023 15:22:03 +0000 (16:22 +0100)]
Migrate servicehandler module to JUnit5

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

13 months agoMigrate renderer module to JUnit5 48/104648/3
Gilles Thouenon [Mon, 27 Feb 2023 11:18:28 +0000 (12:18 +0100)]
Migrate renderer module to JUnit5

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

13 months agoFix string issue in OpenRoadmInterfaceException 47/104647/3
Gilles Thouenon [Mon, 27 Feb 2023 11:16:06 +0000 (12:16 +0100)]
Fix string issue in OpenRoadmInterfaceException

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

13 months agoMigrate pce module to JUnit5 46/104646/3
Gilles Thouenon [Mon, 27 Feb 2023 08:42:00 +0000 (09:42 +0100)]
Migrate pce module to JUnit5

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

13 months agoMigrate olm module to JUnit5 45/104645/3
Gilles Thouenon [Sun, 26 Feb 2023 14:37:16 +0000 (15:37 +0100)]
Migrate olm module to JUnit5

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

13 months agoMigrate networkmodel module to JUnit5 44/104644/3
Gilles Thouenon [Sun, 26 Feb 2023 13:37:44 +0000 (14:37 +0100)]
Migrate networkmodel module to JUnit5

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

13 months agoMigrate nbinotifications module to JUnit5 43/104643/3
Gilles Thouenon [Sat, 25 Feb 2023 20:19:13 +0000 (21:19 +0100)]
Migrate nbinotifications module to JUnit5

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

13 months agoMigrate dmaap-client module to JUnit5 42/104642/3
Gilles Thouenon [Sat, 25 Feb 2023 19:09:23 +0000 (20:09 +0100)]
Migrate dmaap-client module to JUnit5

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

13 months agoMigrate common module to JUnit5 41/104641/3
Gilles Thouenon [Sat, 25 Feb 2023 18:40:28 +0000 (19:40 +0100)]
Migrate common module to JUnit5

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

13 months agoBump latest argon upstream dependencies 62/104762/1
Gilles Thouenon [Fri, 3 Mar 2023 12:39:03 +0000 (13:39 +0100)]
Bump latest argon upstream dependencies

Adopt:
- odlparent-12.0.03
- yangtools-10.0.4
- mdsal-11.0.7
- netconf-5.0.3

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

13 months agoLeverage Map Ref in PCE PostAlgoPathValidator 79/104379/9
guillaume.lambert [Mon, 20 Feb 2023 12:27:46 +0000 (13:27 +0100)]
Leverage Map Ref in PCE PostAlgoPathValidator

CatalogUtils compute many signal parameters stored with double values.
They are passed to many methods arguments and modified in many places
in PCE PostAlgoPathValidator.
Leveraging Map references to group these double values would help to
simplify the code by avoiding long list of such parameters
and allowing their values to be modified directly inside intermediate
functions.

TODO:
Ideally, this work should be generalized to the whole CatalogUtils
class. Also as Double is immutable, it prevents from updating directly
Map values here. Apache proposes a MutableDouble alternative.
Of course, there is still the possibility to use double[] arrays.
But w/o key names to describe, the code reading will be harder.

JIRA: TRNSPRTPCE-725
Change-Id: Iff3cf98d82cb53dc3cc89714b92a2e3bf77157fb
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
13 months agoRefactor PCE graph PostAlgoPathValidator step 3 40/104340/12
guillaume.lambert [Thu, 9 Feb 2023 10:50:30 +0000 (11:50 +0100)]
Refactor PCE graph PostAlgoPathValidator step 3

checkOSNR() method is very long and has a hich cyclomatic complexity.
The main reason is that it proposes a common heuristic for both AZ & ZA
directions to compute the OSNR. This creates a lot of checks in this
function to identify the direction currently used.
Those multiple checks also affects the code overall efficiency.
- dispatch checkOSNR() content in two methods checkOSNRaz()
  and checkOSNRaz() to check the current direction only once.

The second reason is that it contains a for-loop where the iterator
value is hidden to decorrelate the indexes of the verticles retrieved
by the treatment
and also to back-pedal in the ZA direction case, what is now useless.
- unhide pathElement and merge it to the n iterator
- use decrement operator in the ZA direction for-loop case

Once that done, checkOSNRaz() and checkOSNRaz() looks very similar.
And it may look clever to regroup them again by inverting the order in
the edges list rather than using a decrement operator for the ZA
direction. But this is technically impossible w/o reintroducing many
direction checks because links are retrieved with the getter
link().getOppositeLink() in the ZA direction rather than simply
link() in the AZ direction...

Also the first two iterations and the last iteration of the loops
require specific treatments since they are at the edges of the line,
what causes checks at each iteration.
These other checks affect the code overall efficiency too.
- split the for-loop in three parts to avoid checking iterator value
  at each iteration
- raise an error for unsupported cases (degree at the edges and
  back to back xponder) and remove related code

The third reason is that the for-loop use a switch case to identify
each node type. Each block contains a different treatment to compute
the signal impairments & characteristics.
- create various intermediate functions to compute signal
  characteristics at each step and reduce case-blocks size.

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

13 months agoMerge changes I082f82ac,I951224b0,Icecd1b21,Ifafa74b6,I9b384c72, ...
Gilles Thouenon [Wed, 1 Mar 2023 10:19:10 +0000 (10:19 +0000)]
Merge changes I082f82ac,I951224b0,Icecd1b21,Ifafa74b6,I9b384c72, ...

* changes:
  Speed up functional tests execution
  Clean maven files
  Bump upstream dependencies to Argon
  Use NetworkTransactionService to access to the DS
  Remove close method from RequestProcessor
  Reimplement RequestProcessor
  Remove some forced transaction closure
  Change getter in ConvertORTopoToTapiFullTopo
  Update tapi device notification functional test

13 months agoSpeed up functional tests execution 85/104585/3
Gilles Thouenon [Sat, 25 Feb 2023 09:30:35 +0000 (10:30 +0100)]
Speed up functional tests execution

Some functional test suites remained configured with a rather long delay
between each test. Homogenize the whole to a rather short value.

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

13 months agoClean maven files 74/104174/15
Gilles Thouenon [Mon, 23 Jan 2023 17:48:27 +0000 (18:48 +0100)]
Clean maven files

To remove compilation warnings wrt dependency declarations (especially
test scope)

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

13 months agoBump upstream dependencies to Argon 73/104173/15
Gilles Thouenon [Fri, 20 Jan 2023 08:37:24 +0000 (09:37 +0100)]
Bump upstream dependencies to Argon

Adopt:
- odlparent-12.0.2
- yangtools-10.0.3
- mdsal-11.0.6
- netconf-5.0.2
- transportpce-models-18.0.0-SNAPSHOT

Also
- add netconf-topology dependency and adapt some netconf imports
- adapt GNPy UT
- adapt karaf message in functional tests

TODO: need to upgrade lighty to 18.0.0 when available

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

13 months agoImprove functional tests launcher pytest support 40/104140/5
guillaume.lambert [Wed, 25 Jan 2023 11:59:21 +0000 (12:59 +0100)]
Improve functional tests launcher pytest support

Using pytest from the python interpreter can generate unwanted behavior.

https://askubuntu.com/questions/1222958/
why-does-ctrl-c-not-kill-python-running-in-terminal

Typically when using Ctrl-C, subprocess are not properly killed.
This was not happening with nosetests before.
Unfortunately it has been superseded by nose2 which is not properly
working with the current testsuite and is not under active development.

- replace "python3 -m pytest" in launch script by pytest-3 or pytest
  when available.

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

13 months agoUse NetworkTransactionService to access to the DS 52/104552/5
Gilles Thouenon [Thu, 23 Feb 2023 11:38:27 +0000 (12:38 +0100)]
Use NetworkTransactionService to access to the DS

Adapt one GNPy UT to use NetworkTransactionService instead
of managing the transaction directly from a new databroker, since this
dependency is injected and available.

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

13 months agoRemove close method from RequestProcessor 84/104584/1
Gilles Thouenon [Sat, 25 Feb 2023 08:55:41 +0000 (09:55 +0100)]
Remove close method from RequestProcessor

Wit new implementation of RequestProcessor, transactions are better
managed, and their closure is assured by the commit. Letting the user
interfere in transaction management can make the application very
instable.
So, remove close method from NetworkTransactionService interface.

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

13 months agoReimplement RequestProcessor 83/104483/7
Gilles Thouenon [Wed, 22 Feb 2023 15:15:15 +0000 (16:15 +0100)]
Reimplement RequestProcessor

To fix datastore concurrency access between openroadm-topology update
and tapi-topology update threads.

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

13 months agoUpgrade device 7.1.0 sims version 21/104421/2
Gilles Thouenon [Thu, 16 Feb 2023 07:51:14 +0000 (08:51 +0100)]
Upgrade device 7.1.0 sims version

Use new sims-device 7.1.0 version to fix xslt issue related to regen
functionality.

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

13 months agoRemove some forced transaction closure 82/104482/1
Gilles Thouenon [Wed, 22 Feb 2023 14:42:06 +0000 (15:42 +0100)]
Remove some forced transaction closure

Forcing closure of all read and write transactions prevents from
finishing executing pending code by all threads that are waiting for the
locking mechanism to release.

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

13 months agoChange getter in ConvertORTopoToTapiFullTopo 81/104481/1
Gilles Thouenon [Wed, 22 Feb 2023 15:10:42 +0000 (16:10 +0100)]
Change getter in ConvertORTopoToTapiFullTopo

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

13 months agoUpdate tapi device notification functional test 80/104480/1
Gilles Thouenon [Wed, 22 Feb 2023 15:31:25 +0000 (16:31 +0100)]
Update tapi device notification functional test

Clean openroadm-topology and restore the device port state at the end of
the tests.

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

13 months agoRefactor PCE graph PostAlgoPathValidator step 2 16/104316/8
guillaume.lambert [Wed, 8 Feb 2023 16:59:37 +0000 (17:59 +0100)]
Refactor PCE graph PostAlgoPathValidator step 2

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

13 months agoFix docs Git Hooks dead URL 28/104428/1
guillaume.lambert [Thu, 16 Feb 2023 12:53:58 +0000 (13:53 +0100)]
Fix docs Git Hooks dead URL

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

14 months agoRefactor PCE graph PostAlgoPathValidator step 1 11/104311/3
guillaume.lambert [Wed, 8 Feb 2023 14:36:32 +0000 (15:36 +0100)]
Refactor PCE graph PostAlgoPathValidator step 1

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

14 months agoRemove common-blueprint.xml 53/104353/4
Robert Varga [Thu, 9 Feb 2023 17:06:23 +0000 (18:06 +0100)]
Remove common-blueprint.xml

Convert OpenRoadmInterfacesImpl into a Component, rendering the
blueprint empty.

Change-Id: I8c3274437352b63858c397a1004928f5b27c7106
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoTurn PortMappingImpl into a component 52/104352/4
Robert Varga [Thu, 9 Feb 2023 16:59:30 +0000 (17:59 +0100)]
Turn PortMappingImpl into a component

This is a simple component with three constituents. Split it out of
blueprint.
Also, remove portMapppingVersionXX parameter from
OpenRoadmUnterfacesImplXX and adapt code consequently.

Change-Id: I0036d0609276374538a26ec13fa03153446e8644
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoTurn CrossConnectImpl into a component 51/104351/4
Robert Varga [Thu, 9 Feb 2023 16:54:04 +0000 (17:54 +0100)]
Turn CrossConnectImpl into a component

This is a simple component, which instantiates three different objects.
Split it out of blueprint.

Change-Id: Id95c123fb641ea55483e49ff3465b35e0a4078c1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoRemove RequestProcessor.readTx 50/104350/4
Robert Varga [Thu, 9 Feb 2023 16:47:22 +0000 (17:47 +0100)]
Remove RequestProcessor.readTx

This field is completely unused, remove it.

Change-Id: I56f0334a2c33d32103be3774e8bb9a8a6fae893a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoTurn NetworkTransactionImpl into a component 49/104349/4
Robert Varga [Thu, 9 Feb 2023 16:44:28 +0000 (17:44 +0100)]
Turn NetworkTransactionImpl into a component

This is a simple component, which is using RequestProcessor internally,
split both out of blueprint.
Also, adapt UT consequently to remove usage of RequestProcessor.

Change-Id: I0f953793f2319bd8a639c17dcb3cd0a548a032c6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
14 months agoFix small issues in nbinotifications module 71/104371/3
Gilles Thouenon [Sun, 12 Feb 2023 08:19:26 +0000 (09:19 +0100)]
Fix small issues in nbinotifications module

- remove unused property in TopicManager
- remove unused variable in PublisherTest

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

14 months agoMake DeviceTransactionManagerImpl configurable 48/104348/5
Robert Varga [Thu, 9 Feb 2023 16:22:10 +0000 (17:22 +0100)]
Make DeviceTransactionManagerImpl configurable

Add an @ObjectClassDefinition and @Designate the configuration to use.
This the manager to be configured at runtime. It will be restarted
whenever the configuration changes.

Change-Id: I1fdd40c9fe11c3204af3794a3d0220b653973427
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoConvert DeviceTransactionManagerImpl into a cmpnt 47/104347/4
Robert Varga [Thu, 9 Feb 2023 16:02:59 +0000 (17:02 +0100)]
Convert DeviceTransactionManagerImpl into a cmpnt

This is a simplistic component, split it off from blueprint. While we
are at it, mark hard-coded constants for future tuning.

Change-Id: Ibedae091c20b4c41a269ee76bbc18cabc9e0d720
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoConvert MappingUtilsImpl into a Component 46/104346/2
Robert Varga [Thu, 9 Feb 2023 15:43:52 +0000 (16:43 +0100)]
Convert MappingUtilsImpl into a Component

This is as simple a component as they come: a single dependency and a
single service published. Split it out of the blueprint container.

Change-Id: Ib94603ca9e7f54639444cde9c1cba30967d3b23b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoRemove use of ODL blueprint extensions 45/104345/2
Robert Varga [Thu, 9 Feb 2023 15:27:24 +0000 (16:27 +0100)]
Remove use of ODL blueprint extensions

The only use here revolves around odl:type=default, which has been
deprecated for some time now. Eliminate these instructions and also
remove blueprint-cm namespace where it is not used.

Change-Id: I13e9ebf2749a0d5d0207de9a14c77f340f5ffd3f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoMerge "Refactor networkmodel serv. FrequenciesServiceImpl"
Gilles Thouenon [Mon, 13 Feb 2023 07:50:39 +0000 (07:50 +0000)]
Merge "Refactor networkmodel serv. FrequenciesServiceImpl"

14 months agoMerge "Refactor PCE networkanalyzer PceLink Test"
Gilles Thouenon [Mon, 13 Feb 2023 07:50:16 +0000 (07:50 +0000)]
Merge "Refactor PCE networkanalyzer PceLink Test"

14 months agoMerge "Refactor PCE networkanalyzer PceLink"
Gilles Thouenon [Mon, 13 Feb 2023 07:49:49 +0000 (07:49 +0000)]
Merge "Refactor PCE networkanalyzer PceLink"

14 months agoMerge "Refactor PCE graph tests"
Gilles Thouenon [Mon, 13 Feb 2023 07:49:18 +0000 (07:49 +0000)]
Merge "Refactor PCE graph tests"

14 months agoRefactor PCE NodeUtils 00/104300/2
guillaume.lambert [Tue, 7 Feb 2023 20:42:17 +0000 (21:42 +0100)]
Refactor PCE NodeUtils

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

14 months agoRefactor PCE networkanalyzer PceLink Test 89/104289/3
guillaume.lambert [Mon, 6 Feb 2023 21:12:50 +0000 (22:12 +0100)]
Refactor PCE networkanalyzer PceLink Test

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

14 months agoRefactor PCE networkanalyzer PceLink 77/104277/4
guillaume.lambert [Mon, 6 Feb 2023 16:13:09 +0000 (17:13 +0100)]
Refactor PCE networkanalyzer PceLink

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

14 months agoRefactor networkmodel serv. FrequenciesServiceImpl 70/104270/4
guillaume.lambert [Mon, 6 Feb 2023 15:24:58 +0000 (16:24 +0100)]
Refactor networkmodel serv. FrequenciesServiceImpl

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

14 months agoRefactor PCE graph tests 86/104286/1
guillaume.lambert [Mon, 6 Feb 2023 19:55:22 +0000 (20:55 +0100)]
Refactor PCE graph tests

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

14 months agoUse a coherent style in common InstanceIdentifiers 69/104269/1
guillaume.lambert [Mon, 6 Feb 2023 15:26:35 +0000 (16:26 +0100)]
Use a coherent style in common InstanceIdentifiers

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

14 months agoAutonomous impairment aware path computation 63/103663/21
orenais [Tue, 31 Jan 2023 16:00:04 +0000 (17:00 +0100)]
Autonomous impairment aware path computation

- in PostAlgoValidator, adapt checkOSNR to scan the path in both AtoZ
and ZtoA directions, and to calculate impairments using catalog
primitives
- add to CatalogUtils some complementary primitives that were missing
getPceRoadmAmpOutputPower
- add to PceOpticalNode and PceLink missing methods
- refactor GraphTest for integration test associated with path
computation and add portMapping2.json and or-base-topology.json with
adpted OMS parameters

JIRA: TRNSPRTPCE-517 TRNSPRTPCE-605
Change-Id: I00973dcd0898d786c421c46f031d9b2b915514e8
Signed-off-by: orenais <olivier.renais@orange.com>
14 months agoFix pylint issues 30/104230/1
guillaume.lambert [Thu, 2 Feb 2023 19:05:57 +0000 (20:05 +0100)]
Fix pylint issues

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

14 months agoAdd test_utils ODL startup opt-out support 79/104179/7
guillaume.lambert [Thu, 26 Jan 2023 19:16:52 +0000 (20:16 +0100)]
Add test_utils ODL startup opt-out support

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

14 months agoRestore TAPI feat install w/ Karaf client in tests 85/104185/1
guillaume.lambert [Sat, 28 Jan 2023 09:21:45 +0000 (10:21 +0100)]
Restore TAPI feat install w/ Karaf client in tests

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

14 months agoUse karaf client batch mode 78/104178/3
Sangwook Ha [Thu, 26 Jan 2023 19:10:38 +0000 (11:10 -0800)]
Use karaf client batch mode

Karaf 'client' command has a batch mode option ('-b') to take commands
from stdin without requiring TTY. Hence this option makes it possible
to run the command without getting affected by the Karaf terminal
property setup issue.

JIRA: TRNSPRTPCE-701
Change-Id: I885df3ee97fd528e151edcf98bb648ac9ebb2cc5
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
14 months agoRemove websocket config from post-install script 39/104139/3
guillaume.lambert [Wed, 25 Jan 2023 10:27:49 +0000 (11:27 +0100)]
Remove websocket config from post-install script

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

14 months agoUnenforce Lighty use in CI 37/104137/2
guillaume.lambert [Tue, 24 Jan 2023 13:40:24 +0000 (14:40 +0100)]
Unenforce Lighty use in CI

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

14 months agoWorkaround to install tapi feature in func tests 38/104138/3
guillaume.lambert [Wed, 25 Jan 2023 10:17:31 +0000 (11:17 +0100)]
Workaround to install tapi feature in func tests

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

14 months agoMerge "Refactor few LOG messages management"
Guillaume Lambert [Thu, 19 Jan 2023 08:10:24 +0000 (08:10 +0000)]
Merge "Refactor few LOG messages management"

14 months agoRefactor few LOG messages management 42/103942/3
orenais [Fri, 6 Jan 2023 15:12:32 +0000 (16:12 +0100)]
Refactor few LOG messages management

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

14 months agoBump upstream dependencies to Cl-SR2 08/103908/5
Gilles Thouenon [Tue, 3 Jan 2023 15:22:18 +0000 (16:22 +0100)]
Bump upstream dependencies to Cl-SR2

Adopt:
- odlparent-11.0.4
- yangtools-9.0.6
- mdsal-10.0.6
- netconf-4.0.5
- lighty-17.1.0
- transportpce-models-17.2.0

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

14 months agoMerge "Complement sims configuration files"
Gilles Thouenon [Wed, 18 Jan 2023 07:03:38 +0000 (07:03 +0000)]
Merge "Complement sims configuration files"

15 months agoCheck input node parameter of getPM RPC 90/103990/3
Gilles Thouenon [Wed, 11 Jan 2023 14:27:55 +0000 (15:27 +0100)]
Check input node parameter of getPM RPC

- do not invoke this RPC on a node which is not mounted to avoid a NPE
- make the RPC result being failed

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

15 months agoRewrite JUnit tests of OlmPowerServiceImplTest 89/103989/3
Gilles Thouenon [Wed, 11 Jan 2023 09:56:34 +0000 (10:56 +0100)]
Rewrite JUnit tests of OlmPowerServiceImplTest

- rewrite all the test class using mocks instead of instantiating
dependent objects
- remove all tests related to spanloss calculation mehtods since these
tests already exist in the dedicated OlmPowerServiceImplSpanLossBaseTest
class
- remove needless methods in OlmPowerServiceTpcImplUtil class

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

15 months agoFail power setup if node is not connected 09/103709/3
Jonas Mårtensson [Mon, 19 Dec 2022 21:54:47 +0000 (21:54 +0000)]
Fail power setup if node is not connected

Currently, if getting info from a node fails, power setup just
continues with the next node. This is wrong since power levels
have to be adjusted for each node in the path sequentially.

Instead, return false from setPower if getting node info fails.
Also adapt UT.

JIRA: TRNSPRTPCE-715
Change-Id: I44fdfbe871b320b2d9e2bc174c769d6a521fb50c
Signed-off-by: Jonas Mårtensson <jonas.martensson@smartoptics.com>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
15 months agoRewrite JUnit tests of PowerMgmt implementation 88/103988/3
Gilles Thouenon [Tue, 10 Jan 2023 09:27:25 +0000 (10:27 +0100)]
Rewrite JUnit tests of PowerMgmt implementation

- Rewrite all the PowerMgmtTest class using mocks instead of
instantiating dependent objects
- adapt OlmPowerServiceRpcImplUtils consequently

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

15 months agoRemove getNode method from OlmUtils 87/103987/3
Gilles Thouenon [Fri, 6 Jan 2023 16:02:12 +0000 (17:02 +0100)]
Remove getNode method from OlmUtils

- remove from OlmUtils getNode method which is redundant with
portmapping. Use that latter instead.
- adapt Junit tests
- disable PowerMgmtTest and OlmPowerServiceImplTest which need to be
  redone

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

15 months agoComplement sims configuration files 28/103928/2
Gilles Thouenon [Thu, 5 Jan 2023 09:40:31 +0000 (10:40 +0100)]
Complement sims configuration files

Add current-pm-description (pm-handling yang model) configuration for
ROADM-B and ROADM-C to be able to detect pm threshold crossing events.

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

15 months agoUse Maven 3.8.7 in CI CentOS install script 37/103937/2
Gilles Thouenon [Thu, 5 Jan 2023 16:36:51 +0000 (17:36 +0100)]
Use Maven 3.8.7 in CI CentOS install script

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

15 months agoFix maven files to inherit version from artifacts 14/103714/1
Gilles Thouenon [Tue, 20 Dec 2022 11:09:02 +0000 (12:09 +0100)]
Fix maven files to inherit version from artifacts

- use transportpce-models-artifacts in a dependencyManagement section
instead of fixing versions for each dependency from transportpce-models
- fix project version in transportpce-artifacts module and
features-transportpce

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

15 months agoBump transportpce-models version 13/103713/1
Gilles Thouenon [Mon, 19 Dec 2022 20:03:24 +0000 (21:03 +0100)]
Bump transportpce-models version

Adopt transportpce-models-17.1.0

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

15 months agoAdd missing dependencies for features 07/103707/1
Sangwook Ha [Sun, 18 Dec 2022 06:17:49 +0000 (22:17 -0800)]
Add missing dependencies for features

Features with configuration files do not have the dependencies specified
in the POM file causing failure unless the dependencies are already
installed.

Add the missing dependencies to the features to make them work on their
own.

Change-Id: Ia18adc4cb84b0c9a9d8d64a12baf0c00e2716027
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
15 months agoDeclare features in artifacts 06/103706/1
Gilles Thouenon [Sat, 17 Dec 2022 07:21:38 +0000 (08:21 +0100)]
Declare features in artifacts

Add features-transportpce in transportpce-artifacts

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

15 months agoClean few maven files 05/103705/1
Gilles Thouenon [Fri, 9 Dec 2022 14:59:19 +0000 (15:59 +0100)]
Clean few maven files

- adopt odlparent-lite for pom aggregator
- add missing yang-binding dependency in test-common

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

15 months agoAdd features-transportpce 04/103704/1
Gilles Thouenon [Fri, 9 Dec 2022 14:41:23 +0000 (15:41 +0100)]
Add features-transportpce

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

15 months agoAdd artifacts artifact to transportpce 03/103703/1
Gilles Thouenon [Fri, 9 Dec 2022 14:35:33 +0000 (15:35 +0100)]
Add artifacts artifact to transportpce

To list the project production artifacts.

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

15 months agoFix feature issues 02/103702/1
Gilles Thouenon [Wed, 7 Dec 2022 17:49:35 +0000 (18:49 +0100)]
Fix feature issues

Activating SingleFeatureTest for odl-transportpce-tapi feature reveals
an issue to install the feature.

- declare in tpce features the upstream feature dependencies
- use transportpce-models-artifacts
- activate features tests
- fix issue in transportpce-olm blueprint.xml
- fix olm issue in lighty
- move config files from features to bundles to have them installed
before testing the feature

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

16 months agoHandle missing LLDP nbr-list 12/103512/6
Jonas Mårtensson [Tue, 6 Sep 2022 07:04:59 +0000 (07:04 +0000)]
Handle missing LLDP nbr-list

In ROADM-to-ROADM link discovery, if LLDP subtree is present but
nbr-list is empty/missing, the code crashes from NullPointerException.

Check and return early if nbr-list is null.

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

16 months agoMerge "Handle missing spanloss in PCE without crashing"
Guillaume Lambert [Thu, 15 Dec 2022 09:28:01 +0000 (09:28 +0000)]
Merge "Handle missing spanloss in PCE without crashing"

16 months agoRefactor NbiNotificationsUtils 51/103651/3
Gilles Thouenon [Fri, 9 Dec 2022 18:22:44 +0000 (19:22 +0100)]
Refactor NbiNotificationsUtils

- Adapt tapi_nbinotifications functional test consequently
- speed-up the tapi_nbinotifications functional test

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

16 months agoRefactor functional tests lighty support 55/103655/1
guillaume.lambert [Sat, 10 Dec 2022 13:34:21 +0000 (14:34 +0100)]
Refactor functional tests lighty support

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

16 months agoFix netconf version 65/103265/1
Robert Varga [Tue, 6 Dec 2022 17:20:43 +0000 (18:20 +0100)]
Fix netconf version

Chlorine SR1 uses netconf-4.0.4, fix that up.

Change-Id: I3c66ffc37d918ca24ed8fe0dd2e62880ee4de52b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
16 months agoT-API notification JUnit test 32/100432/24
Javier Errea [Wed, 6 Apr 2022 13:32:30 +0000 (15:32 +0200)]
T-API notification JUnit test

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

16 months agoBump upstream dependencies to Cl-SR1 63/103263/1
Robert Varga [Sun, 4 Dec 2022 22:02:08 +0000 (23:02 +0100)]
Bump upstream dependencies to Cl-SR1

Adopt:
- odlparent-11.0.3
- yangtools-9.0.5
- mdsal-10.0.5
- netconf-4.0.4

Change-Id: I5d8d8b23ec060233a252bc710fe5209662bec908
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 2a1ef83f696ed4b0ff57da8fa59324c58262e8bf)

16 months agoHandle missing spanloss in PCE without crashing 15/103515/1
Jonas Mårtensson [Wed, 2 Nov 2022 10:05:07 +0000 (10:05 +0000)]
Handle missing spanloss in PCE without crashing

If spanloss is missing from OMS attributes in any span in the topology,
the PCE code crashes due to NullPointerException.

- Check for null before accessing spanloss when calculating OSNR

- Set the link to not valid when analyzing the network for path
  computation.

JIRA: TRNSPRTPCE-710

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

16 months agoMerge "Bump upstream dependencies to Cl-SR1"
Guillaume Lambert [Wed, 30 Nov 2022 15:17:31 +0000 (15:17 +0000)]
Merge "Bump upstream dependencies to Cl-SR1"

16 months agoMerge changes If443a46f,Ic236967c,Ia4ba687f
Christophe BETOULE [Wed, 30 Nov 2022 10:24:10 +0000 (10:24 +0000)]
Merge changes If443a46f,Ic236967c,Ia4ba687f

* changes:
  Activate lighty runtime for functional tests
  Adapt functional tests library to lighty build
  Upgrade lighty to Chlorine

16 months agoBump upstream dependencies to Cl-SR1 74/103174/5
Gilles Thouenon [Tue, 8 Nov 2022 16:51:20 +0000 (17:51 +0100)]
Bump upstream dependencies to Cl-SR1

Adopt:
- odlparent-11.0.2
- yangtools-9.0.2
- mdsal-10.0.3
- netconf-4.0.3
- transportpce-models-17.1.0-SNAPSHOT

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

16 months agoActivate lighty runtime for functional tests 58/103358/4
Gilles Thouenon [Thu, 24 Nov 2022 16:17:33 +0000 (17:17 +0100)]
Activate lighty runtime for functional tests

- activate lighty in all tpce functional tests
- use the lighty url
- adapt the lighty build script

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

16 months agoAdapt functional tests library to lighty build 57/103357/3
Gilles Thouenon [Thu, 24 Nov 2022 16:04:02 +0000 (17:04 +0100)]
Adapt functional tests library to lighty build

Lighty build in Chlorine requires new restconf url which are not totally
aligned with rfc8040 url used by ODL. Need to adapt the functional
library with this new url.

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

16 months agoUpgrade lighty to Chlorine 56/103356/2
Gilles Thouenon [Thu, 24 Nov 2022 15:57:40 +0000 (16:57 +0100)]
Upgrade lighty to Chlorine

- adopt lighty-app-parent-17.0.0
- add transportpce/models as upstream dependency in pom.xml
- adapt lighty code and unitary tests

JIRA: TRNSPRTPCE-705
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Co-authored-by: Christophe Betoule <christophe.betoule@orange.com>
Change-Id: Ia4ba687f80e99d9b4f73645efe79525f167abadb

16 months agoRefactor Renderer OpenRoadmInterfaces step 2 16/102616/5
guillaume.lambert [Wed, 12 Oct 2022 12:02:03 +0000 (14:02 +0200)]
Refactor Renderer OpenRoadmInterfaces step 2

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

16 months agoUpdate pre-commit and tox configuration 39/103239/1
guillaume.lambert [Wed, 16 Nov 2022 13:03:15 +0000 (14:03 +0100)]
Update pre-commit and tox configuration

- update pre-commit repo revision
- use new gitlint-ci pre-commit profile
  https://github.com/jorisroovers/gitlint/pull/192
- update pre-commit configuration accordingly
  especially remove gitlint profile from envlist
  since it is now supersed by gitlint-ci pre-commit profile

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

17 months agoUpdate Java version check in installMavenCentOS.sh 74/102874/2
nathan.ellsworth [Wed, 26 Oct 2022 06:05:15 +0000 (01:05 -0500)]
Update Java version check in installMavenCentOS.sh

Java version strings are of the form XX.YY.ZZ
For Java 8 and earlier, XX was always 1 and YY was major version number.
For Java 9 and later, XX is the major version number

OpenDaylight versions that supported Java 8 are now all EOL
and there is no more reason to check YY content.
- update installMavenCentOS.sh to retrieve only the XX parameter
- update shebang to /bin/sh since we are in the area

JIRA: TRNSPRTPCE-700
Change-Id: Id0cff27763d48be773286f1c1a8312bb50e52523
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
18 months agoChange log level in FrequenciesServiceImpl 49/102649/1
Gilles Thouenon [Wed, 12 Oct 2022 14:14:05 +0000 (16:14 +0200)]
Change log level in FrequenciesServiceImpl

Replace error level by warn level.

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

18 months agoMerge "Update link status of service-path-list"
Guillaume Lambert [Mon, 10 Oct 2022 09:47:01 +0000 (09:47 +0000)]
Merge "Update link status of service-path-list"

18 months agoMerge "Update user and developer guides for chlorine"
Guillaume Lambert [Mon, 10 Oct 2022 09:27:18 +0000 (09:27 +0000)]
Merge "Update user and developer guides for chlorine"

18 months agoUpdate user and developer guides for chlorine 82/102582/3
Gilles Thouenon [Fri, 7 Oct 2022 12:05:35 +0000 (14:05 +0200)]
Update user and developer guides for chlorine

- update all API url to be RFC8040 compliant
- mention swagger and tapi feature installation issues

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

18 months agoUpdate link status of service-path-list 75/102575/5
Gilles Thouenon [Wed, 5 Oct 2022 18:03:53 +0000 (20:03 +0200)]
Update link status of service-path-list

- Update status of link resources terminated on a tp when its status
changes.
- Test it in hybrid functional test

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

18 months agoIncrease project version to 7.0.0-SNAPSHOT 83/102583/1
Gilles Thouenon [Fri, 7 Oct 2022 12:42:51 +0000 (14:42 +0200)]
Increase project version to 7.0.0-SNAPSHOT

To start Argon developments.

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

18 months agoMerge changes I636d36dd,I9d376663,I9354fdd3,Ibc97626f,I8431955f, ...
Gilles Thouenon [Wed, 5 Oct 2022 07:31:02 +0000 (07:31 +0000)]
Merge changes I636d36dd,I9d376663,I9354fdd3,Ibc97626f,I8431955f, ...

* changes:
  Remove OpenROADM and TAPI models from project
  Remove openroadm and tapi models building
  Reintroduce karaf restart in tapi functional tests
  Fix bad imports
  Update transportpce-common-types model
  Remove useless yang model from test-common

18 months agoRemove OpenROADM and TAPI models from project 13/102513/1
Gilles Thouenon [Fri, 30 Sep 2022 12:03:20 +0000 (14:03 +0200)]
Remove OpenROADM and TAPI models from project

These models are now managed in transportpce/models project.

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

18 months agoRemove openroadm and tapi models building 98/102498/4
Gilles Thouenon [Mon, 26 Sep 2022 16:00:46 +0000 (18:00 +0200)]
Remove openroadm and tapi models building

Remove openroadm and tapi models building from TransportPCE project to
use them as an upstream dependency.
- adapt maven pom files
- remove from api transportpce yang model bad revision in imports that
  avoid having the latest ones
- fix few imports errors for SupportedIfCapability, OpucnTribSlotDef

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