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

New "Configure" transition for the LifecycleManager #4345

Closed
jonipol opened this issue May 15, 2024 · 2 comments
Closed

New "Configure" transition for the LifecycleManager #4345

jonipol opened this issue May 15, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@jonipol
Copy link
Contributor

jonipol commented May 15, 2024

Hello!

Feature request

The current implementation of the LifecycleManager only allows to transition all the nodes from unconfigured to active which causes some issues in certain cases at startup for the system we are working on. If one would add the transition from unconfigured to inactive as "CONFIGURE" would you approve such contribution? Or is there some problem with that which I have not been able to see?

Feature description

Add a CONFIGURE transition to the LifecycleManager which transitions all the managed nodes from unconfigured to inactive state.

Implementation considerations

Requires:

  • Adding a new command to ManageLifecycleNodes.srv eg. uint8 CONFIGURE = 5
  • Handle the case in the lifecycle_manager.cpp
@SteveMacenski SteveMacenski added the enhancement New feature or request label May 15, 2024
@SteveMacenski
Copy link
Member

SteveMacenski commented May 15, 2024

Seems reasonable enough - take a look at the lifecycle manager and lifecycle manager client, I think that you'll see its easy that we can exposure the full spectrum of lifecycle states in addition to the "composed" transitions that we do for a 1-button startup. I think that would be a great contribution and I would be happy to review / merge that PR 😄

You'd just have to call the manage nodes service 2x for bring up / shutdown using the rclcpp lifecycle transition types rather than our "startup" and "shutdown".

Just make sure to expose them all so that you can bring up and shut down through the appropriate state transitions -- not just configure, but also activate, deactivate, etc. Should be really quick, I think you'll spend equal time on the tests as actually updating the code, its alot of copy-pasting of the current structure for new transitions.

@SteveMacenski
Copy link
Member

PR to be merged imminently

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants