diff options
author | Sandra McCann <samccann@redhat.com> | 2022-07-15 16:36:34 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-15 13:36:34 -0700 |
commit | 5d8bf08e06641fbee30efbd00d69ba0b49883a90 (patch) | |
tree | 9e8f3e249d3113aa0e9dd3b3f2ee9a14f792ef31 /docs/docsite | |
parent | 4b9434788b4617ba12cffd023633ae0a41ead3bc (diff) | |
download | ansible-5d8bf08e06641fbee30efbd00d69ba0b49883a90.tar.gz |
Backportapalooza 7 15 (#78277)
* Pr 72292- Add context to inventory plugins (#78070)
* Add context to inventory plugins documentation
* Show how to add the inventory plugin to the `enable_plugins` configuration item - not just replace it.
* Show adding tags to `keyed_groups` without specifying the separator.
* Show adding more complex `groups` and `compose` statements, including using the ternary filter.
* As I added an additional group, I've updated the resulting `ansible-inventory` output accordingly.
(cherry picked from commit a77fc2e822effb6ad05037a52adf849adf2adedf)
* Update dpkg_selections.py (#78177)
* Update dpkg_selections.py to include an syntax example showing how to remove package holds
* Fix pep8 issue: dpkg_selections.py
Missed some trailing spaces when adding example text.
(cherry picked from commit 489b7f18592b4eb57d919cfeffff953c650bb3dd)
* fix ternary problem (#78186)
(cherry picked from commit 7ec8916097a4c4281215c127c80ed07c5b0b370d)
* documentation: become plugins: correct pluralization in description (#78196)
fixes #78195
(cherry picked from commit e10851d495fd073e22bdd78ec45a1f8019604b35)
* Update python_3_support.rst (#78239)
Fix invalid characters warning when using example group names. (Replace dashes in example group name with underscores.)
(cherry picked from commit be88250a83805599570997d669891afff2709f1b)
* Adding applicable licensing requirements (#78162)
(cherry picked from commit 6ddccc1604173cfbd56f3abe6aa4d8868d21b82a)
* Document choice to use Ansible Project in copyright lines (#78164)
Co-authored-by: Sviatoslav Sydorenko <wk.cvs.github@sydorenko.org.ua>
(cherry picked from commit c9a341902b1d678585191dc0f90307987e7bf7e1)
* stat only returns pw_name/gr_name if those can be looked up (#78183)
(cherry picked from commit 221af7640d501ef894df9becd6a5a22599041a59)
* example showing how to deal with keys w/o apt_key (#78206)
(cherry picked from commit 0590ce065ce51c208bce863365fa981cd931ce93)
* Migrate vmware.vmware_rest Dev Guide to collection (#78255)
(cherry picked from commit 048adac5b72a8f4d9e3c13fc5888787309db0d79)
* Updated release_and_maintenance.rst (#78272)
(cherry picked from commit 358a8ad7af3acf7e0768c2b503d421219b3c951c)
Co-authored-by: Micah Beasley <MBfromOK@users.noreply.github.com>
Co-authored-by: Alex Willmer <alex@moreati.org.uk>
Co-authored-by: Nathan Hyde <nathanhyde@gmail.com>
Co-authored-by: Desmond Obisi <51109125+DesmondSanctity@users.noreply.github.com>
Co-authored-by: Evgeni Golov <evgeni@golov.de>
Co-authored-by: Brian Coca <bcoca@users.noreply.github.com>
Co-authored-by: Mario Lenz <m@riolenz.de>
Co-authored-by: Ompragash Viswanathan <21008429+Ompragash@users.noreply.github.com>
Diffstat (limited to 'docs/docsite')
6 files changed, 39 insertions, 123 deletions
diff --git a/docs/docsite/rst/dev_guide/developing_modules_documenting.rst b/docs/docsite/rst/dev_guide/developing_modules_documenting.rst index c8f37e4a8d..9bd9cbd461 100644 --- a/docs/docsite/rst/dev_guide/developing_modules_documenting.rst +++ b/docs/docsite/rst/dev_guide/developing_modules_documenting.rst @@ -33,28 +33,24 @@ Begin your Ansible module with ``#!/usr/bin/python`` - this "shebang" allows ``a Copyright and license ===================== -After the shebang and UTF-8 coding, add a `copyright line <https://www.gnu.org/licenses/gpl-howto.en.html>`_ with the original copyright holder and a license declaration. The license declaration should be ONLY one line, not the full GPL prefix.: +After the shebang and UTF-8 coding, add a `copyright line <https://www.linuxfoundation.org/blog/copyright-notices-in-open-source-software-projects/>`_ with the original copyright holder and a license declaration. The license declaration should be ONLY one line, not the full GPL prefix.: .. code-block:: python #!/usr/bin/python # -*- coding: utf-8 -*- - # Copyright: (c) 2018, Terry Jones <terry.jones@example.org> + # Copyright: Contributors to the Ansible project # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) -Major additions to the module (for instance, rewrites) may add additional copyright lines. Any legal review will include the source control history, so an exhaustive copyright header is not necessary. -Please do not edit the existing copyright year. This simplifies project administration and is unlikely to cause any interesting legal issues. -When adding a second copyright line for a significant feature or rewrite, add the newer line above the older one: +Additions to the module (for instance, rewrites) are not permitted to add additional copyright lines other than the default copyright statement if missing: .. code-block:: python - #!/usr/bin/python - # -*- coding: utf-8 -*- - - # Copyright: (c) 2017, [New Contributor(s)] - # Copyright: (c) 2015, [Original Contributor(s)] - # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + # Copyright: Contributors to the Ansible project + +Any legal review will include the source control history, so an exhaustive copyright header is not necessary. +Please do not include a copyright year. If the existing copyright statement includes a year, do not edit the existing copyright year. Any existing copyright header should not be modified without permission from the copyright author. .. _ansible_metadata_block: diff --git a/docs/docsite/rst/dev_guide/platforms/vmware_rest_guidelines.rst b/docs/docsite/rst/dev_guide/platforms/vmware_rest_guidelines.rst index db35559a22..c176dfdbc3 100644 --- a/docs/docsite/rst/dev_guide/platforms/vmware_rest_guidelines.rst +++ b/docs/docsite/rst/dev_guide/platforms/vmware_rest_guidelines.rst @@ -4,108 +4,4 @@ Guidelines for VMware REST module development ********************************************* -The Ansible VMware REST collection (on `Galaxy <https://galaxy.ansible.com/vmware/vmware_rest>`_, source code `repository <https://github.com/ansible-collections/vmware.vmware_rest>`_) is maintained by Red Hat and the community. - -.. contents:: - :local: - -Contribution process -==================== - -The modules of the vmware_rest collection are autogenerated by another tool called `vmware_rest_code_generator <https://github.com/ansible-collections/vmware_rest_code_generator>`. - -If you would like to contribute a change, we would appreciate if you: - -- submit a Github Pull Request (PR) against the vmware_rest_code_generator project -- but also ensure the generated modules are compliant with our quality criteria. - -Requirements -============ - -You will need: - -- Python 3.6 or greater -- the `tox <https://tox.readthedocs.io/en/latest/install.html>` command - - -vmware_rest_code_generator -========================== - -Your contribution should follow the coding style of `Black <https://github.com/psf/black>`. -To run the code formatter, just run: - -.. code-block:: shell - - tox -e black - -To regenerate the vmware_rest collection, you can use the following commands: - -.. code-block:: shell - - tox -e refresh_modules -- --target-dir ~/.ansible/collections/ansible_collections/vmware/vmware_rest - -If you also want to update the EXAMPLE section of the modules, run: - -.. code-block:: shell - - tox -e refresh_examples -- --target-dir ~/.ansible/collections/ansible_collections/vmware/vmware_rest - -Testing with ansible-test -========================= - -All the modules are covered by a functional test. The tests are located in the :file:`tests/integration/targets/`. - -To run the tests, you will need a vcenter instance and an ESXi. - -black code formatter -^^^^^^^^^^^^^^^^^^^^ - -We follow the coding style of `Black <https://github.com/psf/black>`. -You can run the code formatter with the following command. - - -.. code-block:: shell - - tox -e black - -sanity tests -^^^^^^^^^^^^ - -Here we use Python 3.8, the minimal version is 3.6. - -.. code-block:: shell - - tox -e black - ansible-test sanity --debug --requirements --local --skip-test future-import-boilerplate --skip-test metaclass-boilerplate --python 3.8 -vvv - - -integration tests -^^^^^^^^^^^^^^^^^ - -These tests should be run against your test environment. - -..warning:: The test suite will delete all the existing DC from your test environment. - -First, prepare a configuration file, we call it :file:`/tmp/inventory-vmware_rest` in -this example: - -.. code-block:: ini - - [vmware_rest] - localhost ansible_connection=local ansible_python_interpreter=python - - [vmware_rest:vars] - vcenter_hostname=vcenter.test - vcenter_username=administrator@vsphere.local - vcenter_password=kLRy|FXwZSHXW0w?Q:sO - esxi1_hostname=esxi1.test - esxi1_username=zuul - esxi1_password=f6QYNi65k05kv8m56 - - -To run the tests, use the following command. You may want to adjust the Python version. - -.. code-block:: shell - - ansible-test network-integration --diff --no-temp-workdir --python 3.8 --inventory /tmp/inventory-vmware_rest zuul/ - +This guide has moved to :ref:`ansible_collections.vmware.vmware_rest.docsite.vmware_rest_devguide`. diff --git a/docs/docsite/rst/dev_guide/shared_snippets/licensing.txt b/docs/docsite/rst/dev_guide/shared_snippets/licensing.txt index 2802c4202e..d4b3051f98 100644 --- a/docs/docsite/rst/dev_guide/shared_snippets/licensing.txt +++ b/docs/docsite/rst/dev_guide/shared_snippets/licensing.txt @@ -7,3 +7,6 @@ * All other ``module_utils`` must be licensed under BSD, so GPL-licensed third-party and Galaxy modules can use them. * If there's doubt about the appropriate license for a file in ``module_utils``, the Ansible Core Team will decide during an Ansible Core Community Meeting. * All other files shipped with Ansible, including all modules, must be licensed under the GPL license (GPLv3 or later). + * Existing license requirements still apply to content in ansible/ansible (ansible-core). + * Content that was previously in ansible/ansible or a collection and has moved to a new collection must retain the license it had in its prior repository. + * Copyright entries by previous committers must also be kept in any moved files. diff --git a/docs/docsite/rst/plugins/inventory.rst b/docs/docsite/rst/plugins/inventory.rst index 8e2ade376a..3328af62e4 100644 --- a/docs/docsite/rst/plugins/inventory.rst +++ b/docs/docsite/rst/plugins/inventory.rst @@ -23,13 +23,20 @@ In some circumstances, for example, if the inventory plugin does not use a YAML [inventory] enable_plugins = host_list, script, auto, yaml, ini, toml -If the plugin is in a collection, use the fully qualified name: +If the plugin is in a collection and is not being picked up by the `auto` statement, you can append the fully qualified name: .. code-block:: ini [inventory] - enable_plugins = namespace.collection_name.inventory_plugin_name + enable_plugins = host_list, script, auto, yaml, ini, toml, namespace.collection_name.inventory_plugin_name +Or, if it is a local plugin, perhaps stored in the path set by :ref:`DEFAULT_INVENTORY_PLUGIN_PATH`, you could reference it as follows: + +.. code-block:: ini + + [inventory] + enable_plugins = host_list, script, auto, yaml, ini, toml, my_plugin + If you use a plugin that supports a YAML configuration source, make sure that the name matches the name provided in the ``plugin`` entry of the inventory source file. .. _using_inventory: @@ -80,12 +87,24 @@ You can create dynamic groups using host variables with the constructed ``keyed_ - key: tags.Name prefix: tag_Name_ separator: "" + # If you have a tag called "Role" which has the value "Webserver", this will add the group + # role_Webserver and add any hosts that have that tag assigned to it. + - key: tags.Role + prefix: role groups: # add hosts to the group development if any of the dictionary's keys or values is the word 'devel' development: "'devel' in (tags|list)" + # add hosts to the "private_only" group if the host doesn't have a public IP associated to it + private_only: "public_ip_address is not defined" compose: - # set the ansible_host variable to connect with the private IP address without changing the hostname - ansible_host: private_ip_address + # use a private address where a public one isn't assigned + ansible_host: public_ip_address|default(private_ip_address) + # alternatively, set the ansible_host variable to connect with the private IP address without changing the hostname + # ansible_host: private_ip_address + # if you *must* set a string here (perhaps to identify the inventory source if you have multiple + # accounts you want to use as sources), you need to wrap this in two sets of quotes, either ' then " + # or " then ' + some_inventory_wide_string: '"Yes, you need both types of quotes here"' Now the output of ``ansible-inventory -i demo.aws_ec2.yml --graph``: @@ -99,6 +118,8 @@ Now the output of ``ansible-inventory -i demo.aws_ec2.yml --graph``: |--@development: | |--ec2-12-345-678-901.compute-1.amazonaws.com | |--ec2-98-765-432-10.compute-1.amazonaws.com + |--@role_Webserver + | |--ec2-12-345-678-901.compute-1.amazonaws.com |--@tag_Name_ECS_Instance: | |--ec2-98-765-432-10.compute-1.amazonaws.com |--@tag_Name_Test_Server: diff --git a/docs/docsite/rst/reference_appendices/python_3_support.rst b/docs/docsite/rst/reference_appendices/python_3_support.rst index da06023c1a..4471c64714 100644 --- a/docs/docsite/rst/reference_appendices/python_3_support.rst +++ b/docs/docsite/rst/reference_appendices/python_3_support.rst @@ -52,11 +52,11 @@ Using Python 3 on the managed machines with commands and playbooks localhost-py3 ansible_host=localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3 # Example of setting a group of hosts to use Python3 - [py3-hosts] + [py3_hosts] ubuntu16 fedora27 - [py3-hosts:vars] + [py3_hosts:vars] ansible_python_interpreter=/usr/bin/python3 .. seealso:: :ref:`intro_inventory` for more information. diff --git a/docs/docsite/rst/reference_appendices/release_and_maintenance.rst b/docs/docsite/rst/reference_appendices/release_and_maintenance.rst index 649f938b19..8fa16d21d3 100644 --- a/docs/docsite/rst/reference_appendices/release_and_maintenance.rst +++ b/docs/docsite/rst/reference_appendices/release_and_maintenance.rst @@ -82,7 +82,7 @@ Ansible Community Package Release Status Core ver ================================== ============================ ========================= 7.0.0 In development (unreleased) 2.14 `6.x Changelogs`_ Current 2.13 -`5.x Changelogs`_ Unmaintained/EOL after 5.10 2.12 +`5.x Changelogs`_ Unmaintained (end of life) 2.12 `4.x Changelogs`_ Unmaintained (end of life) 2.11 `3.x Changelogs`_ Unmaintained (end of life) 2.10 `2.10 Changelogs`_ Unmaintained (end of life) 2.10 |