-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
pkgutil: add update all, check-mode, squashing and examples #799
pkgutil: add update all, check-mode, squashing and examples #799
Conversation
@mavit This PR contains |
Taken from ansible/ansible#51651 by dagwieers, which was taken from ansible/ansible#27866 by scathatheworm. Let’s have one last attempt to get this merged. > ##### SUMMARY > > Original PR #27866 from scathatheworm > > When working with Solaris pkgutil CSW packages, I came across this module being very basic in functionality, in particular, that I could not use it to update all CSW packages. > > When going into details into the code I also found it did not incorporate a possibility of doing dry-run from the underlying utility, or supported to specify multiple packages for operations. > > This module probably sees very little use, but it seemed like nice functionality to add and make it behave a little more like other package modules. > ##### ISSUE TYPE > > * Feature Pull Request > > > ##### COMPONENT NAME > > pkgutil module > ##### ANSIBLE VERSION > > ``` > ansible 2.3.1.0 > config file = /etc/ansible/ansible.cfg > configured module search path = Default w/o overrides > python version = 2.7.5 (default, Aug 2 2016, 04:20:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] > ``` > > ##### ADDITIONAL INFORMATION > > * Added ability to upgrade all packages: > > > ```yaml > - pkgutil: > name: '*' > state: latest > ``` > > * Added ability to modify state of a list of packages: > > > ```yaml > - pkgutil: > name: > - CSWtop > - CSWwget > - CSWlsof > state: present > ``` > > * Added ability to have underlying tool perform a dry-run when using check mode, pkgutil -n > > * Added ability to configure force option to force packages to state determined by repository (downgrade for example) > > > ```yaml > - pkgutil: > name: CSWtop > state: latest > force: yes > ``` > > * Added more examples and documentation to show the new functionality
09b54af
to
51446f1
Compare
The test
The test
The test
The test
The test
The test
The test
The test
The test
|
https://docs.ansible.com/ansible/devel/community/development_process.html#changelogs Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
Co-authored-by: Felix Fontein <felix@fontein.de>
) | ||
name = module.params['name'] | ||
state = module.params['state'] | ||
site = module.params['site'] | ||
update_catalog = module.params['update_catalog'] | ||
force = module.params['force'] | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe do a check for '*' in name and name != ['*']
, and fail in that case. I don't think pkgutil likes to get *
passed (without knowing it).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It says, Package * not in catalog. Exiting.
, returning 1, which I don't think is any worse than detecting this ourselves.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Except if in the future pkgutil
supports *
:)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The most-recent commit to pkgutil
was in 2014, so don't hold your breath waiting for this (or any) new feature!
@dermute @dagwieers @scathatheworm could you please take a look at this PR? I'd like to have another opinion of someone actually using this module :) |
Co-authored-by: Felix Fontein <felix@fontein.de>
If nobody complains until tomorrow morning, I'll merge and backport this so it gets included in community.general 1.2.0. |
* pkgutil: add update all, check-mode, squashing and examples Taken from ansible/ansible#51651 by dagwieers, which was taken from ansible/ansible#27866 by scathatheworm. Let’s have one last attempt to get this merged. > ##### SUMMARY > > Original PR #27866 from scathatheworm > > When working with Solaris pkgutil CSW packages, I came across this module being very basic in functionality, in particular, that I could not use it to update all CSW packages. > > When going into details into the code I also found it did not incorporate a possibility of doing dry-run from the underlying utility, or supported to specify multiple packages for operations. > > This module probably sees very little use, but it seemed like nice functionality to add and make it behave a little more like other package modules. > ##### ISSUE TYPE > > * Feature Pull Request > > > ##### COMPONENT NAME > > pkgutil module > ##### ANSIBLE VERSION > > ``` > ansible 2.3.1.0 > config file = /etc/ansible/ansible.cfg > configured module search path = Default w/o overrides > python version = 2.7.5 (default, Aug 2 2016, 04:20:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] > ``` > > ##### ADDITIONAL INFORMATION > > * Added ability to upgrade all packages: > > > ```yaml > - pkgutil: > name: '*' > state: latest > ``` > > * Added ability to modify state of a list of packages: > > > ```yaml > - pkgutil: > name: > - CSWtop > - CSWwget > - CSWlsof > state: present > ``` > > * Added ability to have underlying tool perform a dry-run when using check mode, pkgutil -n > > * Added ability to configure force option to force packages to state determined by repository (downgrade for example) > > > ```yaml > - pkgutil: > name: CSWtop > state: latest > force: yes > ``` > > * Added more examples and documentation to show the new functionality * Add changelog fragment. * Observe changelog style guide https://docs.ansible.com/ansible/devel/community/development_process.html#changelogs Co-authored-by: Felix Fontein <felix@fontein.de> * Since module split, version_added no-longer refers to core Ansbile Co-authored-by: Felix Fontein <felix@fontein.de> * Tweak documentation * Apply the new `elements` feature for specifying list types Co-authored-by: Felix Fontein <felix@fontein.de> * Set version_added Co-authored-by: Felix Fontein <felix@fontein.de> * Document `pkg` alias for `name` * Be explicit about the purpose of states `installed` and `removed`. * Force the user to specify their desired state. * Review documentation for pkgutil module. * Fully qualify svr4pkg module name Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: Felix Fontein <felix@fontein.de> (cherry picked from commit dd9e999)
@mavit thanks a lot for reviving this! |
…1009) * pkgutil: add update all, check-mode, squashing and examples Taken from ansible/ansible#51651 by dagwieers, which was taken from ansible/ansible#27866 by scathatheworm. Let’s have one last attempt to get this merged. > ##### SUMMARY > > Original PR #27866 from scathatheworm > > When working with Solaris pkgutil CSW packages, I came across this module being very basic in functionality, in particular, that I could not use it to update all CSW packages. > > When going into details into the code I also found it did not incorporate a possibility of doing dry-run from the underlying utility, or supported to specify multiple packages for operations. > > This module probably sees very little use, but it seemed like nice functionality to add and make it behave a little more like other package modules. > ##### ISSUE TYPE > > * Feature Pull Request > > > ##### COMPONENT NAME > > pkgutil module > ##### ANSIBLE VERSION > > ``` > ansible 2.3.1.0 > config file = /etc/ansible/ansible.cfg > configured module search path = Default w/o overrides > python version = 2.7.5 (default, Aug 2 2016, 04:20:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] > ``` > > ##### ADDITIONAL INFORMATION > > * Added ability to upgrade all packages: > > > ```yaml > - pkgutil: > name: '*' > state: latest > ``` > > * Added ability to modify state of a list of packages: > > > ```yaml > - pkgutil: > name: > - CSWtop > - CSWwget > - CSWlsof > state: present > ``` > > * Added ability to have underlying tool perform a dry-run when using check mode, pkgutil -n > > * Added ability to configure force option to force packages to state determined by repository (downgrade for example) > > > ```yaml > - pkgutil: > name: CSWtop > state: latest > force: yes > ``` > > * Added more examples and documentation to show the new functionality * Add changelog fragment. * Observe changelog style guide https://docs.ansible.com/ansible/devel/community/development_process.html#changelogs Co-authored-by: Felix Fontein <felix@fontein.de> * Since module split, version_added no-longer refers to core Ansbile Co-authored-by: Felix Fontein <felix@fontein.de> * Tweak documentation * Apply the new `elements` feature for specifying list types Co-authored-by: Felix Fontein <felix@fontein.de> * Set version_added Co-authored-by: Felix Fontein <felix@fontein.de> * Document `pkg` alias for `name` * Be explicit about the purpose of states `installed` and `removed`. * Force the user to specify their desired state. * Review documentation for pkgutil module. * Fully qualify svr4pkg module name Co-authored-by: Felix Fontein <felix@fontein.de> Co-authored-by: Felix Fontein <felix@fontein.de> (cherry picked from commit dd9e999) Co-authored-by: Peter Oliver <git@mavit.org.uk>
@felixfontein Thanks for the fast and thorough review! |
Taken from ansible/ansible#51651 by @dagwieers, which was taken from ansible/ansible#27866 by @scathatheworm. Let’s have one last attempt to get this merged.
20150623 (Red Hat 4.8.5-4)]
check mode, pkgutil -n
determined by repository (downgrade for example)