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
Alexei Znamensky e3fcc7de2a
Adding module_utils/module_helper.py + big revamp in xfconf.py to use it (#1322)
* Big revamp in xfconf.py

- added plugin/module_utils/module_helper.py
  - scaffold class for writing modules, beyond standard AnsibleModule
  - automatic capture of exceptions
  - easier dependency testing
  - StateMixin to easily handle different behaviours for 'state' param
  - CmdMixin to easily run external commands
- adapted test_xfconf.py
  - the args for run_command are now lists instead of a string
  - value and previous_value were not being tested before (because xfconf wasn't filling results - see below)
  - added more tests: setting value to previous_value, getting non-existent property
- rewritten xfconf module, keeping the same results
  - original module posted results as ansible_facts, this version still does it for compatibility, but also adds to the module result

* Added suggestions from the PR

* Added russoz as maintainer for the module_utils/module_helper.py file

* Formatting using printf-style requires special treatment

Strings not containing substitution tokens must work as well.

* Tidied up variables in module definition

* Tests with ArgFormat and DependencyCtxMgr

* pytest parameters must be in the same order, it seems

* improved testing for the DependencyCtxMgr

* fixed test for older pythons

* Moved changed property to improve readability

* Added testcase for state: absent and adjusted xfconf after it

* Fixed param name environ_update in run_command()

* added changelog fragment

* fixed tests after run_command param change
2020-11-20 11:27:53 +01:00
.github Adding module_utils/module_helper.py + big revamp in xfconf.py to use it (#1322) 2020-11-20 11:27:53 +01:00
changelogs Adding module_utils/module_helper.py + big revamp in xfconf.py to use it (#1322) 2020-11-20 11:27:53 +01:00
meta Fix various sanity errors in plugins (#881) 2020-09-16 11:06:45 +02:00
plugins Adding module_utils/module_helper.py + big revamp in xfconf.py to use it (#1322) 2020-11-20 11:27:53 +01:00
scripts infoblox inventory script: Use stderr, and allow use of environment for config (#436) 2020-10-26 19:42:05 +01:00
tests Adding module_utils/module_helper.py + big revamp in xfconf.py to use it (#1322) 2020-11-20 11:27:53 +01:00
.gitignore Initial commit 2020-03-09 09:11:07 +00:00
CHANGELOG.rst Cleanup changelog for not included zabbix plugins (#760) 2020-08-11 08:02:30 +02:00
COPYING Initial commit 2020-03-09 09:11:07 +00:00
galaxy.yml Remove ansible.posix dependency (#1157) 2020-10-28 12:57:00 +01:00
README.md Clarify COLLECTIONS_PATH value when using clone (#1234) 2020-11-06 06:20:43 +01:00
shippable.yml Disable docker tests (#1194) 2020-10-29 08:02:33 +01: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.

You can find documentation for this collection on the Ansible docs site.

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 or the documentation on the Ansible docs site.

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.

For example, if you are working in the ~/dev directory:

cd ~/dev
git clone git@github.com:ansible-collections/community.general.git collections/ansible_collections/community/general
export COLLECTIONS_PATH=$(pwd)/collections:$COLLECTIONS_PATH

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.