1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
Find a file
patchback[bot] e03ade818a
pkgutil: add update all, check-mode, squashing and examples (#799) (#1009)
* pkgutil: add update all, check-mode, squashing and examples

Taken from https://github.com/ansible/ansible/pull/51651 by dagwieers, which was taken from https://github.com/ansible/ansible/pull/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 dd9e999c9f)

Co-authored-by: Peter Oliver <git@mavit.org.uk>
2020-09-30 06:57:10 +02:00
.github postgresql modules: fix BOTMETA.yml (#1000) (#1001) 2020-09-29 14:49:27 +03:00
changelogs pkgutil: add update all, check-mode, squashing and examples (#799) (#1009) 2020-09-30 06:57:10 +02:00
meta Fix various sanity errors in plugins (#881) (#893) 2020-09-17 16:39:57 +00:00
plugins pkgutil: add update all, check-mode, squashing and examples (#799) (#1009) 2020-09-30 06:57:10 +02:00
scripts Remove DigitalOcean modules (moved to community.digitalocean) (#622) 2020-07-07 16:41:16 +02:00
tests pkgutil: add update all, check-mode, squashing and examples (#799) (#1009) 2020-09-30 06:57:10 +02:00
.gitignore Initial commit 2020-03-09 09:11:07 +00:00
CHANGELOG.rst Release 1.1.0. 2020-08-18 13:15:39 +02:00
COPYING Initial commit 2020-03-09 09:11:07 +00:00
galaxy.yml Next release will be 1.2.0. 2020-08-18 13:16:24 +02:00
README.md master -> main 2020-07-06 08:53:01 +02:00
shippable.yml Avoid patchback backports to use unnecessary CI resources. 2020-09-16 21:43:57 +02:00

Community General Collection

Run Status Codecov

This repo contains the community.general Ansible Collection. The collection includes many modules and plugins supported by Ansible community which are not part of more specialized community collections.

Tested with Ansible

Tested with the current Ansible 2.9 and 2.10 releases and the current development version of Ansible. Ansible versions before 2.9.10 are not supported.

External requirements

Some modules and plugins require external libraries. Please check the requirements for each plugin or module you use in the documentation to find out which requirements are needed.

Included content

Please check the included content on the Ansible Galaxy page for this collection.

Using this collection

Before using the General community collection, you need to install the collection with the ansible-galaxy CLI:

ansible-galaxy collection install community.general

You can also include it in a requirements.yml file and install it via ansible-galaxy collection install -r requirements.yml using the format:

collections:
- name: community.general

See Ansible Using collections for more details.

Contributing to this collection

If you want to develop new content for this collection or improve what is already here, the easiest way to work on the collection is to clone it into one of the configured COLLECTIONS_PATH, and work on it there.

You can find more information in the developer guide for collections, and in the Ansible Community Guide.

Running tests

See here.

Communication

We have a dedicated Working Group for Ansible development.

You can find other people interested on the following Freenode IRC channels -

  • #ansible - For general use questions and support.
  • #ansible-devel - For discussions on developer topics and code related to features or bugs.
  • #ansible-community - For discussions on community topics and community meetings.

For more information about communities, meetings and agendas see Community Wiki.

For more information about communication

Publishing New Version

Basic instructions without release branches:

  1. Create changelogs/fragments/<version>.yml with release_summary: section (which must be a string, not a list).
  2. Run antsibull-changelog release --collection-flatmap yes
  3. Make sure CHANGELOG.rst and changelogs/changelog.yaml are added to git, and the deleted fragments have been removed.
  4. Tag the commit with <version>. Push changes and tag to the main repository.

Release notes

See the changelog.

Roadmap

See this issue for information on releasing, versioning and deprecation.

In general, we plan to release a major version every six months, and minor versions every two months. Major versions can contain breaking changes, while minor versions only contain new features and bugfixes.

More information

Licensing

GNU General Public License v3.0 or later.

See COPYING to see the full text.