@ -26,7 +26,7 @@ Although it's tempting to get straight into coding, there are a few things to be
* Shared code can be placed into ``lib/ansible/module_utils/``
* Shared code can be placed into ``lib/ansible/module_utils/``
* Shared documentation (for example describing common arguments) can be placed in ``lib/ansible/utils/module_docs_fragments/``.
* Shared documentation (for example describing common arguments) can be placed in ``lib/ansible/utils/module_docs_fragments/``.
* With great power comes great responsibility: Ansible module maintainers have a duty to help keep modules up to date. As with all successful community projects, module maintainers should keep a watchful eye for reported issues and contributions.
* With great power comes great responsibility: Ansible module maintainers have a duty to help keep modules up to date. As with all successful community projects, module maintainers should keep a watchful eye for reported issues and contributions.
* Although not required, unit and/or integration tests are strongly recommended. Unit tests are especially valuable when external resources (such as cloud or network devices) are required. For more information see :doc:`dev_guide/testing` and the `Testing Working Group <https://github.com/ansible/community/blob/master/meetings/README.md>`_.
* Although not required, unit and/or integration tests are strongly recommended. Unit tests are especially valuable when external resources (such as cloud or network devices) are required. For more information see :doc:`testing` and the `Testing Working Group <https://github.com/ansible/community/blob/master/meetings/README.md>`_.
* Starting with Ansible 2.4 all :doc:`../list_of_network_modules` MUST have unit tests.
* Starting with Ansible 2.4 all :doc:`../list_of_network_modules` MUST have unit tests.
Ansible supports a few ways of providing configuration variables, mainly through environment variables, command line switches and an ini file `ansible.cfg`.
Ansible supports a few ways of providing configuration variables, mainly through environment variables, command line switches and an ini file ``ansible.cfg``.
Starting at Ansible 2.4 the `ansible-config` utility allows users to see all the configuration settings available, their defaults, how to set them and
Starting at Ansible 2.4 the ``ansible-config`` utility allows users to see all the configuration settings available, their defaults, how to set them and
where their current value comes from. See :doc:ansible-config for more information.
where their current value comes from. See :doc:ansible-config for more information.
@ -17,20 +17,21 @@ The configuration file
Changes can be made and used in a configuration file which will be searched for in the following order:
Changes can be made and used in a configuration file which will be searched for in the following order:
* ANSIBLE_CONFIG (environment variable if set)
* ``ANSIBLE_CONFIG`` (environment variable if set)
* ansible.cfg (in the current directory)
* ``ansible.cfg`` (in the current directory)
* ~/.ansible.cfg (in the home directory)
* ``~/.ansible.cfg`` (in the home directory)
* /etc/ansible/ansible.cfg
* ``/etc/ansible/ansible.cfg``
Ansible will process the above list and use the first file found, all others are ignored.
Ansible will process the above list and use the first file found, all others are ignored.
.. note:: Comments
.. note::
The configuration file is one variant of an INI format.
Both the hash sign ("#") and semicolon (";") are allowed as
The configuration file is one variant of an INI format.
comment markers when the comment starts the line.
Both the hash sign (``#``) and semicolon (``;``) are allowed as
However, if the comment is inline with regular values,
comment markers when the comment starts the line.
only the semicolon is allowed to introduce the comment.
However, if the comment is inline with regular values,
For instance::
only the semicolon is allowed to introduce the comment.
For instance::
# some basic default values...
# some basic default values...
inventory = /etc/ansible/hosts ; This points to the file that lists your hosts
inventory = /etc/ansible/hosts ; This points to the file that lists your hosts