Skip to content

Gateway cannot resolve Fault Manager GetFault service when Fault Manager runs in a namespace #141

@bburda

Description

@bburda

Summary

When an additional ROS 2 namespace is applied to the Fault Manager node, ros2_medkit_gateway is no longer able to locate the GetFault service (e.g., it fails to find/call the expected GetFault/get_faults service). As a result, the system becomes fragile: introducing a namespace (often done for composition, multi-robot setups, or deployment conventions) can silently break Gateway-to-Fault Manager integration and be difficult to diagnose.

Proposed solution

Update ros2_medkit_gateway configuration so it can resolve the Fault Manager services even when the Fault Manager runs under a non-root namespace.

Concretely:

  • Add an explicit, configurable parameter in the Gateway (e.g., fault_manager_namespace or full service name overrides like get_faults_service_name).
  • Use that configuration to construct/resolve the fully-qualified service name (FQN), instead of assuming a fixed path such as /fault_manager/....
  • Optionally provide a safe default that preserves current behavior (root namespace), while allowing deployments to set a namespace without breaking service discovery.

This ensures that adding a namespace does not introduce a hard-to-trace integration failure and makes the dependency between Gateway and Fault Manager explicit and operationally visible.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions