Gilles requested a new git repo for the project dedicated to the models. All OpenROADM and T-API models will be moved to this repo so that we can build them separately. Curently waiting for TSC validation of this project structure evolution. We hope this new project structure will be effective for Chlorine Release.
S-SR2 has been delayed. Deadline needs to be confirmed
Changes merged this last week:
”Migrate OTN E2E functional tests to RFC 8040 step [1 to 6]”
Gilles has backported the latest changes developed on master to Sulfur so that this branch is up to date for forthcoming S-SR2 integration
Changes under review:
”Primitives to retrieve parameters from Catalog”: Olivier proposed this change to provide generic methods to retrieve physical parameters associated with the performance of the devices, described in the catalog. He first focused on the primitive associated with PCE operation (that shall be called by the PostAlgoPathValidator). This change includes the primitive (CatalogUtils), Unitary tests, and the json file used to populate the Catalog
”Refactor common CatalogUtils” has been pushed by Guillaume to propose some optimizations on the code provided for the primitives.
- AT&T presented the AVORTEx project dedicated to the validation of OpenROADM equipment. AT&T uses TransportPCE in the design validation phase with pre GA equipment. Automated validation is based on RobotFramework, TransportPCE and Honeynode simulators used in a first step to test testing script. AT&T is planning to opensource the code dedicated to this. Up to the transportPCE team to provide an answer on their interest to integrate these tests on their git repo.
Today is the official deadline for Releasing Sulfur SR2, but at first sight it will be postmoned since nothing seems ready from ODL side. However, on TransportPCE side stable/sulfur branch is currently up to date with backports.
Gilles requested a new git Repo to start exporting the openroadm and tapi models outside the project, in a dedicated new ODL project. He still needs to run the new git repo creation procedure and then to move models on this new repo.
We still need the Netconf project dependency for Chlorine to be able to start the TransportPCE project migration to Chlorine.
3 changes have been merged durint the week: ”FixTypo developer guide”, “Switch tests from nose to Pytest”, and “Refactor networkmodel OpenRoadmTopology part 4”
Discussion about changes under review:
”Migrate OTN E2E functional tests to RFC 8040 step [1 to 6]”: Guillaume propose these different changes to address the migration towards RFC 8040. These changes are ready to be merged. To Migrate all the tests to RFC8040, we still need to work on E2E tests (to have all 1.2.1); T-API, Hybrid test on PCE including GNPy and Notifications (to have 2.2.1); 7.1 being almost done with still a bug to solve.
”Bump Lighty.io to Sulfur SR1” was merged during the meeting.
Javier tested Swagger interface, and it seems there is an issue with GNPy model. Gilles also observed this phenomena. Javier will open a ticket and provide associated additional information to help to debug this issue.
Olivier went through his presentation Service-create-handling, and as usual, not all the slides could be covered during the meeting, meaning this will be continued in one of the next meeting…
- Let's remind that next week, a 1/2 hour time slot will be dedicated to a short demo by Bala to show ATT progress on their activity on the creating automation framework for validating OpenROADM equipment with TransportPCE.
Gilles has been working on the preparation of Sulfur-SR2 release, backporting alreday merged changes.
Olivier made a proposal to reorganize the Sprint planning and demo and sent a mail to explain the new process we could put in place. Any feedback and suggestion to improve the process is the welcome.
changes merged during the week:
”Fix Pce calculation bug when validating nodes”, “Upgrade Honeynode sims version”, “Refactor networkmodel OpenROADM topology part 1,2,3…” and “upgrade project version to S-SR2” are part of the Sulfur-SR2.
Most of the T-API changes pushed by Javier have been merged. Gilles made a comment on the fact that we will need to refactor nbi-notification after these changes have been merged.
”Add tests for autonomous service rerouting” provides the functional test for service rerouting and basically corresponds to the sequence of actions we plan to perform during the demo for the Orange SDLRI. Bala proposes that we organize a demo of what has been done in this scope. UTD could also be invited to this demo.
“Replaces tpce topology yang models by existing ord models” allows removing yang model that were in built in transportPCE and that are no more needed since equivalent models are provided now in OpenROADM.
- Discussion about changes under review:
"Migrate OTN E2E functional tests to RFC 8040 step1, 2,…" are completing the migration towards RFC 8040, needed for Chlorine.
”Switch tests from nose to Pytest” addresses planned deprecation of nose
”T-API notifications Junit test” needs to be reworked: with T-API, notification topics are created dynamically which makes it complicated to mock. We will need to find a workaround to make the tests. Javier is also waiting for feedback on “Fix getTopologyDetails in tapi func tests” to solve identified issues.
Bala proposes to make a demo on automated test validation for OpenROADM devices that AT&T is currently developing. Depending on the availability of the Orange team, this could be done either at the end of July or beginning of August.
No Meeting (Bank Holliday in France)
Gerrit version will be upgraded the 10th (or 11th) of July. Jenkins, Gerrit and few other services might be unavailable for few hours during this upgrade.
S-SR1 was non officially released by Guillaume last Friday during the TSC meeting. But it needs to pass CSIT before it is officially released.
Guillaume presented our proposal to export TransportPCE models (OpenROADM/T-API) to another project. The TSC seems OK in the principle, but Gilles needs to send a confirmation e-mails.
This distribution will require at least a JDK 17. Gilles recommend we upgrade our JDK. Christophe mentions that JDK 11 may still be required for Honeynode. However, JDK-17 could also be used provided that the features introduced after JDK-11 are not used.
Netconf project for Chlorine shall be migrated at the end of July. This is the last upstream dependency we need to migrate TransportPCE project. The migration will then need to be performed during August.
All changes merged during the week had already been reviewed during last meeting, except “Refactor networkmodel OpenRoadm topology part 1 to 3”, which are dedicated to solve issues highlighted by SONAR. ”Upgrade Honeynode sim version” provides latest version of Honeynode that includes latest changes associated with the handling of PMs by HoneyNode. This version is required to perform the last functional test suite proposed by Thierry.
- Discussion about changes under review:
T-api Relation chain has been rebased by Javier. The 4 first changes at the bottom of the stack, up to “T-API notification functional test” could be merged if we don't solve open Gilles's comment on change 97438.
In ”Migrate OTN E2E functional tests to RFC 8040 step 1/2”, Guillaume initiated the work to migrate to RFC 8040 the E2E tests associated with the OTN services
”Switch tests from nose to pytest” will help us handling nose deprecation with Python next versions
“Refactor networkmodel OpenRoadm topology part 4” is currently under analysis. Discussion on Gilles's comment, since Guillaume doesn't want we use Table structure available from odlparent dependency.
”Replace tpce-topology yang by existing ordmodels” has been updated and Thierry fixed some typos
”Add tests for autonomous service rerouting” is a new functional test suite which maps to the Orange demonstration under preparation. A PM going out of range in HoneyNode will generate a port state change which will trigger the corresponding notification, resulting in a service state change in the tpce service DataStore for 2 impacted services. Only one of them being re-routable. We then check that this last is rerouted correctly by transportPCE. Currently in Honeynode, when a PM is going out of range, we only manage the state change of the port, but don’t update the state of the interface. Bala mentions that interface state change is linked to the type of Alarms. In case the alarm is something like LOS then the interface shall be also out of service (och/otsi).Salem from UTD suggested to implement the change of the interface state.
- Sprint kanban review:
TRNSPRTPCE-655 on Lighty.io simulator: Christophe wanted to support different model types. But as soon as some dependencies to OR models does not include the revision, lighty by default takes the latest one as the default. This being solved, when tpce is connected with lighty for interface creation, it creates loops and the Netconf connection is not released properly. So this still needs to be solved.
P-SR3: This week, our stable/phosphorus branch has been unlocked, and Guillaume has merged immediatly all pending changes and released in stride. The release note needs to be updated now.
S-SR1: stable/sulfur branch has been created by Guillaume so that we can start the Sulfur SR1 integration. For Sulfur release, we have T-API connectivity, and all changes from Thierry to manage the Orange Demo (service restoration)
- It is hight time we discuss with the TSC how we will move to a managed project and handle the migration to Chlorine. The first upstream dependencies are now available. We already knows that a lot of API have been broken which means a lot of work to manage the migration.
- Yesterday, the TSC meeting focused on a new CI implementation. Guillaume mentioned we may ask for the creation of a new sub-project dedicated to Yang models. This will allow exporting the compilation of the models outside TransportPCE. This would also allow Robert to use this specific model project to test his modifications on Yang tools. Additionally, it will save time in building the project. Once yang model are compiled, we could use them through dependencies. This may not be limited to OpenROADM but also include T-API yang models. Pre-compiled per release models will also be helpful for the implementation of simulators based on lighty.io. Bala has some interrogations about how the corresponding jar files will be supported on MacOS systems. Guillaume mentions that Mac OS can be installed with case sensitive file system.
- 11 changes have been merged durint the week:
The 3 first changes at the bottom of the T-API relation chain
The relation chain of Thierry focusing on the internal Orange demo
”Fix some indentation issues in OpenRoadmTopology”: has been merged, but we did not agree on merging it. We were supposed to discussed the code style changes proposal before. This discussion shall happen so that we agree on the final rules.
”Update docs conf.yaml version to Sulfur” is updating the references to make them compatible with S.
”Update project version for Chlorine release train”
- Discussion about changes under review:
Guillaume pushed a change on the new sulfur branch “Update git review for Sulfur” to push on the right branch with gitreview.
”Initial TAPI notification implementation”: Gilles made some comment on the fact that the code use manual instantiation of NbiNotificationsImpl. It would be worth using blueprint to let Karaf instanciating objects, but further investigation is required, as the class implements 2 different interfaces. We could probably make one of the interfaces extending the other which would allow to use the blueprint.
”T-API notification Junit test “: can not be merged as it is. It seems we absolutely need to mock the implementation of the Kafka server.
”T-API notification functional tests": when we want to have T-API notification we need both the nbiNotification and T-API features. Lighty shall be di-activated in the setenv parameters.
”Update developer guide” has been reviewed by Gilles and Olivier. We may need to rework the order to merge it quickly
"Fix PceCalculation bug when validating nodes”: this change proposed by Thierry solves a bug in service-create which makes under certain conditions path computation failing (when network port available is not on the first Xponder but on another available Xponder , the pce does not go through this last in the loop to capture available ports/xponders)
”Add tests for autonomous service rerouting”: include 2 main tests to check that a restorable service can be rerouted whereas a service that is not declared as restorable will not be restored in case of failure. It also includes a new functional test suite that corresponds to the sequence of actions we should run for the Orange demonstration. One shall note that this test suite will fail until we upgrade Honeynode to its latest release (implies to merge latest changes on Gitlab)
”Replace tpce-topology yang by existing ordmodels “: propose some adaptations of some transportpce yang files that become obsolete because OpenROADM proposes the equivalent.
P-SR3: stable/phosphorus branch is still locked. The status did not change since last week.
S-SR1: we migrated master on S-SR1. Gilles merged all the relation chain on Friday, after Emmanuelle solved all the remaining migration issues. The handling of Decimal64 was the main issue to solve.
“Change LOG level in PCE” is not directly related to the migration but has been merged at the same time since it was used to help for the debugging of PCE failures
- Chlorine: Some upstream dependencies are already available. We already know that yangtool API has been broken which means that we could have important side effect to solve...
Self-nomination period for the LFN Governing Board Committer Representative (LGBMCR) election has started.
- changes merged durint the week:
All the relation chain concerning sulfur migration
“fix functional test issue when list in dict” allows reordering elements of a list in a dictionary
"pce(gnpy) for Sulfur”
- Discussion about changes under review:
- Thierry's relation chain:
“Fix bug service-create”: This is a bug dsicovered when testing the Orange demo. A service creation with an existing service name was overriding the service which has the same name, with no possibility to change anything associated with the first service. This fix introduce some check on service-name consistency
“Update SH test”: There were a lot of redundant variables in SH tests. This change addresses the issue and introduces a new test associated with the service name, to check its consistency.
“Add service-resiliency handling in service-create”: adds the handling of service-resiliency attribute in the input of the service-create rpc. Thierry addressed the comment made by Guillaume and Gilles.
Thierry is also working on a new functional tests suite associated with the whole relation chain corresponding to service restoration, with the goal of automating the demo we planned for the next Research Exhibition Demo in Orange. The topology will include two Xponders and 3 ROADMS. Two services will be created, only one of them being restorable. They will use the same path. A degradation of the line will be simulated on one of the node so that it goes out of service. Only the service declared as restorable will be restored by TransportPCE controller.
T-API relation chain:
Javier rebased his changes, but this needs to be done again, since the migration to Sulfur was done after.
Gilles tested the first 2 changes and provided some editorial comments. These changes could be merged in a short time.
The third change brings some issues. Gilles made some comments that will need to be addressed. Javier will try to do it beginning of next week to solve the loop issue, but he will be off part of the week.
Gilles could work on the change on the top of the relation chain since it is not linked to the others.
It should be possible top merge some of the T-API changes to be part of Sulfur.
Quentin proposed some changes related with the code styles. “Refactoring code issues in OpenRoadm Topology” is one of those. Some of the code style proposal might be questionable. This is the reason why it was propose to Guillaume to write the code style rules somewhere so that the contributors can check them and validate/invalidate them. Quentin made a first proposal on the wiki (https://wiki.opendaylight.org/pages/viewpage.action?pageId=27066507)
- Thierry's relation chain:
P-SR3: our stable/phosphorus branch is always locked. The backport of relevant changes from master has been done (Update of GNPy, OFEC, Windows compilation, maven update,…)
- S-SR1 migration: we bumped upstream dependencies to the latest, including yangtools 8.0.6 which fixes our Deciml64 bug. We have experienced some side effects, notably on GNPy API (the number of fraction digit is now correctly taken into acount and entails some code modificaitons). This is why Emmanuelle made a change to modify the handling of decimal64 with GNPy. Version of dependencies on lighty side still need to be updated (reason why the change gets a -1). Everything shall be fine by tomorrow. As soon as the proposed changes will pass the gate, Gilles will merge them, so that we will be ready for integration in the next S-SR1 ODL distribution.
- 3 changes have been merged during the week, and especially a new one to update the Maven version to be used in the gate.
- Discussion about changes under review:
- "Adding additional kafka message": This change provides interesting elements for the purpose of Demos. Anyway it does not use "nbinotification" module. It would be preferable to use this last, but one shall note that we have planned to refactor nbiNotification (in the current sprint). After it has been refactored, the proposal of UTD which is very interesting could be integrated, so that we can rely on what was done to improve nbinotification module.
- relation chain proposed by Thierry and related to the next Orange Exhibition Research demo:
- "Fix issues in listeners” fix a bugs related with the handling of admin/operational state and adds some unitary tests
- "Add service-resiliency compliance check” and “Add service-resiliency handling in service-create” allow to handle service resiliency in the service-create request, which is necessary for autonomous service rerouting.
- "Implement an autonomous service rerouting”: implements a listener of the service data store that detects when the operation state of a service changes. That triggers a service reroute, making it into two steps: 1st, service-delete, and 2nd, service creation with a new path bypassing links and nodes affected by failures. Associated unitary tests are provided.
- In Parallel, Thierry also developed some code in Honeynode to handle the RPC pm-interact which allows creating, reading and setting some PMs in HoneyNode. This was developed on the master branch (based on OR 7.1 device release)
"Updating the usage section of the developer guide”: this change was pushed by Roshan to update the documentation in which some references were obsoletes. Olivier will have a look to it before being merged.
relation chain related to T-API: We agreed during the sprint planning that as soon as the master branch will be migrated to Sulfur, all changes associated with T-API will be rebased on Sulfur and that the review will be launched from there
"Support for parameterization of SIMs attributes”: this is a new change pushed by Nathan so that the CI/CD chain could be switched from simulators to an external platform, providing some parameters for the connections to real equipments. Gilles proposed to use environment variables that can be set (see comment under Jira ticket (https://jira.opendaylight.org/browse/TRNSPRTPCE-674).
P-SR3: state did not change since last meeting. The branch is still locked. This release was approved durint the last TSC meeting.
- S-SR1: release process has been relaunched since it was not approved during the last TSC meeting. There were 2 main issues : first is wrong revision taken into account (can be solved), second is more critical and is about wrong decimal conversion with negative number (rounding issue). Target is to have the second issue solved before end of June. We shall be part of S-SR1.The only things that remains to do is to rebase the latest changes.
We received a number of questions from Roshan regarding the way to populate the operational-mode catalog. Answered on the lfy.
- 7 changes have been merged during the week. All of them have already been discussed last week. They have not been backported to P at that time. Gilles will do that on tomorrow.
- Discussion about changes under review:
”Updating the usage section of the developer guide”: new change proposed by Roshan to solve some issues with the documentation. It was reviewed by Guillaume. It seems it shall be merged after the bump in Sulfur because the old version of the apidoc is still supported.
”Fix issues from PortMappingList & NetworkModelList”: new change proposed by Thierry to solve some issues related to admin/operation state changes. Status change is not correctly reflected in the topology. We also did not handle correctly administrative and operational state. Thierry’s change solves this, handling separately admin and operational states. Some Junit test have also been added
”Fix some indentation issues in OpenROADM topology”. This change is the first of a chain that will be dedicated to the improvement of the code style of some of the classes with high cyclomatic complexity and a lot of indentation issues. Gilles mentions that we will need to discuss internally in the project between TransportPCE developpers the rules we want to apply to improve the code style before merging this kind of changes.
”Fix the pom files to compile in Windows OS” has been pushed by Bala so that his trainees can work on Windows compatible PC. The change solves an issue with the path interpretation using Windows OS.
"Override asciidoctorj-diagram to 2.2.1" has been abandoned since this was an intermediate change that is not needed anymore.
Bala observed that “Adding additional Kafka messages” is leading to very long compilation time locally and to some timeout issue with Maven jobs on the gate. Thierry suggested it might be associated with some Kafka Publisher when they are not enabled in the Junit tests
P-SR3 is on its way for releasing. On our side we are ready. Just one change (the bump to P-SR3 upstream dependencies) is not merged because the branch is locked.
- S SR1: 2 negative votes for releasing. One of the reason is that we still have some issue with TransportPCE. Decimal64 issue is not solve with the proposed version of Yangtools (8.0.5). 8.0.6 solves this issue but is not the versioned proposed for S SR1. Emmanuelle pushed some changes to solve our issue with GNPy functional tests. The 2 remaining issue is the Decimal64 one, and a regression that does not allow to use current OpenROADM models (problem importing some yang models with specific revisions).
- We received some questions this week about current implementation of the catalog in TransportPCE. It seems that the people who tried to populate the catalog through the apidoc are experiencing the same issue as we had already experienced. We may need to identify where the issue comes from and raise a ticket if necessary.
- Next sprint planning is planned on Wednesday the 15 th of June from 3 to 5 PM CET
- A meeting is planned for discussions on how to make the PCE evolve towards T-API on Monday the 13th of June from 10AM to 12PM CET
- Only 1 change (Bump upstream dependency to P-SR3) has been merged during the week.
- Discussion about changes under review:
“Remove supportedIfCapability conversion from T-API” & “Update GNPy version used for functional tests”, could be merge
“Add support for 100G OFEC” relation chain. For “Functional tests for 100G OFEC 31.6 Gbauds”, Gilles proposes to integrate these tests in the existing test suite so that we can save time when running the tests. However, Bala mentions that even if it seems duplicated, it would be better to keep it separated, because a lot of parameters differs in the settings, and at the end we could have then a lot of tests in the same test file. Gilles will investigate a bit more about the interest of the different approaches. At the end, we decided that this relation chain (except “adding additional Kafka messages”) shall be merged asap and the optimization for the tests could be made later on.
Gilles propose that we merge in a short time the change “Fix functional test issue when list in dict”.
Migration to Sulfur relation chain:
“Bump upstream dependencies to S-SR1” points to 8.0.6 version of yang tools to solve Decimal64 bug.
“Quick and dirty fix to sulfur build problems in CI” solves the bug we have with yang tool handling revisions of yang models.
“Adapt transportPCE code to Sulfur” includes needed changes to migrate to Sulfur.
”Pce(gnpy) for Sulfur” solves the side effect issues we have with GNPY.
“Change log level in MappingUtils” and “Change Log level in PCE” allow to reduce the number of logs which complexifies the debugging.
T-API Relation chain: Gilles did not have the time to review Javier’s Change. He probably won’t have time to do so before the 10th of June.
Thierry has been working on HoneyNode to handle the rpc that is used to set, create, modify and delete PMs. He is currently focusing on the code to change port state when a PM goes out of the specified range.
Meeting canceled (Bank Holliday in France)
ODL release train: ODL is preparing P-SR3 and S-SR1. Our stable/phosphorus branch shall be already locked in order to prepare P-SR3. We are up to date regarding the backport of changes integrated on master, and Gilles will bump dependencies tomorrow. For Sulfur SR1 we are not really concerned since we did not migrate to Sulfur yet.
Next DDF is planned the second week of June (13th to 16th) , remotely (at least partially).
- Only 2 changes have been merged during the week in order to enforce the lighty build on the gate: "Use draft-bierman02 REST in .2.1 func tests" and "Reenforce Lighty build in the gate"
Discussion about other changes under review:
”Disable GNPy func test voting” proposes a new tox profile to disable the voting aspect of some functional tests when necessary (here, GNPy for the migraiton to Sulfur, which will help going further in the integration of tpce in Sulfur).
”Add support for 100 OFEC” proposed by Bala, allows rendering 100G service over Transponders that implement FlexO B100G hierarchy. This will need to be completed by future work, when we will handle operational-modes so that the SH could trigger the right interfaces creation from the transponders capabilities. Bala will also complement current functional tests with this new device configuration capability.
Javier has rebased all changes related to T-API on master and asked few questions. He has analyzed the reason why test 13 fails, and provided some insights. This will be reviewed by Gilles & Christophe who did not have time to make it, because we had an internal demonstration event. Some of the changes experienced some issues with the CI-CD chain, which is probably due to gate overload.In “update TAPI connectivity service on port change”, Javier made some refactoring to correct some issues in handling the state of services.
In “TAPI notification functional test”, Javier didn’t know where to put the dependencies for the NBI test (Seems that he handled it in the right way!).
His changes shall now all be in review state. Guillaume already made his review. Gilles will start reviewing them.
Olivier started presenting the document related to TRNSPRTPCE 653-652 & 546. We had time to discuss A/Zend container node and port constraints , as well as how rate shall be proceeded in service-create request. The discussion on how we shall handle ports in topology (their availability and the commissioned rate) will be addressed in next meeting.
Sulfur migration: TransportPCE will not be part of Sulfur GA, but there is no issue to join the distribution in later releases. Robert made some investigations and corrected one bug in yangtools (8.0.5 release), which solves the issue we had with adding OMS attributes to links. This will help us progressing, since it was blocking the functional test. We expect to join Sulfur SR1. It seems also that lighty.io has been released for Sulfur.
Virtual sessions will not be accepted in next DDF, so we won’t present anything.
Since the last meeting, few changes have been merged:
Regarding the enforcement of Lighty in the CI : “Clean yang modules instantiations in lighty”, “Add new method in PortMapping interface”, “Bump lighty to P-SR2”, “Upgrade HoneyNode version” which adds nc-notification.yang module, “update network models revision to 10.1 in lighty”, “Use draft-bierman02 REST in .2.1 func tests” because Lighty does not currently support RFC8040, “Reinforce Lighty build in the gate”, “Extract in CI tapi functional tests from test 221”, where Gilles puts t-api functional test in a specific location so that t-api tests can be run independently at the beginning of the test suite, and so that we can identify in a first step, whether t-api tests fails or not (Gilles made 7.1 functional test dependent on t-api tests so that they are executed before the 7.1 functional test)
Let's note that the tests that Javier is working on for t-api, shall be put now in the t-api folder. For the one related to t-api but also the nbi-notification shall probably be put with other tests on nbi-notification, since they require a specific docker container dedicated to the kafka broker implementation.
“Fix bug when creating SRG termination points” has been pushed by Jonas, to correct an issue we had in the mapping handling SRGs. Gilles added a specific Junit test to check this corrections.
”Remove an irrelevant UT for PCE” & “Fix list initialization issue in Renderer” were discussed last week and have been merged.
- Discussion about other changes under review:
Regarding the Sulfur migration suite: “Bump upstream dependencies” needs to be updated with latests releases (odlparent, mdsal, netconf and yangtools), “Override asciidoctorj-diagram to 2.2.1” should no longer be necessary, “Adapt transportPCE code to sulfur” was blocked, but we can continue working on it now that some issues have been solved. “Quick and dirty fix to Sulfur build problems in CI” still needs further corrections in yangtools before to continue working on it.
Regarding T-API changes, Javier will need to rebase all of them
Thierry is currently working on the implementation of some rpcs that are used to get, set, create and delete some PMs in Honeynode. This will allow to have more dynamic.
Gilles sent a mail to the ODL community (Daniel De La Rosa) to summarize the status of transportPCE for what concerns the integration in Sulfur GA. Unfortunately, due to a number of issues (Openroadm models compilation, link augmentation in openroadm-topology, Feature odl-transportpce-swagger no longer effective, issues to run some Junit tests & possible other failures on functional tests not investigated yet) , we won’t be able to meet the GA timeline and to have TransportPCE latest code integrated in S-SR0. He asked whether it will be possible anyway to join SR1 when core project will have solved the highlighted issues. We are waiting for an official answer. Guillaume will raise the topic in the TSC since Gilles won’t be able to attend this last today.
- Changes merged since last meeting: “Drop the service name from ODU connection name” and “Fix output response for 400GE device renderer” that were discussed last week have been merged and backported on P branch
- New changes have also been merged: “Fix code issues”, “Add new method in PortMapping”, “Clean yang modules instantiations in lighty”, “Bump Lighty to P-SR2” and “Ugrade Honeynode version”. They are related to the reenforcement of lighty build for Phosphorus. The code is now building but we still have some issues with some functional tests.
Javier shall push tomorrow newer version rebased on master of his latest changes on T-API
Christophe started to work on lighty.io Netconf simulator. He succeeded in having OpenROADM 2.2.1 ROADM and Transponder nodes running. He is currently working on the management of the RPC, and he will also have to work on the synchronization of the 2 datastores after some modifications have been applied to the configuration datastore. Lighty.io does not provide any RESTONF connector. The main reason for investigating on Lighty.io is that it is a recent project which uses some of the latest ODL dependencies (Phosphorus), which makes it easier to evolve, in comparison with Honeynode which is not maintained anymore.
Sulfur release: All managed project are ready to release for GA of Sulfur. On TransportPCE side, we are experiencing different issues which prevent us to migrate to Sulfur.
Gilles progressed but there is still a rather blocking issue with the compilation of OpenROADM models. The issue was raised to the ODL community yesterday.
- the previous model compilation issue (https://jira.opendaylight.org/browse/MDSAL-738) has been solved and integrated in MDSAL-9.0.2, released today.
- Gilles encounters another issue with odl-parent (bad dependencies revision in maven-site-plugin) which can be solved with an overriding of pom.xml files.
we will have a total removal of restconf-nb-bierman. Guillaume started the migration from bierman to RFC 4080, but some work still needs to be done.
we will also need to migrate to java 17 (CI is currently under migration)
Orange had a discussion with NTT about the potential implementation of a control plane based on TransportPCE in the scope of IOWN. NTT is also in contact with UTD.
It is probably the good time to make a decision on the status of TransportPCE and the way it shall be handled in ODL: as a managed project or as a self-managed project. Gilles recommendation is to move to the status of managed project. Managed project are integrated in ODL as core projects. On the other hand, artifacts would probably have to be delivered earlier.
No objection raised, so, the decision is to move to Manage Project.
Only one change merged since last meeting: "Update Maven CentOS install script for tests" proposed by Guillaume to take into acount the fact that the minimum version of maven is 3.8.3 in Sulfur.
- 2 Changes under review proposed by Bala:
”Fix output response for 400GE device renderer”: output response provided by Renderer now indicates all interfaces that have been created, even if some of them are created simultaneously. This change is according to Gilles, ready to be merged.
”Drop the service name from ODU connection name”: this allows limiting the string length of the connection name to something lower than 256 bytes. This change is also ready to be merged.
- Changes in Work In Progress status:
”Add support for 100G OFEC”: Bala still needs to develop the associated functional tests. With this change, the 100G wavelength service can now be created with OFEC and baud rate of 31.6 Gbauds. Xml configuration for honeynode will need to be upgraded to include in the capabilities the possibility to be configured according to that mode.
Gilles's series associated with Sulfur migration:
“Fix list initialization issue in Renderer” is proposed by Gilles to avoid instantiating an ArrayList which kind of anonymous class when the use of a straight forward immutable list is sufficient enough.
In “Fix few code issues” : Gilles removed some catching of NPE
“Bump upstream dependencies” updates dependencies for migration to Sulfur.
“Override asciidoctorj-diagram to 2.2.1” solves a bug in odlparent. This change is provided to handle migration to Sulfur but will not be necessary after odl-parent has been updated to the next minor version.
“Adapt transportPCE code to Sulfur” provides some needed code changes to handle the migration to Sulfur (Let's notice that most of them are the replacement of BigDecimal by Decimal64, RPCresultBuilder adaptation, replacement of Lists by Sets to handle yang leaf-lists…)
Guillaume proposed also a workaround to temporarily resolve the model compilation issue with the migration to Sulfur through ("Quick and dirty fix to sulfur bug in building”). This change is not intended to be merged.
Orange had a meeting with UTD to discuss short term Roadmap of transportPCE, and plans of UTD regarding test automation reusing the CI/CD chain developed in the scope of tpce.
Sulfur migration: the model compilation issue has been solved and integrated in MDSAL-9.0.2, released today. Gilles encounters another issue with odl-parent (bad dependencies revision in maven-site-plugin) which can be solved with an overriding of pom.xml files. But, he is facing a much more serious issue, because all TransportPCE code using the create method of InstanceIdentifier is failing at the compilation without any reasonable raison!!. Can't understand what happen. Would it be related to model compilation?
No change was merged this week apart from the changes that have been backported on stable/phosphorus branch.
No new changes were pushed during this week. Javier discovered making the tests in “Update TAPI connectivity Service on port change” that there was a bug in T-API implementation. The service was not created correctly for service that span across more than 2 ROADMs. This has been fixed in the last Patchset (24) of this change. In ConnectivityUtils a few corrections were also made handling Ids. Comments received so far still need to be taken into acount.
An analysis has been initiated to handle OpenConfig models in Honeynode simulator. HoneyComb project has been archived, and the version of yang tools it is based on is now a bit obsolete. It will be very difficult to make it evolve, and an alternative would be to use lighty-netconf-simulator. This is currently investigated. We will probably migrate to lighty for OpenConfig simulators, and when we will be at ease with it, smoothly migrate our OpenROADM simulators to it.
- TSC election nomination:
- TSC finally decided to keep 7 seats. There are 2 Orange representatives now, including Guillaume and Cedric Ollivier.
- a regression has been highlighted and fixed by Robert, but he did not have time to release the last version of the MDSAL (9.0.2) which still blocks our migration
Sulfur Marketing Message:
Guillaume would prefer we detail a bit the T-API consolidation. We can give precision on T-API notification. Javier will propose an update of the message.
- Since the last meeting, 13 changes have been merged:
- all the relation chain (8 changes) associated with OpenROADM service and network models 10.1.
a new relation chain (4 changes) proposed by Guillaume related to minor bug fix/refactor on the previous change related to DowngradeConstraints class (changes 100380, 100381, 100383 and 100416).
another new change from Guillaume related to the project building on the gate, to enable the keep-going option in sphinx (change 100430)
- all changes merged on master up to the Pylint update change have been backported on Phosphorus by Gilles to be part of P-SR3. Among these new merges, we aggree to backport on stable/phosphorus only changes 99379, 99380 and 100430.
Discussion about other changes under review:
Javier rebased changes associated with T-API relation chain. He proposes new additional changes to the relation chain:
“Refacto tapi-delete-connectivity-service” which checks the existence of lower order connections before deleting service,
for reminder, “Initial tapi notification implementation” allows handling subscription to notifications and “Implementation of T-API notifications rpcs”.
He also started working on the associated tests through "T-API notification JUnit test" and "T-API notification functional test". These two new changes are always under development and should be in review very soon.
Gilles proposed a new change “Remove Supported capability conversions from T-API” because he detected some obsolete code in T-API module during his review on Javier's change.
Bala made a presentation on “Power settings and sanity checks in OLM” that makes a recap of what they observed during the OFC demo preparation and needs to be corrected.
Transmit power set on a transponder could be out of the specification range (as an example, higher than maximum value), provided that both the SRG and the transponder supports it (from what is announced in their capabilities).
Bala proposed to implement several sanity checks to make sure we set a correct power at the output of transponders.
Christophe proposed an evolution in the way we handle models in TransportPCE (OpenROADM, T-API and may be tomorrow OpenConfig). Right now the models are directly embedded with TransportPCE project and compiled systematically during the project build. It could be interesting to export the compilation of all TransportPCE models outside the project (typically in an ODL sub-project) and use a maven dependency. It should also improve significantly the performances associated with the tests.
- TSC election nomination:
- We have received a notification from the TSC regarding the TSC election to mention that the number of seats has been reduced from 7 to 5
we have now our upstream dependencies available. But, unfortunatelly, the all-first step of compilation fails due to a yangtools issue. The org-openroadm-pm-type model includes an union which is leading to this issue. Gilles raised the issue to the odl kernel-dev list since this is a nasty bug which is blocking our migration.
- Since the last meeting, Guillaume merged is relation chain related to the migration of OLM functional tests towards RFC 8040.
Discussion about other changes under review:
relation chain related to migration of service and network models to 10.1: waiting for migrating to sulfur, Gilles rebased yesterday on current state of master. All changes failed due to an issue associated with a new Pylint version available and used by the gate that detected new issues. Gilles pushed a new change “Fix Pylint issue in pce functional tests” to fix them. Guillaume made some new comments that may need to be addressed.
“Refactor style b/c of service models 10.1 updates” => We will need to rediscuss the code style proposal to agree on what shall be done, and what should not be considered. The trailing space issue associated with OpenROADM yang files will be solved in OpenROADM side. Guillaume will raise a ticket to keep trace of it and will propose a new change on TransportPCE to correct them.
In “Rewrite the whole downgradeConstraints Test class”, Guillaume also made some comments and made a modification proposal using nested ternary operators. However Gilles feels that it is unreadable , and probably not a so good practice. Majority of opinions raised during the meeting is in favor to not abuse of ternary operator, all the more they are nested.
”Fix the mc-width precision for OLM power value” will need to be abandoned by Bala
Priority is to finish the service and network model 10.1 and then migrate to Sulfur.
Bala will need a time slot of 15' next week to present and discuss a new subject. Indeed, in the OLM there is no sanity checking which sometimes leads to value a bit out of range of the optical specification (based on equipment capabilities)
- Olivier will share inside the TransportPCE team the marketing message for Sulfur. It will be approved next week.
- TSC election nomination:
The time slot to submit self-nomination has been extended one week. Today is last day to submit!
It shall have been issued last week. We will have at least several weeks of delay. All MRI projects have not been released.
- Writen exchanges between Bala and Guillaume on the weak cipher algorithm used in ODL SSH.
- Since the last meeting, Guillaume merged on change related to functional tests ("Fix a RFC8040 test utils method naming") and the relation suite from Christophe on the PCE bug.
“Update service handler checks”=> removal of checks that were not aligned with OpenROADM models (optional attributes). The configuration of XPDR-C has also been adjusted.
Discussion about other changes under review => most of the ongoing change have already been discussed.
For network and service models, Gilles is waiting for dependencies bump prior to rebase these changes.
“Fix the mc-width precision for OLM power value” => other changes of the same relation chain have been merged. Bala did not have time to look at all comments made by Guillaume. If the change shall be abandoned, Bala will do it.
Next step will be to release Sulfur. The target is to include OpenROADM Model 10.1, T-API connectivity service and T-API notification.
- TSC election nomination:
Today is the last day to submit self-nomination to the TSC election. Community members (committeurs, contributors) interested in joining the TSC must self-nominate before the nomination period closes.
Code freeze for all managed project was supposed to be on the 10th of February and formal release was planned on the 17th of March. But this release will be late.
We are still waiting for the availability of some dependencies (mdsal, NETCONF). The bump shall happen next week. Let's merge eveything aiming at being backported for P-SR3 before.
- Since the last meeting, 4 changes have been merged. All of them were discussed last week. (Fix power value precision bug, Reintroduce netmod dependency, Fix notification subscription issue, Update karaf cache nc-notifications YANG schema)
Discussion about other changes under review:
4 changes related to PCE bug: Christophe has split his last big change ”Manages 100GE on XPDR with a list of xponders” into multiple changes as this was handling many things:
- "Bug correction for the ethernet loop test" => this change is also associated to some improvement reducing the number of loop. OC service was tested several times, but not Ethernet service.
- "Update Servicehandler checks" => when a service is checked, the leaves of the service create request are checked. Most of these leaves are not mandatory. The checks for non-mandatory leaves have been removed to comply with OR MSA.
- "Add a list of xponder for XPDR-C1" =>the configuration will be used to check the path computation when there is no transponder list present (Solves an issue raised by Bala during OFC demonstration preparation)
- "Manage 100GE on XPDR with a list of xponder" => management of the path computation request when there are multiple xponder in a list. One more use case is still not handle : when we don’t have a Xponder list but a port is specified. Then the PCE will select the first available port, which is not tested in the test suite
"Refactor PCE networkanalyser PceCAlculation” => Guillaume performed some check factorization. Cherry-picked by Christophe above his changes
7 changes on 10.1 openroadm model migration => on network models, and added a new one
”Upgrade openoadm service model to 10.1” => Gilles rebased them
”Upgrade openoadm network model to 10.1” => Gilles rebased also the change from Christophe (rather difficult due to lots of modifications in PCE, GNPy, renderer)
”Refactor SupportedIfCapability usage" => this is a new change proposed by Gilles. The supported interface capability were associated to 3 different name-spaces, and a lot of conversion method were used which was not optimal. During PortMapping, we now apply the latest version of supported interface capability. MappingUtilsImpl gathers all the functions associated to conversions. This allows homogenizing the handling of supported interface capability on the rest of the code.
few changes on OLM RFC8040 migration from Guillaume:
"Migrate OLM functional tests to RFC8040 step 2" => always in WIP...
”Migrate OLM functional tests to RFC 8040 step1” => Guillaume solved some issues associated with discrepancies between config and operational data stores. Ready.
”Fix a RFC 8040 test utils method naming” =>just a change in the name of a method.
Status on T-API changes : Javier was planning to release some code for T-API connectivity and notification, but will do it next week. He also needs to rebase everything on top of Sulfur.
”Refator style b/c of service model 10.1 update” => several suggestions for code style guidelines were proposed by Guillaume and Gilles. This could be discussed next week, when Bala will be available.
Next DDF and ONES events will be collocated in November
code freeze on managed project next Monday. All our upstream dependencies should be available to start our master branch migration to Sulfur. We will then have 1 month to release transportPCE.
Sulfur will include OpenROADM service and network model migration to release 10.1.
Let's note already that from the moment we have migrated, Maven 3.8.3 will be necessary to build the project.
- Since the last meeting, 9 changes have been merged.
“Bump Kafka clien to 3.0 ?.0” and “Fix a bug in a Junit nbiNotifications test” are related to a better version of our kafka-client dependency in nbinotifications module which not provide an incompatible version of Jackson transitive dependency.
Also the 2 last tstep of PCE OTN Node refactoring
the group of 5 changes pushed by Gilles that are related to the preparation of the Sulfur migration. (“Remove usage of schemaPath from converters”, “Clean dependency declaration in common module”, “Remove usage of deprecated InitMock methods”, “Remove usage of DOMnotification Router. Create method”, “Cleanup Junit test”). They replace object marked as deprecated for removal.
Discussion about other changes under review:
- “Adding Kafka messages for OFC22” => change pushed by UTD. This is the code they are using to make the OFC'22 demonstration, as they were missing some notification messages and also some elements related to alarms. Gilles proposed to put this change in progress and private to limit the visibility since device configuration are embedded. As it stands, this change could not be merge.
- 3 changes related to netmod notifications
- “Update karaf cache nc-notification Yang schema” was initially inside a change proposed by Shweta a moment ago and reintroduced here by Guillaume.
- “Fix notification subscription issue” was already discussed.
- “Reintroduce netmod dependency” is proposed Guillaume to solve some issues introduced by preceding change. Changes are now in the right order, and they can be merged
2 changes related to the power value precision inside OLM module
“Fix power value precision bug” is a proposal from Bala. Guillaume splited the change to separate the rounding associated with power value and the one associated with MC width which is now handled in the following change. This change is merged in session.
“Fix the mc-precision for OLM Power value”. We should wait before merging this change.
- 5 changes related to the service models migration to 10.1
“Refactor transportpce-routing constraint model” => preliminary step to finally remove the transportpce-routing-constraint that was redundant with the official openroadm model for routing constraint.
"Remove transportpce-routing-constraint model" => allows an interesting code dusting, removing now unnecessary classes that was dedicated to convert offical openroadm-routing-constraints to transportpce-routing-constraints.
“Upgrade openRoadm service model to 10.1” => has been also rebased.
On top of this Guillaume pushed a change “refactor b/c of services models 10.1 update” which focuses on a proposal of a new code style for TransportPCE. Gilles think the principle of having a clear code style inside TransportPCE is a very good thing, but on the other hand, does not totally agree with Guillaume's proposal, especially the fact that systematically put everything on a new line. Gilles suggests every coder could have a look at this code so that they could have an idea of what is suggested by Guillaume, and we can decide later which coding style rules we could agree on and generalize on the project. In the rebase, Gilles modified tow classes (PceTestData and PathComputationServiceImpl) with Gilles's suggestion for the new code style. The advantage of Gilles proposal, is that we save indentation spaces when we have long namespaces, and above all, we can automate much more adjustements directly with eclipse IDE.
In ”Rewrite the whole DowngradeConstraints test class”, Gilles also took advantage of the rebase to also appy his code style proposal. Result is esay to see.
1 change related to PCE bug:
”Manage 100GE on XPDR with a list of xponder” has been pushed by Christophe to handle 100GE use case when port or device-name are precised in the service-create request.
Always the 4 changes from Nokia on T-API connectivity service and notifications. Gilles proposes that we integrate these T-API changes in the Sulfur distribution.
Javier is working on integrating OpenConfig models and translating them to T-API. Honeynode using Generic OpenConfig configurations could be used. Currently, Nokia equipment implement specific Nokia models. To see how the code/node configuration may be adapted without nokia specific models.
Gilles would like to discuss about the status change of transportPCE. Currently TransportPCE is a self-managed project. Guillaume, as the TSC chair reported that it could be the right time to move from this mode to an MSI mode (Managed Snapshot Integrated project). Some tasks would be done by other committers of the ODL community (typically, when major API change on core MRI projects), and our release process could be simplified (as being integrated in ODL processes). The drawback for us could be the fact that we would have to follow more stricly the release schedule, especially regarding the code freeze deadline. So this project decision needs to be discussed more deeply during our next meetings before we make the decision. At first sight, that could be applied for Chlorine release train.
- Since the last meeting, 6 changes have been merged.
”New API for GNPy” has been released in time for OFC demo.
”Refactor common JsonStringConverterTest”=> new change proposed by Guillaume that improves code style and intermediate variable removal, mainly related with test of the Json Serializer.
"Refactor PCE network analyzer PceOtnNode step 6 + step 7"
- 2 changes from Gilles:
- ”Clean up pom files of Maven project”=>every pom files have been revised to update dependencies, and remove unused ones
”Remove overriding version for lighty pom”=> fix a dependency version overriding
Discussion about other changes under review:
The change provided by UTD has been solved by Gilles and is now ready for the OFC'22 demo. This change does not aim at being directly integrateda and merged because it does not follow the approach we use in nbi-notification. However, it is very interesting and provides the right level of information for service creation. So, it will serves as example to provides relevant guideline to do corresponding modifications in nbi-notification after we make some refactoring of this module.
Another change “Bump Karaf client to 3.0.0“has been provided by Gilles to update the Kafka dependency used in nbinotifications module, following the issue solved with the UTD change. The old dependency version used in TransportPCE was providing a different version of Jackson already available with odlparent. The new version of kafka-client does not provide jackson dependency and prevent from conflits in karaf. This new version pointed out a bug that as been fixed with the change “Fix bug in a Junit nbiNotification test“.
”Refactor PCE network analyzer PceOtnNodes step …” includes several changes made step by step. These changes focus on reducing cyclomatic and cognitive complexity
”Fix issue in PCE with multiple xpdr” => Christophe is working now on modifying E2E functional tests which shall be ready tomorrow morning. This change addresses inputs provided in the service-create on the port and modules to be used
”Power value precision bug” has been pushed by Bala. A lot of comment made by Guillaume about the rounding of intermediate computations. Bala will add some comments to explain why this is needed.
”Reintroduce netmod dependency” is introduced because some devices do not advert their capabilities correctly which causes error for subscription. The previous fix removed netmod dependency. It is reintroduced handling this failure case in a better and different way.
A new serie of changes is proposed by Gilles to prepare the migration to Sulfur. ”Remove usage of SchemaPath from converters”, “Remove usage of deprecated initmock method”, “remove usage in DomNotificationRoute create meth” solve warnings during the compilation, and are in the scope of removing deprecated object, providing workarounds to address changes planned with yang tools.
P-SR2 has been released at the beginning of the week.
Gilles has updated the wiki page since some links were obsolete (meeting minutes). Release notes section seems also a bit obsolete since release notes are now integrated in the docs. We shall update the link to point to this official docs.
- Since the last meeting, 22 changes have been merged. All these changes have been already reviewed and discussed yesteraday during the Project Demo meeting.
Keep available frequency maps when Netconf sessions restores has been merged today.
- All changes merged on master have been backported to stable/phosphorus. Unfortunatelly, there is a serious issue on that branch. Some functional tests of the renderer for device 2.2.1 systematically fails on the gate (Test 27 & 41) (Missing ODUCN interface in the portMapping). This is an error Bala tried to fix, and it was working on his side locally, but it seems it still does not work on the gate. Bala will continue to analyse the issue.
Discussion about other changes under review:
“New API for GNPY” => Ahmed still had some issue with tox and the python version, but it seems it is solved thanks to Guillaume recommendation. Ahmed solved an issue that came from the fact that for nodes that do not have IP address, such as amplifiers, were no more filtered (because we don’t use anymore IP address), and they were included is the path that returns GNPy in some specific cases. So the functional test that failed now passes.
“Fix issue in PCE with multiple XPDR” => Christophe continued to work on the use case to handle multiple XPDR. The creation of service is successful but he still needs to solve an issue with the deleting phase. We will need to refine the use cases we need to address. Some of the security checks performed in the Renderer probably don’t need to be performed anymore.
During the meeting, we have visibility on a private change puhsed one week ago by UTD: “adding UTD kafka messages for OFC22”.
- The change proposes a simplified log reporting towards a kafka broker when we create/delete a service by TransportPCE.
- Currently, this implementation makes failing installation of any additional transportpce features (odl-transportpce-swagger, odl-transportpce-nbinotifications, etc). Christophe and Gilles will try to look at it, to see if they can propose something that does the same but aligned with what was defined in nbiNotification; because what UTD tries to do can be done in a different way leveraging existing features. UTD sent an email which was dropped in undesirable mailbox…. because of the attachment
- ONES summit will be from 12 to 14th of April. It will be virtual
Si-SR4 Release => Guillaume released last week TransportPCE for Si-SR4 and updated the release note in the afterwards.
P-SR2 => We are still waiting for the release of upstream managed projects (especially NETCONF). This should happen next week, and we should release our artifacts at the end of next week. Our stable/phosphorus branch is up to date, aligned with status of master branch.
- Since the last meeting, 10 changes have been merged. Let's mention the following:
3 changes associated with the intermediate rates, including:
“Update power target mask for mixed line rate”,
“Update 7.1 port mapping after inf delete” =>allows to delete ODUCn and OTUCn interfaces in the portMapping when a service is deleted and corresponding interfaces are deleted on Devices. The functional test shall be updated to test the portMapping. Bala will add corresponding Jira ticket.
"Correct width for 200G and 300G".
- 6 refactoring-related changes from Guillaume. He made some refactoring on OpenROADM OTN topology, using maps instead of lists and switch-cases in place of if/else. He initiated the same work on PceOtnNode.
1 change from Robert Varga related to the way we were using the Json parser to avoid using deprecated methods.
1 change from Jonas, ”PortMapping for SRGs with multiple circuit packs"
Discussion about other changes under review:
“Fix Bug in PCE picking wrong client port”:
initially, solved a blocking issue identified by ATT during the OFC demo preparation, regarding a bad client port selection at the PCE level. After that, Bala has also discovered other issue concerning this time the Network port selection.
Gilles solved the initial PCE issue, but discoverd another Bug on the T-API connectivity side.
Shweta also proposed to include a check on A and Z end to select only port that have the correct tails, which is consistent with the jira ticket description mentionned in this change.
This change solves at least the initial blocking issues, passes the gate... but Guillaume proposes to split it through different changes.
However Gilles think that such change solving blocking issue that also blocks some activities should be merged as soon as possible.
Finally, Guillaume will apply its proposed code optimization and will merge the change.
“Distinguish available SRGs for uni/bi-direction”: as for the previous change, Guillaume will address its proposed code optimization and will merge it.
“Getter for port-capabilities in PortMapping":
solves an issue discovered during the OFC demo preparation. There are 2 ways of advertising port capabilities and there is no restriction to use one or the other. Bala complemented the way we handle it to address both use cases.
Guillaume made a refactoring suggestion but Bala experiences some issues implementing the patch addressing this. He needs help to handle it. Guillaume will help him.
Moreover, Gilles mentions we will need to update Honeynode sim configurations and develop the corresponding functional test.
This modification should also be applied for device in release 1.2.1.
“Remove maintenance state-signal”: could be merged
“Bug in interface delete 400-G-Ethernet” : solves an issue introduced when we added the support of ODUFlex interfaces, which concerns the order to respect to delete interfaces and their supporting ones.
Jonas proposed a new change to solve the issue he reported last week about the node creation inside PortMapping and topologies after a loss of the NETCONF session (not a voluntary disconnection of the controller from the device).
when the device is connected again to the controller, the AvailFreqMaps should be the same as just before the disconnection.
This correction will be of high interest for AT&T. Bala will test it on ATT lab with its devices.
“Upgrade OpenROADM Network model 10.1”: big change from Christophe that does not pass the gate but should... This is probably just an issue with the gate.
“Upgrade OpenROADM Service model 10.1”: Gilles reworked the series, taking into acount most of comments received from Guillaume, Shweta. Gilles also pushed a new one regarding the rewrite of the unitary test about downgrading routing constraints.
GNPy interconnection: a new branch was created on Github. We will have the latest version of GNPy ready next week. (Docker and PyPi). Ahmed made all the modification needed in the code of tpce to communicate with the new version of GNPy. In GNPy, they have replaced the IP address that identified nodes by names which is a good thing. Ahmed is currently working in tpce on new code to provide the correct rate in the request.
- We need to release Si SR4 now. A few changes have been backported by Guillaume last week. We can let the branch as it is. Managed project seem to be ready. Guillaume volunteered to stage this release
- Si-SR4 released during the meeting by Guillaume
Our stable/phosphorus branch is no longer up to date, but Gilles is ready to backport all the changes that have been merged this week. Managed projects should be ready to release very soon.
- Since the last meeting, lots of changes have been merged. Let's mention the following:
- "Fix the GNPy version used for tests to 1.2.1" => to fix the version of GNPy used for TPCE functional tests
- Bala's series related to intermediate rates
"Unrecognized if-supported-capabilities" =>One of the devices was reporting some missing functionalities in the portMapping which was causing some NPE. This change is solving the issue.
Guillaume focused on the functional test aspects and the migration to RFC 8040 (OTN renderer, OTN SH Renderer): functions rationalization, migration. He has achieved url migration to RFC 8040. Sometimes, get a 500 message. He has raised a Jira ticket to get this fixed, even if the cause is not that well identified. In “refactor networkmodel util OpenROADMOtnTopology”, Guillaume identified some potentially missing code to handle ODUC2/3 and added some TO DO statements to be checked by reviewer to identify whether the code is really missing or not.
Other changes under review:
”Update power target mask for mixed line-rate” => this change proposed by Bala could be merged, but we shall wait a bit to check that Jonas is fine with the answer provided.
“Fix bug in PCE picking wrong client port” => this change could be merged even if it does not solve completely the bug highlighted by Bala. The correction only applies to OTN mux/switch-ponders. It does not apply to transponders, for which only the first port available is selected. In this change, Gilles added some parameters passed from the SH to the PCE to handle constraints on the port to be used , but the code to handle this on transponder still needs to be written. Shweta added a comment: AT&T has already written some code to also check that the port are connected through an existing link before selecting them. Shweta will provide a patch to add this feature.
“Correct width from 200 and 300G” => is ready to be merged.
“PortMapping for SRGs with multiple circuit packs” => Jonas provided this change to fix an issue on portmapping. It could be merged.
Gilles pushed a series of changes related to the upgrade of the service model. There are under review for a while. They could be ready to be merged now.
- Other maters discussed:
Jonas raised a bug (594) to highlight the fact that at node reconnection (after a Netconf connection failure), the frequency map is reset. In fact this issue is a more general issue associated with the way we build PortMapping that shall be reconsidered but will be a huge work (interfaces, roadm network connections, odu-connections shall probably be uploaded from equipment after a NETCONF disconnection)
Good practices regarding change review:
A change shall not be merged if some comments are still unresolved (except if they are solved in another change, (but this shall be stated)
Only the person that made the comment shall decide to change its status to solved unless it is obvious that comment has been fully addressed (like typo, trailing spaces….)
Should wait at least 24 hours before merging a change that has been submitted to let enough time to other committers to agree or not on the merge.
Next Phosphorus Release:
Managed projects should release P-SR2 soon. We are still waiting for Netconf artifacts availability.
Bala created 2 branches for OFC demo which are aligned on the master branch : OFC22 & OFC22-Demo (One of them should has been deleted, but not the LFN rights to delete it)
- Si-SR4: Gilles has bumped upstream dependencies for Si SR4. Christophe suggests that we backport the change related to the OLM timer management by environment variables in Silicon SR4. Guillaume will take care of it.
Guillaume made a few changes associated with the migration towards RFC 8040. This includes Flexgrid tests. Next step will be to look at the renderer functional tests.
“Migrate renderer functional test to RFC 8040” => Some refactoring is however needed
"Update GNPy functional tests” => change removes the dependency to the docker hosting the GNPy Server and change it to a Python Package.
Device change notification support was forgotten in lighty.io build. Guillaume has created a user story related to it.
Gilles pushed a change to address a bug detected by Shweta and experienced again by Bala in the labs : “Fix bug in PCE picking wrong client port“. As we did not consider the port mentioned in service create rpc and client port selected by the SH is the first available port, this led to wrong behavior in some cases. So this has been corrected. However solving this through a fix highlighted another bug in T-API implementation with a wrong conversion from a client to a network port, which has also been corrected.
Bala pushed a number of changes associated with intermediate rates handling :
“Change in interface Naming convention (B100G)” : solves an issue with the OLM. Uses different interface names according to the rate for OTUCN ODUCN and OTSiG
“Device Renderer support for intermediate rates” : In this change a dedicated method is deducing the rate from the modulation format.
“Update TransportPCE topology enums” : adds OTUCN and ODUCN links in the topology after they have been created.
Some changes in the SH and the PCE have also been pushed to allow end to end service creation at intermediate rates : “Update SH and PCE to support intermediate rates”. This change was highly simplified by the last refactoring introducing service types. One thing still needs to be corrected : creation of OTUC4 and ODUC4 links in place of OTUC2 and ODUC2 after a 200G service creation.
“Update MW-MW power Mask for mixed line rate” : Update the power for 400G/100G mixed line rate to follow the new OR specification (V4.0 and higher)
“Correct width for 200G and 300G” change corrects the signal width associated with 200 and 300G services to 75 GHz to make it fit with the specifications.
Gilles is still working on the migration of models from service 7.1 to 10.1. He is still experiencing some issues with some of the functional tests associated with GNPy.
Next Phosphorus Release:
Our stable/phosphorus branch is still not locked, but it should happen in a short time. We will probably have one week of delay.
Next Si-SR4 Release:
- we will need to bump to upsteram dependencies, but there is not so many things to backport since this release will focus on solving security issues with Log4Shell.
- No change merded on master branch this week. Only few backport changes on P and Si.
- 7 changes from Bala, under review, related to intermediate high rates handling on renderer:
“Add missing ODUFlex interface” => Bala noticed working on intermediate rates that this odu-flex interface was missing. This change solves this issue, and added the corresponding test on the functional test suite. Discussion to explain Guillaume's CR-1. A priori, solved by change 99399, so ready to be merged after closin Guillaume's comment
“Generalize supporting interface (B100G) in portMapping” => generalizes the handling of supporting OTUCN interfaces. Ready to be merged.
“Change in interface naming convention” => this change is necessary to differentiate 200/300 and 400G interfaces. Ready to be merged.
“Device Renderer support for intermediate rates” => this change complements the Renderer to handle the creation of intermediate rate services (200/300/400G). Type of interfaces are derived from the modulation format. Gilles thinks that the 3 first changes could be merged as they are. The 4th probably need to be refactored a bit considering the comments that were made.
“Device renderer functional tests intermediate rates” =>provides the new functional tests associated with intermediate rate interface creation by the renderer. Still some open comments.
“Add support for 200G with 31.6 Gbaud” => 200G QAM-16 has been added to the specifications so that we need to handle 200G with potentially 2 options. The right option is selected from the modulation format and the width (QAM16 + Spacing/spectral-width = 50GHz à 200Gbit interfaces).
“Device renderer support for 100G on 7.1 models” => this change currently fails, but the reason for this has been identified. AT&T has some equipment in its labs supporting this rate with 7.1 model.
- 1 change from Guillaume on functional tests migration to RFC8040: Guillaume would like the team to review its change. Gilles has just started it before the meeting
- 2 changes from Gilles related to Service model migration to 10.1. Gilles noticed that between OpenROADM models 10.0 and 10.1, there are some huge modifications in the way routing constraints are handled. TransportPCE internal model describing routing constraints was based on the OR Model R1.2.
- “Refactor transportpce-routing-constraint model” =>Gilles has started working on removing specific TransportPCE things from TransportPCE models for items that are somewhat duplicated.
"Remove transportpce-routing-constraint model" => remove also specific code that was writen to convert OpenROADM constraints to TransportPCE ones. This has a rather strong impact, since routing constraint are used by GNPy.
Next Phosphorus Release:
Our stable/phosphorus branch shall be locked next Monday (code freeze). Release of our artifacts should be after the 27th of January. Shall be straight forward since our branch is up to date.
As intermediate rate are part of P release train, everything that is related to it will be merged to the P branch, which shall be the reference branch to prepare the OFC demo.
Next Si Release:
an unscheduled Si-SR4 service release will come after the P-SR2 release to solve the Log4Shell security issue. Wait for next TSC meeting.
- Since the last meeting, 3 changes have been merged:
99195: Removing the maint-testsignal container => already backported on stable/phosphorus branch by Bala, but not merged yet
99244: Use lighty-core build rather than package dep =>it allows compilation of the latest phosphorus snapshot release of lighty.io-core
99247: Update maven download URL & fix gate => allows a correct install of maven on the gate
- The following changes are under review:
- 99196: ODUFlex is missing => does not pass the gate (failling at building controller). It shall be rebased to include latest Guillaume change on maven install
- 99293: Add org-openroadm-port-types yang (unoffical) to schema => proposed by Bala directly on P branch. Actually, with change "97599: Unofficial regenerator capability support in YANG", we introduced a deviation to the original model that is needed to handle regens at high rates (not every device support regeneration). Devices that support regen capability have a deviation with an added if-OTUCn-ODUCn-regen interface. To handle this issue, Bala is proposing to put in the karaf cache the model to allow mounting of both kind of devices.
Other activities under progress
- Gilles has started working on the integration of R10.1 service model. He noticed some modifications on the org-openroadm-routing-constraints.yang model associated with constraints. Part of the Service Handler code will need to be modified. The migration from service models 10.0 to 10.1 could not be straigth-forward.
DDF: Gilles and Christophe made a general presentation of transportPCE, and Javier presented the development made by Nokia on the T-API feature. Highstreet will also make a presentation this afternoon on their work in ONAP based on tpce for optical domain control.
- Since the last meeting, 6 changes have been merged:
- 96193: Power control support for 87.5GHz spectrum width => Last modification was a rebase and a Pylint issue that was solved.
- 98688: TapiLink creation refactoring
- 98669: Enforce pylint in CI via tox => Guillaume enforced Pylint in CI via tox
- 99050: Fix few NPE in TAPI implementation => a small correction on tapi implementation to avoid NPE
- 98958: Add and fix Phosphorus lighty.io support => allows to prepare things for future lighty.io support. However the bug providing logs in Hexadecimal is still present. This means things have been adjusted on tpce side, but we still needs some things to be solved on lighty side (NETCONF dependency)
- 98991: Use environment variables for OLM timers => allows to set the timers for the OLM through specific environment variables so that the timers can be set according to the context (simulators/real equipment). By default, the highest value of the timer is set. When using Honeynode, the correct values then need to be exported, without having to re-compile the project.
- The following changes are still under review:
99195: Removing the maint-testsignal container => the container is only needed if we set the equipment to the maintenance state. So as we don’t need it now, the proposed solution was just to remove it.
99196: ODUFlex is missing => does not pass the gate (there is a compilation issue because the indentation is not good). This changes allows for service relying on Flexo Interfaces to create the ODUFlex interface that was missing (400G).
TAPI changes concerning notifications => we will study the interest of merging them after the functional test have been provided