Skip to content

Add cleanup_controller lifecycle transition #2414

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

Open
wants to merge 27 commits into
base: master
Choose a base branch
from

Conversation

soham2560
Copy link
Contributor

@soham2560 soham2560 commented Jul 27, 2025

Brief

This PR completes #1236 by @bailaC which was started to fix #759.

TODOs

  • Address previous discussions on original PR

Copy link

codecov bot commented Jul 27, 2025

Codecov Report

❌ Patch coverage is 91.35802% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.93%. Comparing base (39c588e) to head (b0954f3).

Files with missing lines Patch % Lines
controller_manager/src/controller_manager.cpp 84.00% 1 Missing and 3 partials ⚠️
.../controller_manager/controller_manager_services.py 25.00% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2414      +/-   ##
==========================================
+ Coverage   88.92%   88.93%   +0.01%     
==========================================
  Files         148      149       +1     
  Lines       16973    17053      +80     
  Branches     1448     1452       +4     
==========================================
+ Hits        15093    15166      +73     
- Misses       1318     1321       +3     
- Partials      562      566       +4     
Flag Coverage Δ
unittests 88.93% <91.35%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
controller_manager/controller_manager/__init__.py 100.00% <ø> (ø)
.../include/controller_manager/controller_manager.hpp 96.87% <ø> (ø)
...ontroller_manager/test/test_cleanup_controller.cpp 100.00% <100.00%> (ø)
...ller_manager/test/test_controller_manager_srvs.cpp 99.35% <100.00%> (+0.01%) ⬆️
.../controller_manager/controller_manager_services.py 81.17% <25.00%> (-1.36%) ⬇️
controller_manager/src/controller_manager.cpp 74.59% <84.00%> (+0.11%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@christophfroehlich christophfroehlich changed the title [UPDATE] Issue 759: This will add the cleanup service Add cleanup_controller lifecycle transition Jul 28, 2025
@soham2560 soham2560 marked this pull request as ready for review July 28, 2025 12:36
@github-actions github-actions bot requested review from aprotyas, ARK3r and destogl July 28, 2025 12:42
@soham2560
Copy link
Contributor Author

For the suggestions from #1236 refer 3b5f695

Copy link
Contributor

@christophfroehlich christophfroehlich left a comment

Choose a reason for hiding this comment

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

Why naming the transition unconfigure? Usually we try to stick to the ROS 2 lifecycle nomenclature, there is no unconfigure?
https://design.ros2.org/articles/node_lifecycle.html

@soham2560
Copy link
Contributor Author

Why naming the transition unconfigure? Usually we try to stick to the ROS 2 lifecycle nomenclature, there is no unconfigure?
https://design.ros2.org/articles/node_lifecycle.html

This had come out of a conversation I had with @saikishor and @bmagyar some weeks back. @saikishor 's opinion was that unconfigure is a much more intuitive transition name and preferred for human facing interfaces which makes sense to me too(hence change is only for verbs and services) and @bmagyar also agreed that maybe we should make the change across the board (like in rqt controller manager, as you might remember we had a similar discussion at #2151) and maybe not remain tied to the node lifecycle naming scheme.

They might be able to much better explain their own views, but that was the reasoning at the time that convinced me to go for it

@saikishor
Copy link
Member

Why naming the transition unconfigure? Usually we try to stick to the ROS 2 lifecycle nomenclature, there is no unconfigure?
https://design.ros2.org/articles/node_lifecycle.html

This had come out of a conversation I had with @saikishor and @bmagyar some weeks back. @saikishor 's opinion was that unconfigure is a much more intuitive transition name and preferred for human facing interfaces which makes sense to me too(hence change is only for verbs and services) and @bmagyar also agreed that maybe we should make the change across the board (like in rqt controller manager, as you might remember we had a similar discussion at #2151) and maybe not remain tied to the node lifecycle naming scheme.

They might be able to much better explain their own views, but that was the reasoning at the time that convinced me to go for it

@christophfroehlich if needed, we can discuss this at PMC meeting

@destogl
Copy link
Member

destogl commented Jul 30, 2025

Why naming the transition unconfigure? Usually we try to stick to the ROS 2 lifecycle nomenclature, there is no unconfigure? https://design.ros2.org/articles/node_lifecycle.html

In the node lifecycle naming, there is even no such transition. So I think this is fine as it doesn't collide with anything.

@christophfroehlich
Copy link
Contributor

In the node lifecycle naming, there is even no such transition. So I think this is fine as it doesn't collide with anything.

I'm not sure if I understand: The proposal here is to transit from inactive state to unconfigured, this transition exists and is called cleanup?

@soham2560
Copy link
Contributor Author

soham2560 commented Jul 30, 2025

we decided in todays PMC meet to go back to cleanup, have made relevant changes at c5c3a13 and
40cf540

Copy link
Contributor

@christophfroehlich christophfroehlich left a comment

Choose a reason for hiding this comment

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

+1

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.

Add cleanup_controller service and method to controller manager and also add its CLI script
5 participants