Skip to content

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

Merged
Yadunund merged 4 commits intorollingfrom
ahcorde/rolling/test_zenoh_multicast
Mar 26, 2025
Merged

Set envars to run tests with rmw_zenoh_cpp with multicast discovery#1946
Yadunund merged 4 commits intorollingfrom
ahcorde/rolling/test_zenoh_multicast

Conversation

@ahcorde
Copy link
Copy Markdown
Contributor

@ahcorde ahcorde commented Mar 21, 2025

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: Alejandro Hernandez Cordero <ahcorde@gmail.com>
Copy link
Copy Markdown
Contributor

@MichaelOrlov MichaelOrlov left a comment

Choose a reason for hiding this comment

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

Can we somehow reduce the amount of boiler-plate code in this PR?

Copy link
Copy Markdown
Contributor

@MichaelOrlov MichaelOrlov left a comment

Choose a reason for hiding this comment

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

@ahcorde Could you please consider moving workaround for zenoh router to the downstream layer inside call_for_each_rmw_implementation ?
This way we will not need any changes on Rosbag2 side and perhaps in some other packages too.

@Yadunund
Copy link
Copy Markdown
Member

@ahcorde Could you please consider moving workaround for zenoh router to the downstream layer inside call_for_each_rmw_implementation ? This way we will not need any changes on Rosbag2 side and perhaps in some other packages too.

We considered this change. But unfortunately setting any envars within the call_for_each_rmw_implementation will not actually forward the envars to the runtime environment of the target. We would need to set the envar within ament_add_gtest but that feels worse.
Having said that, it should be possible to reduce boilerplate here. We should also be able to get away with just setting just the ZENOH_CONFIG_OVERRIDE=scouting/multicast/enabled=true envar.

@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

Signed-off-by: Yadunund <yadunund@gmail.com>
@Yadunund Yadunund marked this pull request as ready for review March 26, 2025 01:50
@Yadunund
Copy link
Copy Markdown
Member

Gist (default ros2.repos with changes from this branch): https://gist.githubusercontent.com/Yadunund/c4074b12ea5bdedcddae7b60f60c34bc/raw/99d863456c5338701720bec4f4b76408651adbe0/ros2_ci.repos
BUILD_ARGS: --packages-up-to rosbag2_cpp rosbag2_transport
TEST_ARGS: --packages-select test_communication rosbag2_cpp rosbag2_transport

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

Copy link
Copy Markdown
Contributor

@MichaelOrlov MichaelOrlov left a comment

Choose a reason for hiding this comment

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

@Yadunund I see a bunch of errors like

test_play__rmw_cyclonedds_cpp
2025-03-26T01:49:43.4449996Z   <<< failure message
2025-03-26T01:49:43.4450698Z     -- run_test.py: extra environment variables:
2025-03-26T01:49:43.4451388Z     usage: run_test.py [-h] [--package-name PACKAGE_NAME]
2025-03-26T01:49:43.4452082Z                        [--command COMMAND [COMMAND ...]] [--env ENV [ENV ...]]
2025-03-26T01:49:43.4452780Z                        [--append-env APPEND_ENV [APPEND_ENV ...]]
2025-03-26T01:49:43.4453473Z                        [--output-file OUTPUT_FILE] [--generate-result-on-success]
2025-03-26T01:49:43.4454281Z                        [--skip-test] [--skip-return-code SKIP_RETURN_CODE]
2025-03-26T01:49:43.4454782Z                        result_file
2025-03-26T01:49:43.4455342Z     run_test.py: error: --env argument 'rmw_implementation_env_var' contains no equal sign

in the RPR job run. It seems related to the changes from this PR.

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

Yadunund commented Mar 26, 2025

@MichaelOrlov thanks for flagging the errors. I think i've fixed it with b1925ba 🤞🏼

I'm surprised the CI jobs did not fail. Looking at the logs, one can see the same errors https://ci.ros2.org/job/ci_linux/22880/console#console-section-0 🤔

@Yadunund
Copy link
Copy Markdown
Member

Gist (default ros2.repos with changes from this branch): https://gist.githubusercontent.com/Yadunund/c4074b12ea5bdedcddae7b60f60c34bc/raw/99d863456c5338701720bec4f4b76408651adbe0/ros2_ci.repos
BUILD_ARGS: --packages-up-to rosbag2_cpp rosbag2_transport
TEST_ARGS: --packages-select test_communication rosbag2_cpp rosbag2_transport

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

@ahcorde ahcorde requested a review from MichaelOrlov March 26, 2025 10:01
@ahcorde
Copy link
Copy Markdown
Contributor Author

ahcorde commented Mar 26, 2025

with rmw_zenoh

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

@MichaelOrlov
Copy link
Copy Markdown
Contributor

@Yadunund @ahcorde Thank you for promptly fixing the issue. 👍

@Yadunund Yadunund merged commit c8291b1 into rolling Mar 26, 2025
11 checks passed
@Yadunund Yadunund deleted the ahcorde/rolling/test_zenoh_multicast branch March 26, 2025 21:07
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