Skip to content

Titanium Integration#2165

Merged
ihrasko merged 24 commits into
PANTHEONtech:mainfrom
Tobianas:titanium
Jul 25, 2025
Merged

Titanium Integration#2165
ihrasko merged 24 commits into
PANTHEONtech:mainfrom
Tobianas:titanium

Conversation

@Tobianas

@Tobianas Tobianas commented Mar 11, 2025

Copy link
Copy Markdown
Contributor

Adopt:

  • odlparent-14.1.0
  • infrautils-7.1.4
  • yangtools-14.0.14
  • mdsal-14.0.13
  • controller-11.0.0
  • aaa-0.21.0
  • netconf-9.0.0
  • bgpcep-0.23.0

@Tobianas Tobianas changed the title Titanium Integration WIP: Titanium Integration Mar 11, 2025
@Tobianas
Tobianas marked this pull request as draft March 11, 2025 11:12
@Tobianas
Tobianas force-pushed the titanium branch 6 times, most recently from 35ad001 to 78906ed Compare March 14, 2025 12:15
@ihrasko

ihrasko commented May 21, 2025

Copy link
Copy Markdown
Collaborator

/gemini review

@ihrasko
ihrasko marked this pull request as ready for review May 21, 2025 06:27

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request focuses on integrating Titanium dependencies and migrating from Akka to Pekko. The changes involve updating dependency versions in POM files, adjusting configuration files (JSON and Helm templates) to use Pekko paths and class names, and updating YANG module revisions. There are also some related code changes to adapt to API updates in the new dependency versions. Overall, the core changes for the Pekko migration seem mechanically correct based on the diffs provided.

Summary of Findings

  • Pekko Management Configuration Duplication: The pekko-default.conf file includes a pekko.management.http configuration block that might be redundant or conflict with management settings provided via Helm chart values in a Kubernetes deployment. (Medium severity, commented)
  • Pekko Snapshot Directory: The snapshot-store.local.dir property is commented out in pekko-default.conf, changing the default snapshot location. The intended new location and its suitability for persistence should be clarified. (Medium severity, commented)
  • Datastore File Path: A hardcoded path Path.of("data") is now used for the datastore base directory. Clarification on its purpose and consideration for making it configurable for different deployment environments would be beneficial. (Medium severity, commented)
  • Snapshot Repository in POMs: The opendaylight-snapshot repository is added to several POM files with a TODO to remove it later. This is acceptable for a WIP branch but should be addressed before merging to a stable branch. (Low severity, not commented)
  • API Adaptations: The code correctly adapts to API changes in updated dependencies, including Pekko, AAA, and Netconf databind. (Low severity, not commented)
  • Test Code Refactoring: Test code has been refactored to use a library class (CompletingServerRequest) instead of a local definition, which is a good practice. (Low severity, not commented)
  • Configuration File Updates: Configuration files (JSON, Helm templates, .conf) have been updated consistently with the Pekko migration and YANG model revisions. (Low severity, not commented)

Merge Readiness

This pull request introduces significant dependency updates and the migration to Pekko. While the core migration changes appear mechanically correct, there are a few medium-severity issues identified related to configuration clarity and potential conflicts (Pekko management config, snapshot directory, datastore path). Given that this is marked as WIP and these points require clarification or potential adjustments for production readiness, I recommend addressing the commented issues before merging. I am unable to approve this pull request; please have other reviewers review and approve this code before merging.

@Tobianas Tobianas changed the title WIP: Titanium Integration Titanium Integration Jul 11, 2025
@ihrasko

ihrasko commented Jul 21, 2025

Copy link
Copy Markdown
Collaborator

Warning Unhealthy 4s (x20 over 3m24s) kubelet Startup probe failed: Get "http://10.244.0.6:8888/restconf/data/network-topology:network-topology": dial tcp 10.244.0.6:8888: connect: connection refused

@Tobianas
Tobianas force-pushed the titanium branch 2 times, most recently from 687f8e5 to 26ef185 Compare July 23, 2025 08:23
Tobianas added 2 commits July 23, 2025 10:31
Adopt:
- odlparent-14.1.0
- infrautils-7.1.4
- yangtools-14.0.14
- mdsal-14.0.13
- controller-11.0.0
- aaa-0.21.0
- netconf-9.0.0
- bgpcep-0.23.0

Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
@Tobianas
Tobianas force-pushed the titanium branch 3 times, most recently from 438cf17 to 180c91f Compare July 23, 2025 12:41
Comment thread lighty-core/dependency-versions/pom.xml Outdated
Comment thread lighty-modules/lighty-restconf-nb-community/pom.xml Outdated
Tobianas added 7 commits July 24, 2025 12:30
Migrate according to:
opendaylight/controller@20d4ef4

Also add remote artery configuration which should
have been present but was not.

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
opendaylight/mdsal@2611261

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
opendaylight/controller@ffea74c

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
opendaylight/netconf@48249d0

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
opendaylight/netconf@86228ee

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
Tobianas added 15 commits July 24, 2025 12:30
opendaylight/netconf@8f0a6e3

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
Source routing here is inherent to MdsalRestconfStreamRegistry,
integrate ContextListener there and hide the start method -- it should
only be called by subclasses.

Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
opendaylight/bgpcep@4811fcf#diff-5aa906ff75773f71a831b88640265678f1d8c107e69942f8ed650c89bdfbb0e1

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
Instead of using Lighty CompletingServerRequest, rather use ODL
CompletingServerRequest.

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
opendaylight/bgpcep@48b3e26

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
opendaylight/controller@84dfb68

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
Checker-qual is no longer transitively:
opendaylight/yangtools@fde2db8

JIRA: LIGHTY-375
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
opendaylight/controller@158ab17

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
Implement changes made in:
opendaylight/netconf@b25bb1f

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
opendaylight/controller@2d7fe83

JIRA: LIGHTY-354
Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
servlet-jersey is not part of tests, therefore move it away from
test dependencies.

Signed-off-by: tobias.pobocik <tobias.pobocik@pantheon.tech>
@ihrasko
ihrasko merged commit 4af4acc into PANTHEONtech:main Jul 25, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants