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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
guillaume.lambert [Tue, 17 Aug 2021 23:02:02 +0000 (01:02 +0200)]
Bump mdsal dependency to 7.0.9 for Si SR2
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I02f954fb670939a5c7c3b40c24ad92568243f6f5
guillaume.lambert [Mon, 16 Aug 2021 14:14:21 +0000 (16:14 +0200)]
Bump Netconf dependency to 1.13.4 for Si SR2
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ide3ebba56df7ab28c2eebb51f10b51292f383e46
Guillaume Lambert [Fri, 13 Aug 2021 13:19:04 +0000 (13:19 +0000)]
Merge changes I74e9bee3,Ia1ad6f9c,Ic47363f6,I2bba2b18,I507097db, ...
* changes:
Refactor SH RendererListenerImpl class
Refactor DeviceRenderingTask classes
Refactor RendererServiceOperationsImpl step 2
Refactor OtnDeviceRendereringResult class
Refactor OtnDeviceRendererServiceImpl class
Refactor Renderer DeviceRenderingResult class
Refactor Renderer DeviceRendererServiceImpl class
Refactor Renderer ModelMappingUtils class
Refactor RendererServiceOperationsImpl class
Refactor common serviceType affectation
Refactor PCE graph PostAlgoPathValidator class
Refactor PCE calculation class
Vachhani, Shweta (sv111y) [Thu, 10 Jun 2021 21:46:22 +0000 (17:46 -0400)]
Fix OLM timer for Roadm crossconnect power setup
Current timer is 2 mins of warm up time.
The value recommended by OpenROADM device white paper is 20 seconds.
JIRA: TRNSPRTPCE-480
Signed-off-by: Vachhani, Shweta (sv111y) <sv111y@att.com>
Change-Id: I5e8ac03892e9d1c36214733967dc721f504d6542
guillaume.lambert [Fri, 6 Aug 2021 09:04:30 +0000 (11:04 +0200)]
Refactor SH RendererListenerImpl class
JIRA: TRNSPRTPCE-491
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I74e9bee317e5449e9c748986355a317d13cebb8a
guillaume.lambert [Fri, 6 Aug 2021 08:16:15 +0000 (10:16 +0200)]
Refactor DeviceRenderingTask classes
JIRA: TRNSPRTPCE-491
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ia1ad6f9cde2f6e68510bd62336c7c8e6b8419427
guillaume.lambert [Fri, 6 Aug 2021 06:59:25 +0000 (08:59 +0200)]
Refactor RendererServiceOperationsImpl step 2
JIRA: TRNSPRTPCE-491
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ic47363f657bb798d4a180833afc85edd345c0435
guillaume.lambert [Thu, 5 Aug 2021 19:56:25 +0000 (21:56 +0200)]
Refactor OtnDeviceRendereringResult class
JIRA: TRNSPRTPCE-491
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I2bba2b18d749f477be95e262d3110fdc7b530e7e
guillaume.lambert [Thu, 5 Aug 2021 15:36:58 +0000 (17:36 +0200)]
Refactor OtnDeviceRendererServiceImpl class
JIRA: TRNSPRTPCE-491
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I507097db8ce2fb7ae6ca369226fb727f1251a431
guillaume.lambert [Thu, 5 Aug 2021 13:43:53 +0000 (15:43 +0200)]
Refactor Renderer DeviceRenderingResult class
JIRA: TRNSPRTPCE-491
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I80720d752c072b1f821053716a2ae48692dca087
guillaume.lambert [Wed, 4 Aug 2021 14:46:01 +0000 (16:46 +0200)]
Refactor Renderer DeviceRendererServiceImpl class
JIRA: TRNSPRTPCE-491
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I5d2189933bcba56e4ecb631561b756ed02f6deef
guillaume.lambert [Wed, 4 Aug 2021 13:59:26 +0000 (15:59 +0200)]
Refactor Renderer ModelMappingUtils class
JIRA: TRNSPRTPCE-491
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: If64273d93997beb875496efac850b8efa2bd88e7
guillaume.lambert [Tue, 3 Aug 2021 19:47:18 +0000 (21:47 +0200)]
Refactor RendererServiceOperationsImpl class
JIRA: TRNSPRTPCE-489
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I7a65e2bd4e5c5f3e4f297304aa1cc5dba268d70c
guillaume.lambert [Tue, 3 Aug 2021 15:18:40 +0000 (17:18 +0200)]
Refactor common serviceType affectation
JIRA: TRNSPRTPCE-488
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I2cf7126f92d2501a95a8c7f64b0dc5ea16cd855d
guillaume.lambert [Mon, 2 Aug 2021 14:07:02 +0000 (16:07 +0200)]
Refactor PCE graph PostAlgoPathValidator class
JIRA: TRNSPRTPCE-477
JIRA: TRNSPRTPCE-478
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I248225a5912640fdd2f32b0142a213d4fc4284e6
guillaume.lambert [Mon, 2 Aug 2021 08:58:51 +0000 (10:58 +0200)]
Refactor PCE calculation class
Use switch/case structures for style coherency
and guard cause style to smooth indentation
and ternary operator to remove useless variable allocation.
JIRA: TRNSPRTPCE-485
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ibf7d7550b83b4c9e222415905045b4e0938842f6
Thierry Jiao [Thu, 24 Jun 2021 15:01:59 +0000 (17:01 +0200)]
Refactor NBINotification & add ServiceListener tests
- Refactor Subscriber and Publisher from nbinotifications
- Update NBINotifications unit tests
- Add new unit test for ServiceListener
- Update func test 'test_nbinotifications.py'
JIRA: TRNSPRTPCE-471
Signed-off-by: Thierry Jiao <thierry.jiao@orange.com>
Change-Id: Ie1161740432f12176acfb8b31658abc4a1190f62
Thierry Jiao [Mon, 14 Jun 2021 12:56:15 +0000 (14:56 +0200)]
Add service listener to notify Kafka
- Implement a new listener 'ServiceListener' that sends a
notification to the topic 'alarmservice' of the Kafka broker
when a service breakdowns or is restored
- Add a new RPC API named 'GetNotificationsAlarmService' to retrieve
notifications from the topic 'alarmservice'
- Add a new subscriber 'SubscriberAlarm' dedicated to read
alarm notifications from topics Kafka
- Add a new publisher 'PublisherAlarm' dedicated to write alarm
notifications from topics Kafka
- Update nbi-notifications unit tests
JIRA: TRNSPRTPCE-471
Signed-off-by: Thierry Jiao <thierry.jiao@orange.com>
Change-Id: I4b42c8a3282a805791ae6d9d046031dd385faaae
Gilles Thouenon [Mon, 12 Jul 2021 11:34:41 +0000 (13:34 +0200)]
Manage OTN links at 400G
- put otn-link-type as prefix for link name
- propagate and use otn-link-type to differentiate treatments between
100G and 400G supported links
- use min and max trib slot and trib port comming from path-description
to update ODU4/ODUC4 links
- adapt existing UT
jira: TRNSPRTPCE-492
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I4bef0c7edbe02f5b8cbee3f1db7bc32cd0746f59
Gilles Thouenon [Wed, 23 Jun 2021 09:49:41 +0000 (11:49 +0200)]
Move otn link update from renderer to SH
- align service-path delete on service-path create
- use DeviceRenderingTask to both create and delete optical service
- uses action to create service-path inputs
- use new link-tp object to notify otn-link termination-points to be
updated
- change updateOtnLink signature method to use new link-tp objects
notified by renderer
- use service-type to chose between service-path or otn-service-path
- adapt RendererListener of service handler to handle otn-link update
notifications received according to the service-type
JIRA: TRNSPRTPCE-491
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ic277dd716676053b62ca59c562e4077a8e45f92e
Gilles Thouenon [Wed, 23 Jun 2021 08:16:47 +0000 (10:16 +0200)]
Refactor: few renames in renderer
Rename some methods links to transportpce yang models to be more
explicit.
JIRA: TRNSPRTPCE-490
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I7ddf7aebac80842473abf9051aa1a344e74a2073
Gilles Thouenon [Fri, 18 Jun 2021 15:33:42 +0000 (17:33 +0200)]
Refactor: update transportpce yang models
- use grouping for nodes in transportpce-commpon-types
- add nodes in renderer notification
- put action as enumeration in renderer model
- add a link-tp grouping
- add a link-for-notif grouping to notify otn-topology for updates
- adapt code accordingly
JIRA: TRNSPRTPCE-490
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I8308173d6fe83ad65cc1b7737cded8986267316c
Gilles Thouenon [Fri, 18 Jun 2021 11:58:35 +0000 (13:58 +0200)]
Refactor: change the way to select renderer
- introduce service-type from common module (and already used by pce) to
choose adequate renderer (optical vs otn)
- update transportpce-device-renderer model by 1) replacing service-type
(which is confusing) in otn-renderer api by service-format which is
more appropriate 2) changing service-rate type to be aligned with
service-create rpc input
- adapt the code consequently
JIRA: TRNSPRTPCE-489
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ia506a1af3a9b98516a0c73ed1f4f6671eab04ab6
Gilles Thouenon [Thu, 17 Jun 2021 13:31:12 +0000 (15:31 +0200)]
Move serviceType affectation to common
ServiceType is needed by both PCE and Renderer. It makes sence to get it
easily from common module instead of duplicating the treatment to obtain
it from the service-create rpc inputs.
Add also specific getOtnServiceType method for otn-services.
JIRA: TRNSPRTPCE-488
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ie51255620623fb3e3030b25d1f6343455e427adb
Gilles Thouenon [Tue, 29 Jun 2021 07:18:15 +0000 (09:18 +0200)]
Manage race condition when deleting interface
Since rendering tasks are parallelized, an exception may occur if the
interface to delete has just been deleted by another task. Delete action
on the device datastore needs to be in a monolithic block.
JIRA: TRNSPRTPCE-487
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I20a25fa43f510e26f886287535ec5e1341345824
Christophe Betoule [Wed, 7 Jul 2021 14:29:24 +0000 (16:29 +0200)]
Update path description with OpucnTribSlots
- complement transportpce-pathDescription yang model
with min and max trib-slot in aToZ and zToA directions
- remove trib-port-number and trib-slot-number from
transportpce-pathDescription yang model and adapt the code
- set the min and max trib-slots in path description to be compliant
with otn-service-path
- update min and max trib-port and trib-slot calculation wrt
the different possible rates
- assign them in the correct format OpucnTribSlots (A.B)
- adapt pce400G UT and func tests accordingly
JIRA: TRNSPRTPCE-477
JIRA: TRNSPRTPCE-478
Signed-off-by: Christophe Betoule <christophe.betoule@orange.com>
Change-Id: I0020d7b539ca89504e4a8a285ef1de1f47c6b064
Christophe Betoule [Mon, 5 Jul 2021 11:22:50 +0000 (13:22 +0200)]
Modify spectrum assignment management in PCE
change the way to handle the spectrum assignment in the PCE module
by replacing the java class with a yang model
- create a new container in transport-pce yang model to manage
the spectrum assignment
- update all transportpce code consequently
JIRA: TRNSPRTPCE-485
Signed-off-by: Christophe Betoule <christophe.betoule@orange.com>
Change-Id: I1268961fa8a65b6b2cfc1bf941217e81affab69e
Gilles Thouenon [Fri, 9 Jul 2021 07:16:58 +0000 (09:16 +0200)]
Bump dependencies to Si SR2
- odlparent => 8.1.3
- mdsal => 7.0.8
- netconf => 1.13.3
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I99ad1c5c2f6a9d1e0b2f6b3694fe338756866000
Vachhani, Shweta (sv111y) [Mon, 14 Jun 2021 14:03:43 +0000 (10:03 -0400)]
OTN service delete - B100G
Update renderer code to support interface delete for 400G MPDR
1. Fix interface delete for OTN service for 400G MPDR
2. Add a method getsupported interface in OpenROADM Interfaces
3. Update OTN service delete code to delete 4*100G interfaces
JIRA: TRNSPRTPCE-481
Signed-off-by: Vachhani, Shweta (sv111y) <sv111y@att.com>
Change-Id: I91d0648c23e5eec9a858b3cbfd8daf29cbdb1853
Guillaume Lambert [Sun, 18 Jul 2021 20:14:58 +0000 (20:14 +0000)]
Merge changes If75e58ba,I48f074cd
* changes:
Update configuration files of 400G simus
Renderer Interface delete for B100G TPDR
Guillaume Lambert [Thu, 8 Jul 2021 12:49:05 +0000 (12:49 +0000)]
Merge "Change TAPI topology to use correct states"
Gilles Thouenon [Wed, 26 May 2021 13:01:43 +0000 (15:01 +0200)]
Update configuration files of 400G simus
Change configuration files for XPDR-A2 and XPDR-C2 nodes to have:
- in shelf-slot1, the 400G Tpdr, equiped with a 400GE client pluggable
and a 400G line pluggable
- in shelf-slot2, the 400G Mpdr, equiped with two 100GE client ports on
client card, and one 400G line pluggable
- adapt functional tests accordingly
JIRA: TRNSPRTPCE-433
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: If75e58bab5356b03d163c4f6e8d686f33e6e7b3b
Vachhani, Shweta (sv111y) [Mon, 17 May 2021 15:25:16 +0000 (11:25 -0400)]
Renderer Interface delete for B100G TPDR
Update existing renderer code to delete interfaces created during
service provisioning for B100G TPDR
Signed-off-by: Vachhani, Shweta (sv111y) <sv111y@att.com>
Change-Id: I48f074cde335a31aa23534a833724b5413f315c5
Guillaume Lambert [Wed, 7 Jul 2021 18:01:29 +0000 (18:01 +0000)]
Merge changes from topic "parallel"
* changes:
Reenforce Lighty use in the gate
Remove odl-netconf-connector-all dep from feats
Remove useless netconf dependencies from features
Unenforce Lighty use in the gate
Guillaume Lambert [Fri, 2 Jul 2021 17:46:36 +0000 (17:46 +0000)]
Merge "Handle missing port power advertisement"
Guillaume Lambert [Wed, 30 Jun 2021 09:30:58 +0000 (11:30 +0200)]
Reenforce Lighty use in the gate
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I599653f1a560f5f48baae1fd8423cf40888f716b
Guillaume Lambert [Wed, 30 Jun 2021 08:33:13 +0000 (10:33 +0200)]
Remove odl-netconf-connector-all dep from feats
odl-netconf-connector-all dependency in features introduces the other
feature odl-netconf-callhome-ssh that comes with the bundle
callhome-provider. This bundle is not needed by TransportPCE and
consumes a listening port. Though, odl-netconf-callhome-ssh also brings
a third feature called odl-netconf-topology, which is needed by the
OpenDaylight netconf driver to work properly with Karaf.
As a consequence, the dependency odl-netconf-connector-all can
advantageously be replaced by the two dependencies odl-netconf-connector
and odl-netconf-topology.
JIRA: TRNSPRTPCE-482
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I90b96f8f92bd6936aa028df4edf5a9171b2f7e6f
Balagangadhar Bathula [Tue, 29 Jun 2021 17:49:52 +0000 (13:49 -0400)]
Handle missing port power advertisement
- Change condition for missing transponder port power capabilities
JIRA: TRNSPRTPCE-317
Change-Id: I749697a6ddf20a2319153cfbedb16dd5a786278a
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
guillaume.lambert [Fri, 25 Jun 2021 11:53:02 +0000 (13:53 +0200)]
Remove useless netconf dependencies from features
odl-restconf-all and odl-netconf-all dependencies in features introduce
useless bundles such as odl-mdsal-apidocs.
These dependencies can simply be replaced by odl-restconf and
odl-netconf-connector-all.
JIRA: TRNSPRTPCE-482
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I8b7c597f65a35e52dba526a263e8be6e6e69ff6a
Guillaume Lambert [Wed, 30 Jun 2021 08:28:47 +0000 (10:28 +0200)]
Unenforce Lighty use in the gate
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ib8e8dc28e7a0679f4266022b3cefbee40290cff5
Balagangadhar Bathula [Tue, 25 May 2021 02:57:26 +0000 (22:57 -0400)]
Renderer support for higher rates
- Add OTUCn and ODUCn infrastructure service support
- Enable infrastructure services for 4x100G muxponder
JIRA: TRNSPRTPCE-472
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
Change-Id: I1da21b3b64004f7ee6d3cee5d7ab065e6e567c1e
Peter Heringer [Tue, 8 Jun 2021 07:04:11 +0000 (09:04 +0200)]
Change TAPI topology to use correct states
- Change NEPs to use correct administrative and operational states
- Change SIPs to use correct administrative and operational states
- Change TAPI xpdr transitional links to use correct states
- Change TAPI ROADM-to-ROADM links to use correct states
- Change TAPI xpdr-to-ROADM links to use correct states
JIRA: TRNSPRTPCE-465
Change-Id: I5eefe82e74eb54b4212efc6a5a830a4ddaceff4a
Signed-off-by: Peter Heringer <peter.heringer@nokia.com>
Balagangadhar Bathula [Mon, 10 May 2021 19:25:02 +0000 (15:25 -0400)]
Distinguish flex vs fixed for PCE 400G
- PCE is not picking the flex vs fixed grid correctly
- Enable mc-capabilities for XPDR node type
- In addition to slot-width add central-frequency-granularity to
distinguish fixed/flex grid.
- Add functional test to check mc-capability-profile on 7.1 XPDR device
- Add mc-capability profile in the operational data for XPDR-C1
JIRA: TRNSPRTPCE-452
Change-Id: I2c7adf862ccaeec4829a62faad56d94ad2616f38
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
Balagangadhar Bathula [Mon, 10 May 2021 17:47:02 +0000 (13:47 -0400)]
Change the slot width for 400G
Set the SRG/DEG NMC slot widths to 75GHz rather than 80 GHz
JIRA: TRNSPRTPCE-455
Change-Id: Ib702730ced0d10254a18178d458538e8b147ec05
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
Balagangadhar Bathula [Mon, 10 May 2021 17:14:38 +0000 (13:14 -0400)]
Enable 400G service rate in device renderer
JIRA: TRNSPRTPCE-454
Change-Id: I25c1c4fd72758d8d0574b0a293eeb3fab180847e
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
guillaume.lambert [Wed, 23 Jun 2021 14:23:27 +0000 (16:23 +0200)]
Refactor PCE Update OTUC4, ODUC4 and 100GE MXPDR
This refactoring avoids multiple redundant variables checks.
JIRA: TRNSPRTPCE-463
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Idf410e226e7b33fc377f8b882edf0c9739f5a82c
Christophe Betoule [Tue, 11 May 2021 08:45:19 +0000 (10:45 +0200)]
Update PCE for OTUC4, ODUC4 and 100GE MXPDR
- update StringConstants with new service types for 400G MXPDR
- update optical PCE to manage these new service types
- refactor PceCalculation to optimize service-type affectation
- create 100GE_T and 100GE_M to differentiate respectively 100GE TPDR
from 100GE MXPDR client port
- update tribslot to 20 for 100GE MXPDR client port
- update UT consequently
- update PCE func tests
JIRA: TRNSPRTPCE-463 TRNSPRTPCE-453
Signed-off-by: Christophe Betoule <christophe.betoule@orange.com>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
Co-authored-by: Balagangadhar Bathula <bb4341@att.com>
Change-Id: Ibf7a9da47b6b9424e41205659fc996d2eddebaee
Christophe Betoule [Wed, 12 May 2021 15:24:25 +0000 (17:24 +0200)]
Update transportpce-topology YANG model
- update otn-link-type enum for higher rates
- update all transportpce code consequently
JIRA: TRNSPRTPCE-458
Signed-off-by: Christophe Betoule <christophe.betoule@orange.com>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I03d884dcb8dabb6ffd2c5cad8879efc213d9b56f
Gilles Thouenon [Fri, 7 May 2021 08:41:18 +0000 (10:41 +0200)]
Update portmapping with switching-pool from notif
Update the switching-pool-lcp list of portmapping from a
change-notification received from a 7.1 muxponder device. Manage such a
7.1 device notification to create, or update if object already exists,
the switching-pool-lcp container abstracting the device
odu-switching-pools one.
- add new updatePortMappingWithOduSwitchingPools method in PortMapping
interface
- implement this method in PortMappingImpl and PortMappingVersion710
classes
- keep the existing building of switching-pool-lcp in
createXpdrPortMapping method in case existing odu-switching-pools would
exist at the initial device connection
- manage reception of device notification whose target is
odu-switching-pools and port-list in DeviceListener710 class
JIRA: TRNSPRTPCE-405
Signed-off-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: Ieb7dd5f2a301feb4543c96c3502007012e98db57
Balagangadhar Bathula [Tue, 4 May 2021 16:58:12 +0000 (12:58 -0400)]
Device renderer for muxponder
- Add device provisioning for network ODUC4 (ODU-TTP), ODU4 (ODU-CTP)
and client ODU4 interface (ODU-TTP-CTP)
- Add provisioning for Ethernet 100G
- Add ODU-connection (OTN cross-connect)
- Modify the classes, unit-tests wherever necessary
JIRA: TRNSPRTPCE-451
Change-Id: Ide493b46dea6480fc2016fa3c89289b188ad8a0b
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
Balagangadhar Bathula [Mon, 3 May 2021 15:03:56 +0000 (11:03 -0400)]
Port-mapping functional tests for B100G muxponder
- Update the Honeynode 7.1 operational data to support muxponder client
and network.
- Add port-mapping functional tests to verify the port-mapping data for
switch-client, switch-network.
JIRA: TRNSPRTPCE-449
Change-Id: I6cd668befee96301ac48fbb8689ee536fac424be
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
Balagangadhar Bathula [Fri, 30 Apr 2021 21:18:25 +0000 (17:18 -0400)]
Update port-mapping data with trib-slots for B100G
Muxponder switch-client port-quals require max/min-trib-slots
from muxp-profile to be available in the port-mapping.
JIRA: TRNSPRTPCE-449
Change-Id: Ic360fed70fe07f752078596e1facd7063cc28ac9
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
Balagangadhar Bathula [Wed, 23 Jun 2021 09:58:23 +0000 (11:58 +0200)]
Port-mapping to support B100G muxponder
- Add mpdr-restrictions-grp container
- Add ODUC4 supporting-interface leaf
- Change revision date
- Change imports wherever necessary
- Remove unused imports in YANG
JIRA: TRNSPRTPCE-449
Change-Id: I76ab14bb71fe72a612c484dabc5036135f6b2ea7
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
Balagangadhar Bathula [Wed, 23 Jun 2021 08:55:22 +0000 (10:55 +0200)]
Fix ORDM device version in portmapping YANG model
OpenROADM device models use version 7.1 instead of 7.1.0.
Replace the version enum 7.1.0 for openroadm-node-version by 7.1
to be consistent with OpenROADM models.
JIRA: TRNSPRTPCE-462
Change-Id: Ie1aeef3291ca77ef2457296a978d261a889f85db
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Guillaume Lambert [Fri, 18 Jun 2021 13:41:34 +0000 (15:41 +0200)]
Fix tests/setup.cfg deprecation warning
home-page must be replaced by home_page
dashs in variable names are under deprecation
and must be replaced by underscores
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I283763dbadacf081dd073fc60340ca4c8e60d052
guillaume.lambert [Thu, 17 Jun 2021 16:53:53 +0000 (18:53 +0200)]
Ignore OpenROADM whitepaper URL in docs-linkcheck
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I02d7756d79658b821bd8726b3def984d4e2b8ddb
Guillaume Lambert [Thu, 17 Jun 2021 16:01:57 +0000 (16:01 +0000)]
Merge "Reduce the number of service notifications sent"
guillaume.lambert [Wed, 16 Jun 2021 10:27:05 +0000 (12:27 +0200)]
Update INFO.yaml IRC chat locations
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ia3a70c6a07d14190fc2ca2f540e07ee2e9d44354
Thierry Jiao [Tue, 1 Jun 2021 13:47:36 +0000 (15:47 +0200)]
Reduce the number of service notifications sent
- Delete 'PCE calculation done OK' notification sent by
pceListenerImpl during serviceCreate
- Delete 'ServiceCreate request received' notification sent by
serviceHandlerImpl during serviceCreate
- Delete 'ServiceDelete request received' notification sent by
serviceHandlerImpl during serviceDelete
- Update the functional test test_nbinotifications
JIRA: TRNSPRTPCE-447
Signed-off-by: Thierry Jiao <thierry.jiao@orange.com>
Change-Id: Id52eb6bcfb63753158294a227bcaeb5c40a3c972
Guillaume Lambert [Wed, 2 Jun 2021 20:20:10 +0000 (22:20 +0200)]
Add and run some linters via tox and pre-commit
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I097c1267eab3eba18c571929e67490817d0a8ffd
Balagangadhar Bathula [Wed, 21 Apr 2021 14:40:08 +0000 (10:40 -0400)]
Port-mapping functional tests for 7.1 transponder
- Verify port-mapping data for xpdr port quals
- Verify node data in the topology (addition/deletion)
JIRA: TRNSPRTPCE-347
Change-Id: I80863cdda4f54eaad246d532d8bc3d2c70c68977
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
Balagangadhar Bathula [Fri, 30 Apr 2021 11:56:16 +0000 (07:56 -0400)]
Add missing if-cap-type for B100G
Add OTU4-ODU4 interface missing capabilities
OTSI group interface capabilities were missing.
This was generating erros when adding nodes to the topology.
JIRA: TRNSPRTPCE-347
Change-Id: I051e22d0f00a35699007aea9a697bf001cd9ac38
Signed-off-by: Balagangadhar Bathula <bb4341@att.com>
Thierry Jiao [Fri, 30 Apr 2021 07:22:20 +0000 (09:22 +0200)]
Fix the misplacements of service notifications
- Move the sending of the notification (Service deleted !) to the
correct end of the service-create operation
- Move the sending of the notification (Service implemented !) to the
correct end of the service-delete operation
- Send a service-create notification failure when Renderer service
implementation failed
- Send a service-delete notification failure when PCE cancel ressource
failed
- Send a service-delete notification failure when Renderer service
delete failed
JIRA: TRNSPRTPCE-447
Signed-off-by: Thierry Jiao <thierry.jiao@orange.com>
Change-Id: If38f004e2de64febd456fd0a5d778ce1fa1bb0f2
guillaume.lambert [Thu, 27 May 2021 08:17:39 +0000 (10:17 +0200)]
Bump dependencies to newer Silicon dev versions
https://docs.opendaylight.org/projects/integration-distribution/en/stable-silicon/platform-versions.html
$ find . -name pom.xml -exec sed -i -e 's/1.13.1/1.13.2/g' \
-e 's/8.1.1/8.1.2/' -e 's/7.0.6/7.0.7/' \{\} +
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Iafb4916ac1fb1cec2e31690984892d86e9dfb3f0
guillaume.lambert [Thu, 27 May 2021 08:52:28 +0000 (10:52 +0200)]
Fix new checkstyle issues found by odlparent 8.1.2
These issues needs to be fixed before bumping dependencies to pass CI.
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ibc378705a16a6b68f32e7af3876142e379218e09
Guillaume Lambert [Wed, 26 May 2021 18:01:56 +0000 (18:01 +0000)]
Merge changes I3eb51b64,Id7b0213e
* changes:
OTN-topology creation fix
Fix tox.ini otntopology profile
Shweta Vachhani [Wed, 21 Apr 2021 15:08:18 +0000 (11:08 -0400)]
OTN-topology creation fix
Moved ifCapType conversion method for different version of devices in
portMapping, rather than in OtnTopology
JIRA: TRNSPRTPCE-443
Signed-off-by: Shweta Vachhani <sv111y@att.com>
Co-authored-by: Gilles Thouenon <gilles.thouenon@orange.com>
Change-Id: I3eb51b64d986ee6ab620a7142e1e3e83a67f7eaa
guillaume.lambert [Tue, 25 May 2021 12:37:18 +0000 (14:37 +0200)]
Fix tox.ini otntopology profile
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Id7b0213ecef8ed7dcd9fc0e6937f7d1f052438ac
guillaume.lambert [Tue, 25 May 2021 09:18:52 +0000 (11:18 +0200)]
Update INFO.yaml committers list
New committers Balagangadhar Bathula and Christophe Betoule have been
approved and must be declared in the INFO.yaml file at the project root.
https://wiki.opendaylight.org/display/ODL/2021+Commiters+election
https://lists.opendaylight.org/g/TSC/topic/
82961037#13722
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I14de9edd309dfe66fbd196a55143444db653689c
guillaume.lambert [Wed, 19 May 2021 21:00:57 +0000 (23:00 +0200)]
Fix deprecated warnings caused by YangTools update
Auto-generated sources from YANG models now deprecates methods with the
pattern is[A-Z].* This commit replaces them with their strict equivalent
with the pattern get[A-Z].*
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I17b9d02beacefda647f85d76be771aa08c48d67c
guillaume.lambert [Wed, 19 May 2021 20:08:42 +0000 (22:08 +0200)]
Mute snapshots download status during lighty build
JIRA: TRNSPRTPCE-442
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I4bd399059ba8c22728c4d27b93bc6e2204979a09
guillaume.lambert [Wed, 19 May 2021 19:49:37 +0000 (21:49 +0200)]
Mute Lighty reflective access warnings
JIRA: TRNSPRTPCE-442
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Icd684c09309fe6f7061c246f713f8e73e4ea82f4
guillaume.lambert [Wed, 19 May 2021 19:30:08 +0000 (21:30 +0200)]
Remove useless & outdated lighty javadoc comments
JIRA: TRNSPRTPCE-442
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I1a370fb2330a0b4e2ed5b1e55f4b485879cdf34a
guillaume.lambert [Wed, 19 May 2021 19:01:25 +0000 (21:01 +0200)]
Fix lighty build warnings
JIRA: TRNSPRTPCE-442
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I8ffc2a8b203ff34207bd6be903199f011a5e9f55
guillaume.lambert [Wed, 19 May 2021 13:30:51 +0000 (15:30 +0200)]
Ignore JsonStringConverter unchecked cast warning
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ia8d24d83e99aee811962c883b03bc75ba6e06ac2