ros2 / ros2/launch

Setting additional_env in a ComposableNodeContainer will set the launch's environment as well

Open
#715 2 comments 0 reactions 1 assignee View on GitHub

@methylDragon is already working on this.

Since Jul 6, 2023.

Dominant language
Python
Stars
155
Forks
182
Avg merge
2d 14h
Merged PRs (30d)
6

Description

Bug report

Required Info:

  • Operating System:
    • Ubuntu 22.04
  • Installation type:
    • Binaries
  • Version or commit hash:
    • humble
  • DDS implementation:
    • CycloneDDS
  • Client library (if applicable):
    • rclcpp
Steps to reproduce issue
  1. Create 2 CycloneDDS profiles where each has its own unique participant ID.
  2. Set environment variable for CYCLONEDDS_URI=file://<profile-path>.
  3. Create a launch file which runs a ComposableNodeContainer with some components (as seem in this example
  4. **If you try to run this now, it will fail because both the ComposableNodeContainer and the ROS2 temporary node which is used to load components are trying to use the same ports. **
  5. Set additional_env e.g.: {"CYCLONEDDS_URI": "file://<path-to-other-profile>}
  6. Run the launch file.
Expected behavior

The composable node container should match the ports of the second profile (step 5), while the ROS2 node which send the LoadNode requests use the ports matching the ports of the first profile (step 2).

Actual behavior

You will get the same error as in step 4, but this time the ports match the ports of the second profile. This actually means that you can't run a composable node container with pre-defined participant ID.

Additional information

This worked fine in galactic, and when we try to port to humble, we stumbled upon this issue

Thank you
Omer

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.