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] 96a970475f
monit: fix module detection of monitored process state (#1107) (#1163)
* refactor and test

* require version >= 5.21.0

Prior to this version the status output was different

* python version compatability

* use exception classes from utils

* modify monit to use 'status' output instead of 'summary' output

The summary output is a fixed width table which truncates the
contents and prevents us from parsing the actual status of the
program.

* add integration tests + fixes

* remove unused handlers in monit integration test

* fix lint

* add '__metaclass__ = type' to integration python files

* raise AttributeError

* simplify status

* lint: add type to parameter docs

* remove lint ignore

* move monit process config into main file

* specify path to monit PID file

* set config location based on os_family

* create required directories

* update aliases to set group and skips

* add changelog

* add author

* add types to docs

* add EPEL repo

* custom vars for centos-6

* uninstall EPEL

* support older versions

* wait for status to change before exiting

* use 'validate' to force status updates

* handle 'execution failed'

* better status output for errors

* add more context to failure + standardize

* don't check rc for validate

* legacy string format support

* add integration test for 'reloaded' and 'present'

* don't wait after reload

* lint

* Revert "uninstall EPEL"

This reverts commit 4d548718d0.

* make 'present' more robust

* Apply suggestions from code review

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>

* add license header

* drop daemon.py and use python-daemon instead

* skip python2.6 which is not supported by python-daemon

* refactor test tasks for reuse

* cleanup files after test

* lint

* start process before enabling monit

This shouldn't be necessary but I'm adding it in the hopes
it will make tests more robust.

* retry task

* attempt to rescue the task on failure

* fix indentation

* ignore check if rescue ran

* restart monit instead of reload

Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
(cherry picked from commit 8de1c0c205)

Co-authored-by: Simon Kelly <skelly@dimagi.com>
2020-10-23 14:01:01 +02:00
.github Update BOTMETA.yml (#1132) (#1146) 2020-10-21 08:40:19 +00:00
changelogs monit: fix module detection of monitored process state (#1107) (#1163) 2020-10-23 14:01:01 +02:00
meta Fix various sanity errors in plugins (#881) (#893) 2020-09-17 16:39:57 +00:00
plugins monit: fix module detection of monitored process state (#1107) (#1163) 2020-10-23 14:01:01 +02:00
scripts Remove DigitalOcean modules (moved to community.digitalocean) (#622) 2020-07-07 16:41:16 +02:00
tests monit: fix module detection of monitored process state (#1107) (#1163) 2020-10-23 14:01:01 +02:00
.gitignore Initial commit 2020-03-09 09:11:07 +00:00
CHANGELOG.rst Release 1.2.0. 2020-09-30 21:39:31 +02:00
COPYING Initial commit 2020-03-09 09:11:07 +00:00
galaxy.yml Add link to ansible docs page for this collection (#1022) (#1030) 2020-10-02 10:36:22 +02:00
README.md Add link to ansible docs page for this collection (#1022) (#1030) 2020-10-02 10:36:22 +02:00
shippable.yml Run tests with macOS 10.15. (#971) (#1015) 2020-09-30 16:32:08 +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.

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.

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.