Skip to content

Setting certain extra-arguments to components has no effect #978

@fabmene

Description

@fabmene

Bug report

Required Info:

  • Operating System:
    • Ubuntu 18.04
  • Installation type:
    • Binaries
  • Version or commit hash:
    • Eloquent
  • DDS implementation:
    • Fast-RTPS
  • Client library (if applicable):
    • rclcpp

Steps to reproduce issue

Minimal component example:

#include "rclcpp/rclcpp.hpp"
class MyNode : public rclcpp::Node
{
public:
  explicit MyNode(const rclcpp::NodeOptions& options) : rclcpp::Node("my_node", options){
    setvbuf(stdout, NULL, _IONBF, BUFSIZ);
    if (options.use_intra_process_comms())
      RCLCPP_INFO(this->get_logger(), "Using IPC");
    if (options.allow_undeclared_parameters())
      RCLCPP_INFO(this->get_logger(), "Allowing undeclared params");
    if (options.use_global_arguments())
      RCLCPP_INFO(this->get_logger(), "Using global arguments");
};

#include "rclcpp_components/register_node_macro.hpp"
RCLCPP_COMPONENTS_REGISTER_NODE(my_pkg::MyNode)

Start a component container and load above component with extra arguments, either as launch, or via cli:

container = ComposableNodeContainer(
            node_name='my_container',
            node_namespace='',
            package='rclcpp_components',
            node_executable='component_container',
            composable_node_descriptions=[
                ComposableNode(
                    package='my_pkg',
                    node_plugin='my_node::MNode',
                    node_name='my_node1',
                    extra_arguments=[{'use_intra_process_comms': True}, \
                      {'allow_undeclared_parameters': True}, \
                      {'use_global_arguments': True}])
            ], 
            output='screen',

Expected behavior

[component_container-1] [INFO] [my_node]: Using IPC
[component_container-1] [INFO] [my_node]: Allowing undeclared params
[component_container-1] [INFO] [my_node]: Using global arguments

Actual behavior

[component_container-1] [INFO] [my_node]: Using IPC

Additional Information

Does not seem to depend on order or number of arguments.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions