Skip to content

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

@codecov
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 89.51%. Comparing base (eaee0da) to head (923e603).
⚠️ Report is 2 commits behind head on master.

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   89.50%   89.51%   +0.01%     
==========================================
  Files         155      156       +1     
  Lines       18534    18625      +91     
  Branches     1489     1493       +4     
==========================================
+ Hits        16588    16673      +85     
- Misses       1346     1349       +3     
- Partials      600      603       +3     
Flag Coverage Δ
unittests 89.51% <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 97.29% <ø> (ø)
...ontroller_manager/test/test_cleanup_controller.cpp 100.00% <100.00%> (ø)
...ller_manager/test/test_controller_manager_srvs.cpp 99.42% <100.00%> (+0.01%) ⬆️
.../controller_manager/controller_manager_services.py 79.88% <25.00%> (-1.26%) ⬇️
controller_manager/src/controller_manager.cpp 77.37% <84.00%> (+0.12%) ⬆️
🚀 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 ARK3r, aprotyas and destogl July 28, 2025 12:42
@soham2560
Copy link
Contributor Author

@christophfroehlich what would be a good place to add the release notes - Changelog? but for what version?
had something like below prepared

* Added `cleanup_controller` lifecycle transition to controller_manager,
  enabling controllers to transition from inactive to unconfigured state
  in alignment with ROS 2 Lifecycle semantics.
* Added CLI support for invoking controller cleanup.

@soham2560
Copy link
Contributor Author

added rqt_controller_manager issue at #2912

@soham2560
Copy link
Contributor Author

LGTM, but could we add release notes for this please? And we should create a follow-up issue to patch rqt_controller_manager with the new transition. Also this has to be udpated (in a future PR maybe)

# choices=['unconfigured', 'inactive', 'active'], TODO(destogl): when cleanup is impl

# TODO(destogl): This has to be implemented in CLI and controller manager
# if args.state == 'unconfigured':
# if matched_controller.state != 'inactive':
# return f'cannot cleanup {matched_controller.name} ' \
# f'from its current state {matched_controller.state}'
# response = cleanup_controller(
# node, args.controller_manager, args.controller_name
# )
# if not response.ok:
# return 'Error cleaning up controller, check controller_manager logs'
# # print(f'successfully cleaned up {args.controller_name}')
# return 0

added PR for the set_controller_verb at #2913

@christophfroehlich
Copy link
Member

christophfroehlich commented Dec 20, 2025

what would be a good place to add the release notes

We manually collect the important changes in here.

@soham2560
Copy link
Contributor Author

what would be a good place to add the release notes

We manually collect the important changes in here.

check out 923e603

Copy link
Member

@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.

Thanks!

@christophfroehlich christophfroehlich moved this from WIP to Needs review in Review triage Dec 20, 2025
Copy link
Member

@saikishor saikishor left a comment

Choose a reason for hiding this comment

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

Just one nitpick, what do you think about this?

@github-project-automation github-project-automation bot moved this from Needs review to WIP in Review triage Dec 20, 2025
@christophfroehlich christophfroehlich merged commit 67bffef into ros-controls:master Dec 20, 2025
16 of 18 checks passed
@github-project-automation github-project-automation bot moved this from WIP to Done in Review triage Dec 20, 2025
mergify bot pushed a commit that referenced this pull request Dec 20, 2025
Co-authored-by: baila <[email protected]>
Co-authored-by: Dr. Denis Štogl <[email protected]>
Co-authored-by: Christoph Fröhlich <[email protected]>
Co-authored-by: Sai Kishor Kothakota <[email protected]>
(cherry picked from commit 67bffef)

# Conflicts:
#	doc/release_notes.rst
#	ros2controlcli/setup.py
mergify bot pushed a commit that referenced this pull request Dec 20, 2025
Co-authored-by: baila <[email protected]>
Co-authored-by: Dr. Denis Štogl <[email protected]>
Co-authored-by: Christoph Fröhlich <[email protected]>
Co-authored-by: Sai Kishor Kothakota <[email protected]>
(cherry picked from commit 67bffef)

# Conflicts:
#	doc/release_notes.rst
#	ros2controlcli/setup.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-jazzy Triggers PR backport to ROS 2 jazzy. backport-kilted Triggers PR backport to ROS 2 kilted.

Projects

Status: Done

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