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.
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