mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-06-11 02:25:36 +00:00
[PR #12185/213581be backport][stable-13] fix: treat chdev execution failures as module errors in aix_devices (#12197)
fix: treat chdev execution failures as module errors in aix_devices (#12185)
* fix: treat chdev execution failures as module errors in aix_devices
##### SUMMARY
Fix the aix_devices module so that a failed chdev command is reported as a module failure instead of a successful result.
The previous implementation called fail_json incorrectly by returning success through the normal completion path when chdev returned a non-zero exit status. This could allow a playbook to continue even though the requested device attribute change was not applied.
This change replaces the success-style error handling with proper failure handling in the chdev execution path, making task results consistent with the actual command outcome.
##### ISSUE TYPE
- Bugfix Pull Request
##### COMPONENT NAME
aix_devices
##### ADDITIONAL INFORMATION
The affected code path is in change_device_attr() when the module executes chdev to apply attribute updates.
Before this change:
- chdev could fail
- the module could still report success
- later tasks could run against an unexpected system state
After this change:
- chdev failures are returned through fail_json
- the task stops with an error
- playbook behavior matches the real execution result
```paste below
Before:
module.exit_json(msg="Failed to run chdev.", rc=rc, err=err)
After:
module.fail_json(msg="Failed to run chdev.", rc=rc, err=err)
```
* Add changelog fragment for aix_devices chdev failure fix (#12185)
---------
(cherry picked from commit 213581bef8)
Co-authored-by: Hirofumi Arimoto <hiro0107@users.noreply.github.com>
Co-authored-by: Hirofumi Arimoto <harimoto@jp.ibm.com>
This commit is contained in:
parent
8065ed169d
commit
876f8ca18c
2 changed files with 3 additions and 1 deletions
2
changelogs/fragments/12185-aix-devices-chdev-fail.yml
Normal file
2
changelogs/fragments/12185-aix-devices-chdev-fail.yml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- "aix_devices - fix ``chdev`` command failures being incorrectly reported as successful results, now properly fails the task when device attribute changes cannot be applied (https://github.com/ansible-collections/community.general/pull/12185)."
|
||||
|
|
@ -235,7 +235,7 @@ def change_device_attr(module, attributes, device, force):
|
|||
if not module.check_mode:
|
||||
rc, chdev_out, err = module.run_command(cmd)
|
||||
if rc != 0:
|
||||
module.exit_json(msg="Failed to run chdev.", rc=rc, err=err)
|
||||
module.fail_json(msg="Failed to run chdev.", rc=rc, err=err)
|
||||
|
||||
attr_changed.append(attributes[attr])
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue