Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • transportpce changes under review:
    • Roshan proposed a change to implement the 2 RPCs used to fill the operational modes (OpenROADM/specific) in the catalog. Guillaume and Olivier made a review. Gilles will make a comment to recommend using in place of the Data Broker the NetworkTransactionService, as this last rely on the RequestProcessor that manages concurrent access to the datastore.
    • Gilles pushed a long relation chain of 30 changes associated with the refactoring of OSGI for the project. He removes all Blueprint file that manages dependency injections in each module. The Blueprint are now split into several OSGi components. However, since Blueprint allowed to instance classes, Gilles did not find the way to do so using component annotations. This means he needs to instantiate the classes,  which changes the constructor of some of the classes.
    • The controller starts now in a shorter time, and Gilles had to increase the delay before starting the pce functional tests, so that Restconf bundle is correctly started before starting tests.
    • “Unregister DataTreeChangeListener”: using the opportunity of the OSGI refactoring, Gilles pushed this change to correct the associated issue he observed.
    • “Bump Lighty build to Argon”: Guillaume proposed this change to compile the code associated with Lighty, which is not released at the same time as the ODL distributions,  using available Snapshot.
    • Gilles proposed to managed this issue through the change ”Adapt lighty build to new OSGi DS based refacto” that he put on the top of the relation chain. He is waiting for a global review of all the changes. He will then manage all comments, and merge everything  one shot.
    • Olivier updated the Developer guide.
    • “Quiet and check lighty.io build in the CI” is a WIP change proposed by Guillaume to make sure that when a new change is provided it is compatible with Lighty build.
    • “Update transportpce sonar job”: Gilles proposed this change on releng/builder project to reactivate Sonar which was de-activated since more than 6 month.

A.O.B.

  • After Gilles has merged his relation chain, he will take care of the Nathan change, refactoring the NBI notifications as soon as possible.

  • Since Argon, Java 17 is needed to compile TransportPCE

03/16/2023

General information

...

  • Status on changes merged  since last meeting:

    • "Bump upstream dependencies to Argon” aligns master branch on Argon
    • “Upgrade device 7.1.0 sims version” solves the xslt issue we had for regens
    • Relation chain related to Argon
      • “Change getter in ConvertORTopoToTapiFullTopo” uses a non-null getter to solve some issues
      • Different changes address concurrent access to the Data Stores : “Remove some forced transaction closure”,  “Reimplement Request Processor”, “Remove close method from Request Processor”,  “Bump Upstream dependencies to Argon”.
    • “Speed up functional tests” execution” changing some time constant allows saving 20 minutes in the functional test
    • “Refactor impairment aware path computation step3” and “Leverage Map Ref in PCE PostAlgoPathValidator” finalize the refactoring of the PostAlgoValidator and allows reducing drastically the cyclomatic complexity.
  • transportpce-models changes under review:
    • “Revert “Revert” Add new T-API 2.4 models” has been merged during the meeting.
    • Before adding newer version of OpenROADM device models we may wait to know if 10.1 or 12.1 is the best candidate. This may be clarified next week through different meeting in OFC.
  • transportpce changes under review:
    • Gilles puhsed a new relation chain associated to the migration of all the project Junit tests to Junit 5 (several changes according to the module handled): all unitary tests have been migrated by Gilles to Junit 5 which provides new engine and many interested features.
      • “Fix string issue in OpenRoadmInterfacesException” solves an issue associated with this migration.
      • Gilles also reactivated some Junit test that had been disabled.
      • “Use QName constant” instead of manually create associated container simplify the configuration of the tests when we change a yand module revision.
    • “Update port-mapping data for regen xpdr type”: Bala is still working on associated functional tests but considers this change could be merged.

A.O.B.

  • UTD question (Nathan) about  the issue with Karaf Logs: is it still the case with the latest versions of PCE?
    The Karaf client, no longer working is an issue we had some time ago, and which is not solved with the current Karaf version. It is an upstream bug in the Apache Karaf project. Karaf server is however still usable. So Karaf client does not need to be launched to observe the logs. However for UTD who wants to extract some messages from the LOG, it could be an issue. Lighty was not deeply tested by UTD. UTD is asking whether they should move to Lighty to solve this issue. Gilles answers that to him the real way to solve the issue is to use the nbi-notification module. However Nathan mentions that a lot of information is needed by their application, which would imply to write a lot of code to complement current implementation. Gilles explained that each TransportPCE module communicates to other modules through the mdsal-notification mechanism. Looking at the logs, it is quite easy to figure out which are the notifications sent through this process, and if need be, complement them and filter them from the Karaf Logs...  

...

  • Status on changes merged  since last meeting:

    • "Refactor PostAlgoValidatorStep2": was addressed during last call. It is refactoring to improve Sonar statistics.
  • transportpce changes under review:
    • "Refactor PostAlgoValidatorStep3": All further steps have been squashed into the step3. This refactoring shall reduce the cyclomatic complexity. AtoZ and ZtoA directions handling was split into 2 different methods. The first For loop is threating extremities. The second handles intermediate elements.
    • “Leverage Map ref in PCE PostAlgoValidator” is the last step of the refactoring, handling parameters passed to the different methods through maps.
    • “Upgrade device 7.1.0 sims version” was merged during the meeting.
    • Gilles created a new relation chain of changes in the scope of the migration to Argon:

      • “Update tapi device notification functional tests” provides some adjustments to clean up the environment at the end of the test, to improve the behavior of the CI/CD, and get a reproducible environment.
      • “Change getter in covertORTopoToTapiFullTopo” solves a NPE
      • “Remove some forced transaction closures” : removes some forcing closures of R/W transactions which are not efficient and lead to some errors if the following change is applied.
      • “Reimplement Request Processor” : separates the handling of Read and Write transactions. Also provides some enhancement in the way the different thread access to the datastore, handling the accesses through a map. Adds a block finally to correctly handle the locks associated with the transactions. This solves some issues observed on the gate running the tests, which are associated to concurrent accesses in the data store that were not correctly handled. Commit is now done after any kind of write transactions.
      • “Use networkTransactionService to access to the DS” solves an issue observed with test on GNPy that were not handling transaction using this networkTransactionService.
      • “Bump Upstream dependencies to Argon” will be finally applied after all the issues evoked before are solved.

A.O.B.

  • Since a while, Bala has experienced some issues with the equipment in the labs, on their candidate datastore, deleting interfaces (this is even not using the renderer, but doing it directly on the device pointing to the right url). He will provide more details about it.

  • Gilles observed on his side that we regularly lose during the tests some Netconf sessions. Bala observed previously the same kind of issues which were solved setting the Time_To_leave parameters.

...

  • Status on changes merged  since last meeting:

    • “Update upstream depencencies” addresses the upgrade to the latest Argon upstream dependencies, done on transportpce-models project.
    • Robert provided a new relation chain  (9 changes) related to the reorganization of the dependency injection for common module. At the final step, he removed the autogenerated common-blueprint file, relying on OSGi annotations. Gilles fixed some side effects on the project during the week and added a new change (“Fix small issues in nbi notification module”) to fix some small issues.
    • “Fix docs git Hooks dead url” is proposed by Guillaume to avoid docs-link-check failures on the gate.
  • transportpce changes under review:
    • Gilles updated 2 changes associated with Argon migration (“Bump upstream dependencies to Argon”, “Clean maven files”).
    • Last changes proposed by Bala to handle regeneration were rebased by Gilles, who also added a new change “Upgrade device7.1 sims version” to use the newest version of HoneyNode code that fixes the xsl transform issue reported last week by Bala.
    • Pce Autonomous impairment aware path computation refactoring is ongoing. Guillaume merged step 1. Step 2 reduces the complexity of the checkOSNR method. The global idea is to split checkOSNR in 2 according to the direction (AZ/ZA), which allows removing some tests. The main loop has been split in 3 parts (there were many conditions on the extremities of the path). He also created separate functions to handle SRGs Degrees and TSP.
    • Gilles would like to merge changes addressing the bugs observed during the demo of restoration on real equipment including “Hack to update degree port on portMapping”, which shall be possible after they are rebased.

A.O.B.

  • OpenROADM device model update: it seems more reasonable to update the device model directly to 12.1 rather than 10.1, since it should cover all required functionality (GCC option, Y cable, 800G modeling…)

...

  • Status on transportpce changes merged  since last meeting:

    • “Workaround to install tapi feature in func tests”: allows starting karaf with the appropriate configuration file where tapi feature is already installed.
    • “Unenforce Lighty use in CI”: switch from lighty.io runtime to the karaf one
    • “Remote websocket config from post-install scripts”
    • “Add tests utils ODL startup  opt-out support” allows disabling the start of the controller when launching test, and associates karaf start mode to a variable.
    • “Use karaf client batch mode” : Karaf 'client' command has a batch mode option ('-b') to take commands from stdin without requiring TTY. Hence this option makes it possible to run the command without getting affected by the Karaf terminal property setup issue. Gilles is not sure this change may not lead to some issues with Linux terminal, but the change has been merged. Additionally previous change may not be needed anymore, as this one is merged.
    • “Restore TAPI feat install w/ Karaf client in tests” will need to be updated
    • "Add test_utils ODL startup opt-out support"
  • transportpce changes under review:
    • “Slight refactor of common PortMappingVersion2.2.1” is about optimization trying to avoid the use intermediate variables.
    • “Improve functional test launcher pytest support” addresses the difficulty to stop some processes with ^C. Guillaume would like Gilles to test it.
    • “Autonomous Impairment aware path computation” : Olivier addressed most of the Guillaume comments. Still a few comments need to be addressed, and some conflicts to be solved, but this change is close to be merged.
    • “PortMapping to support regen capabilities”: It took some time to Bala to make some corrections since the creation of interfaces was not working with some of the real equipment in the labs.
    • Migration to Argon: nothing new since last week

A.O.B.

  • An equipment manufacturer works on R10.1 of device models. Bala did not identified major changes from 7.1 to 10.1. But the support is required in PortMapping. Rendering part should not be that much affected. The migration to 10.1 shall be needed to test the product as it will be released in the Open Lab. Currently UTD has one of their equipment which is a Switchponder with 100G line port. But the new unit shall be a 400G transponder. Having an example of configuration file for TPCE sims would help a lot.

...

  • Status on transportpce-models changes merged  since last meeting:

    • Migration towards Argon
    • ”Update upstream dependencies” (mdsal & Netconf) to use the latest ones
    • Gilles also tried to merge the T-API 2.4.0 but reverted it. He wants to finish the migration to Argon prior to manage the integration of T-API models to avoid conflict/issues.
  • Status on transportpce changes merged  since last meeting:

    • changes related to backports to stable/chlorine to release Cl-SR2
  • transportpce changes under review:
    • “Slight refactor of common PortMappingVersion2.2.1” is about optimization trying to avoid the use intermediate variables.
    • “Hack to update degree port on PortMapping” will not be merged soon as we need some feedback from Tianliang
    • “Improve functional tests launcher pytest support”  propose to use pytest from the python interpreter to avoid generating unwanted behavior and so that all associated subprocesses are killed using Ctrl C.
    • New relation chain concerning the CI :
      • “Workaround to install tapi feature in funct tests” will solve the installation of the T-API feature in Karaf while the identified bug with Karaf is not solved
      • “Unenforce Lighty use in CI”
      • “Remove websocket config from post install script” solves some issues with the obsolescence of some dependencies
    • Migration to Argon: Gilles wanted to make it quickly in order to provide feedback towards kernel projects if some issues were encountered. Appart karaf issue
      Jira
      showSummaryfalse
      serverOpenDaylight Jira
      serverId355b3776-d12d-3197-b123-4e6c3281c19a
      keyTRNSPRTPCE-701
      , everything seems OK
      • “Bump upstream dependencies to Argon”: migration of the master branch to Argon
      • “Clean Maven file” solves some compilation warnings

A.O.B.

  • Bala is using Inteligy IDE, but can’t see the import of the OpenROADM yang files. This is associated with the move of those to transportpce-models dedicated repository. They should appear in external-dependencies when selecting project files view in this IDE.

...

  • Status on transportpce-models changes merged  since last meeting:

    • “Bump upstream dependencies to Cl SR2”, to release artifacts
  • Status on transportpce changes merged  since last meeting:

    • “Refactor few LOG messages management” which extracts some modification that can be applied out of the autonomous path computation
    • “Bump upstream dependencies to Cl SR2" to use the latest dependencies (especially transportpce-model release version and the latest lighty version)
    • Relation chain concerning Junit tests refactoring
    • backports on stable/chlorine branch
  • transportpce-models changes under review:
    • “Add new T-API-2.4.0 models”: Gilles added new tapi models after correcting some trailing spaces. Anyway, Pyang still generates a lot of Warning associated with imports. This could be an issue with Pyang. The models however compile correctly on the gate. Would be worth adding a yang linter on the CI
    • “Bump upstream dependencies to Argon" has been updated to align with latest dependencies and can be merged
  • transportpce changes under review:
    • “Slight refactor of CommonPortMappingVersion221” provides some optimization removing some intermediate variables
    • “Hack to update degree port on portMapping”: Guillaume steps back on one of the optimization of previous change
    • “Autonomous impairment aware path computation” needs to be rebased again, and wait for a last review before being merged

A.O.B.

  • Sprint 31 started at the end of the session

...

  • transportpce changes under review:
    • "Bump upstream dependencies to Cl SR2”: one shall note that tpce points to transportpce/models upstream dependency, with for the moment snapshot version. We could already release transportpce-models right now to use released version...
    • Jira ticket 713 “path restoration fails on multi-hop path”:
      • Gilles identified several issues in HoneyNode. 1st, current-pm-description was missing from some configuration files. “Complement sims configuration files” solves this issue. Also Gilles noticed that notifications were not sent by some HoneyNode sims when the input power was set back to a standard value. This was because Honeynode code was checking the 24h PM value in place of 15 min one. A new change associated with HoneyNode code corrects this and is currently being verified.
      • “Hack to update degree port on PortMapping” change is also needed to check the correct behavior of restoration on real equipment
    • “Autonomous impairment aware path computation”: Olivier provided a new patchset to address Guillaume’s comment.
    • “Fail power setup if node is not connected”: Jonas proposes a change to update OLM behavior when node does not connect successfully, but he did not adapt the Junit tests, so the change does not pass the gate.
    • His other change “Fix persistence when Karaf is restarted” needs to be more deeply evaluated, since some of the ODL native features may offer the same service => We should right a Jira ticket to capture this valid requirement.
    • Bala is still working on “Update port-mapping data for REGEN xpdr-type” & “Support create/delete interfaces for regen” changes. Since there is an agreement (out of the scope of the OR MSA) with suppliers so that we get Regen feature in 7.1 release, we have no real other alternative to handle the issue associated with if-capabilities of regens, which is not natively present in OR device model 7.1 than the way Bala proposes to handle it.

A.O.B.

  • Sprint 30 shall be finished. We proposed during the meeting to organize the demo next week after the regular tpce meeting. The sprint demo can be recorded. Please contact Gilles if you can not attend and expect it to be recorded or if you prefer that we reschedule it.