Skip to content

Set envars to run tests with rmw_zenoh_cpp with multicast discovery#1218

Merged
ahcorde merged 3 commits intorollingfrom
yadu/test_zenoh_multicast
Mar 26, 2025
Merged

Set envars to run tests with rmw_zenoh_cpp with multicast discovery#1218
ahcorde merged 3 commits intorollingfrom
yadu/test_zenoh_multicast

Conversation

@Yadunund
Copy link
Copy Markdown
Member

See ros2/rmw_zenoh#567

To test this PR, we can run the usual CI jobs to show there are no regressions and additionally run a CI job with a copy of the ros2.repos file from ros2/ros2#1649 with CI Scripts branch set to yadu/cargo

Signed-off-by: Yadunund <yadunund@gmail.com>
Copy link
Copy Markdown
Collaborator

@fujitatomoya fujitatomoya left a comment

Choose a reason for hiding this comment

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

just out of curiosity, the default discovery behavior of zenoh is multicast discovery?

i mean that, if that is not default, doing all the tests for zenoh with non-default configuration would be kinda strange, just to pass the tests...? because that is actually used in default configuration (probably with zenoh router configuration), which is supposed to be tested by CI/CD pipeline in the 1st place to make sure that all the tests are pass? i understand the situation and development for zenoh, but it feels like missing the core purpose of CI/CD test for me...

just sharing my thought, not blocking this PR.

Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
Signed-off-by: yadunund <yadunund@gmail.com>
@Yadunund
Copy link
Copy Markdown
Member Author

@fujitatomoya, that's a very fair criticism. This PR effectively tests in CI with a different configuration/topology than the default.

Our goal is to enable starting the router in CI. @cottsay has been working on a middleware-agnostic way to launch processes during isolated tests. These processes could include the Zenoh router or the FastDDS discovery server. However, we may not have these features in place before the RMW freeze (but aim to before overall code freeze). Therefore, we're resorting to changing the CI configuration to demonstrate that rmw_zenoh can pass these tests. (Locally, these tests pass with the default configuration and router.) We intend to revert this change as soon as the necessary test features are available.

Happy to discuss this further.

cc: @mjcarroll

@Yadunund Yadunund marked this pull request as draft March 21, 2025 05:31
@fujitatomoya
Copy link
Copy Markdown
Collaborator

@Yadunund i did not mean to block this PR, so if that is the plan, i think that is okay to merge this work-around for now.

These processes could include the Zenoh router or the FastDDS discovery server.

this is so true. actually Fast-DDS also introduces discovery server in ros2 documentation, so it can be also tested with this process. that is very good enhancement for the test cases.

@ahcorde
Copy link
Copy Markdown
Contributor

ahcorde commented Mar 21, 2025

When running the tests locally on Ubuntu I'm getting errors in test_graph__rmw_zenoh_cpp and test_services__rmw_zenoh_cpp

  • test_graph__rmw_zenoh_cpp
98: /home/ahcorde/ros2_rolling/src/ros2/rcl/rcl/test/rcl/test_graph.cpp:1078: Failure
98: Expected: (attempts) <= (max_attempts), actual: 101 vs 100
98: Unable to attain all required nodes
  • test_services__rmw_zenoh_cpp
121: [service_fixture-1] [ERROR] [1742575407.925265153] [rcl]: Service never became ready
121: [client_fixture-2] [ERROR] [1742575407.932023887] [rcl]: Server never became available

@ahcorde
Copy link
Copy Markdown
Contributor

ahcorde commented Mar 21, 2025

@Yadunund my bad, my rmw_zenoh was not up to date, everything look good

@Yadunund Yadunund marked this pull request as ready for review March 21, 2025 17:25
@Yadunund
Copy link
Copy Markdown
Member Author

@fujitatomoya sounds good.

@ahcorde thanks for testing.

we will be opening a few more PRs like this across various core repos. Let's coordinate their merge once all the PRs have been reviewed / pass CI. So let's not merge this yet.

Signed-off-by: Yadunund <yadunund@gmail.com>
@Yadunund
Copy link
Copy Markdown
Member Author

Yadunund commented Mar 25, 2025

Gist (default ros2.repos with changes from this branch): https://gist.githubusercontent.com/Yadunund/c4074b12ea5bdedcddae7b60f60c34bc/raw/a0b16854e15efcc60c8551e816ae5881102485ec/ros2_ci.repos
BUILD args: --packages-up-to rcl rcl_action
TEST args: --packages-select rcl rcl_action

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

Gist (with rmw_zenoh and changes from this branch) : https://raw.githubusercontent.com/ros2/ros2/3f873e9c5a79ce3b47f70199708b21c07007cd7d/ros2.repos
BUILD args: --packages-up-to rcl rcl_action
TEST args: --packages-select rcl rcl_action

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@ros-discourse
Copy link
Copy Markdown

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/ros-pmc-minutes-for-march-25-2025/42807/1

@ahcorde ahcorde merged commit 7188b6f into rolling Mar 26, 2025
2 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.

5 participants