Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 3 commits into from
Mar 26, 2025

Conversation

Yadunund
Copy link
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

Copy link
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 <[email protected]>
Signed-off-by: yadunund <[email protected]>
@Yadunund
Copy link
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
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
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
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
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 <[email protected]>
@Yadunund
Copy link
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

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