mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Some various comments about the new repos, more to likely come.
This commit is contained in:
parent
bceb0026a5
commit
e8fe306cef
6 changed files with 91 additions and 16 deletions
|
@ -62,11 +62,14 @@ I'd Like To Report A Bugs
|
||||||
|
|
||||||
Ansible practices responsible disclosure - if this is a security related bug, email `security@ansible.com <mailto:security@ansible.com>`_ instead of filing a ticket or posting to the Google Group and you will receive a prompt response.
|
Ansible practices responsible disclosure - if this is a security related bug, email `security@ansible.com <mailto:security@ansible.com>`_ instead of filing a ticket or posting to the Google Group and you will receive a prompt response.
|
||||||
|
|
||||||
Bugs should be reported to `github.com/ansible/ansible <http://github.com/ansible/ansible>`_ after
|
Bugs related to the core language should be reported to `github.com/ansible/ansible <http://github.com/ansible/ansible>`_ after
|
||||||
signing up for a free github account. Before reporting a bug, please use the bug/issue search
|
signing up for a free github account. Before reporting a bug, please use the bug/issue search
|
||||||
to see if the issue has already been reported.
|
to see if the issue has already been reported.
|
||||||
|
|
||||||
When filing a bug, please use the `issue template <https://raw2.github.com/ansible/ansible/devel/ISSUE_TEMPLATE.md>`_ to provide all relevant information.
|
MODULE related bugs however should go to `ansible-modules-core <github.com/ansible/ansible-modules-core>`_ or `ansible-modules-extras <github.com/ansible/ansible-modules-extras>`_ based on the classification of the module. This is listed on the bottom of the docs page for any module.
|
||||||
|
|
||||||
|
When filing a bug, please use the `issue template <https://raw2.github.com/ansible/ansible/devel/ISSUE_TEMPLATE.md>`_ to provide all relevant information, regardless of what repo you are filing a ticket against.
|
||||||
|
|
||||||
Knowing your ansible version and the exact commands you are running, and what you expect, saves time and helps us help everyone with their issues
|
Knowing your ansible version and the exact commands you are running, and what you expect, saves time and helps us help everyone with their issues
|
||||||
more quickly.
|
more quickly.
|
||||||
|
|
||||||
|
@ -102,8 +105,7 @@ documenting a new feature, submit a github pull request to the code that
|
||||||
lives in the “docsite/rst” subdirectory of the project for most pages, and there is an "Edit on GitHub"
|
lives in the “docsite/rst” subdirectory of the project for most pages, and there is an "Edit on GitHub"
|
||||||
link up on those.
|
link up on those.
|
||||||
|
|
||||||
Module documentation is generated from a DOCUMENTATION structure embedded in the source code of each module
|
Module documentation is generated from a DOCUMENTATION structure embedded in the source code of each module, which is in either the ansible-modules-core or ansible-modules-extra repos on github, depending on the module. Information about this is always listed on the bottom of the web documentation for each module.
|
||||||
in the library/ directory.
|
|
||||||
|
|
||||||
Aside from modules, the main docs are in restructured text
|
Aside from modules, the main docs are in restructured text
|
||||||
format.
|
format.
|
||||||
|
@ -131,9 +133,9 @@ Contributing Code (Features or Bugfixes)
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
||||||
The Ansible project keeps it’s source on github at
|
The Ansible project keeps it’s source on github at
|
||||||
`github.com/ansible/ansible <http://github.com/ansible/ansible>`_
|
`github.com/ansible/ansible <http://github.com/ansible/ansible>`_ for the core application, and two sub repos ansible/ansible-modules-core and ansible/ansible-modules-extras for module related items. If you need to know if a module is in 'core' or 'extras', consult the web documentation page for that module.
|
||||||
|
|
||||||
and takes contributions through
|
The project takes contributions through
|
||||||
`github pull requests <https://help.github.com/articles/using-pull-requests>`_.
|
`github pull requests <https://help.github.com/articles/using-pull-requests>`_.
|
||||||
|
|
||||||
It is usually a good idea to join the ansible-devel list to discuss any large features prior to submission, and this especially helps in avoiding duplicate work or efforts where we decide, upon seeing a pull request for the first time, that revisions are needed. (This is not usually needed for module development, but can be nice for large changes).
|
It is usually a good idea to join the ansible-devel list to discuss any large features prior to submission, and this especially helps in avoiding duplicate work or efforts where we decide, upon seeing a pull request for the first time, that revisions are needed. (This is not usually needed for module development, but can be nice for large changes).
|
||||||
|
|
|
@ -11,9 +11,17 @@ See :doc:`modules` for a list of various ones developed in core.
|
||||||
Modules can be written in any language and are found in the path specified
|
Modules can be written in any language and are found in the path specified
|
||||||
by `ANSIBLE_LIBRARY` or the ``--module-path`` command line option.
|
by `ANSIBLE_LIBRARY` or the ``--module-path`` command line option.
|
||||||
|
|
||||||
|
By default, everything that ships with ansible is pulled from it's source tree, but
|
||||||
|
additional paths can be added.
|
||||||
|
|
||||||
|
The directory "./library", alongside your top level playbooks, is also automatically
|
||||||
|
added as a search directory.
|
||||||
|
|
||||||
Should you develop an interesting Ansible module, consider sending a pull request to the
|
Should you develop an interesting Ansible module, consider sending a pull request to the
|
||||||
`github project <http://github.com/ansible/ansible>`_ to see about getting your module
|
`moudule-extras project <http://github.com/ansible/ansible-module-extras>`_. There's also a core
|
||||||
included in the core project.
|
repo for more established and widely used modules. "Extras" modules may be promoted to core periodically,
|
||||||
|
but there's no fundamental difference in the end - both ship with ansible, all in one package, regardless
|
||||||
|
of how you acquire ansible.
|
||||||
|
|
||||||
.. _module_dev_tutorial:
|
.. _module_dev_tutorial:
|
||||||
|
|
||||||
|
@ -59,7 +67,7 @@ Testing Modules
|
||||||
|
|
||||||
There's a useful test script in the source checkout for ansible::
|
There's a useful test script in the source checkout for ansible::
|
||||||
|
|
||||||
git clone git@github.com:ansible/ansible.git
|
git clone git@github.com:ansible/ansible.git --recursive
|
||||||
source ansible/hacking/env-setup
|
source ansible/hacking/env-setup
|
||||||
chmod +x ansible/hacking/test-module
|
chmod +x ansible/hacking/test-module
|
||||||
|
|
||||||
|
@ -78,6 +86,7 @@ If you did not, you might have a typo in your module, so recheck it and try agai
|
||||||
Reading Input
|
Reading Input
|
||||||
`````````````
|
`````````````
|
||||||
|
|
||||||
|
|
||||||
Let's modify the module to allow setting the current time. We'll do this by seeing
|
Let's modify the module to allow setting the current time. We'll do this by seeing
|
||||||
if a key value pair in the form `time=<string>` is passed in to the module.
|
if a key value pair in the form `time=<string>` is passed in to the module.
|
||||||
|
|
||||||
|
@ -428,15 +437,33 @@ built and appear in the 'docsite/' directory.
|
||||||
|
|
||||||
.. _module_contribution:
|
.. _module_contribution:
|
||||||
|
|
||||||
Getting Your Module Into Core
|
Module Paths
|
||||||
`````````````````````````````
|
````````````
|
||||||
|
|
||||||
|
If you are having trouble getting your module "found" by ansible, be sure it is in the ANSIBLE_LIBRARY_PATH.
|
||||||
|
|
||||||
|
If you have a fork of one of the ansible module projects, do something like this::
|
||||||
|
|
||||||
|
ANSIBLE_LIBRARY=~/ansible-module-core:~/ansible-module-extras
|
||||||
|
|
||||||
|
And this will make the items in your fork be loaded ahead of what ships with Ansible. Just be sure
|
||||||
|
to make sure you're not reporting bugs on versions from your fork!
|
||||||
|
|
||||||
|
To be safe, if you're working on a variant on something in Ansible's normal distribution, it's not
|
||||||
|
a bad idea to give it a new name while you are working on it, to be sure you know you're pulling
|
||||||
|
your version.
|
||||||
|
|
||||||
|
Getting Your Module Into Ansible
|
||||||
|
````````````````````````````````
|
||||||
|
|
||||||
High-quality modules with minimal dependencies
|
High-quality modules with minimal dependencies
|
||||||
can be included in the core, but core modules (just due to the programming
|
can be included in the ansible, but modules (just due to the programming
|
||||||
preferences of the developers) will need to be implemented in Python and use
|
preferences of the developers) will need to be implemented in Python and use
|
||||||
the AnsibleModule common code, and should generally use consistent arguments with the rest of
|
the AnsibleModule common code, and should generally use consistent arguments with the rest of
|
||||||
the program. Stop by the mailing list to inquire about requirements if you like, and submit
|
the program. Stop by the mailing list to inquire about requirements if you like, and submit
|
||||||
a github pull request to the main project.
|
a github pull request to the `extras <https://github.com/ansible/ansible-modules-extras>`_ project.
|
||||||
|
Included modules will ship with ansible, and also have a change to be promoted to 'core' status, which
|
||||||
|
gives them slightly higher development priority (though they'll work in exactly the same way).
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
|
|
|
@ -45,12 +45,16 @@ If you want to run the full integration test suite you'll also need the followin
|
||||||
|
|
||||||
Second, if you haven't already, clone the Ansible source code from GitHub::
|
Second, if you haven't already, clone the Ansible source code from GitHub::
|
||||||
|
|
||||||
git clone https://github.com/ansible/ansible.git
|
git clone https://github.com/ansible/ansible.git --recursive
|
||||||
cd ansible/
|
cd ansible/
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If you have previously forked the repository on GitHub, you could also clone it from there.
|
If you have previously forked the repository on GitHub, you could also clone it from there.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
If updating your repo for testing something module related, use "git rebase origin/devel" and then "git submodule update" to fetch
|
||||||
|
the latest development versions of modules. Skipping the "git submodule update" step will result in versions that will be stale.
|
||||||
|
|
||||||
Activating The Source Checkout
|
Activating The Source Checkout
|
||||||
++++++++++++++++++++++++++++++
|
++++++++++++++++++++++++++++++
|
||||||
|
|
||||||
|
|
|
@ -107,7 +107,7 @@ To install from source.
|
||||||
|
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
$ git clone git://github.com/ansible/ansible.git
|
$ git clone git://github.com/ansible/ansible.git --recursive
|
||||||
$ cd ./ansible
|
$ cd ./ansible
|
||||||
$ source ./hacking/env-setup
|
$ source ./hacking/env-setup
|
||||||
|
|
||||||
|
@ -119,6 +119,12 @@ Ansible also uses the following Python modules that need to be installed::
|
||||||
|
|
||||||
$ sudo pip install paramiko PyYAML jinja2 httplib2
|
$ sudo pip install paramiko PyYAML jinja2 httplib2
|
||||||
|
|
||||||
|
Note when updating ansible, be sure to not only update the source tree, but also the "submodules" in git
|
||||||
|
which point at Ansible's own modules (not the same kind of modules, alas).
|
||||||
|
|
||||||
|
$ git pull --rebase
|
||||||
|
$ git submodule update
|
||||||
|
|
||||||
Once running the env-setup script you'll be running from checkout and the default inventory file
|
Once running the env-setup script you'll be running from checkout and the default inventory file
|
||||||
will be /etc/ansible/hosts. You can optionally specify an inventory file (see :doc:`intro_inventory`)
|
will be /etc/ansible/hosts. You can optionally specify an inventory file (see :doc:`intro_inventory`)
|
||||||
other than /etc/ansible/hosts:
|
other than /etc/ansible/hosts:
|
||||||
|
|
|
@ -192,6 +192,7 @@ def process_module(module, options, env, template, outputname, module_map):
|
||||||
|
|
||||||
print "rendering: %s" % module
|
print "rendering: %s" % module
|
||||||
|
|
||||||
|
|
||||||
fname = module_map[module]
|
fname = module_map[module]
|
||||||
|
|
||||||
# ignore files with extensions
|
# ignore files with extensions
|
||||||
|
@ -209,6 +210,13 @@ def process_module(module, options, env, template, outputname, module_map):
|
||||||
if doc is None:
|
if doc is None:
|
||||||
return "SKIPPED"
|
return "SKIPPED"
|
||||||
|
|
||||||
|
if "core" in module:
|
||||||
|
print "CORE"
|
||||||
|
doc['core'] = True
|
||||||
|
else:
|
||||||
|
doc['core'] = False
|
||||||
|
|
||||||
|
|
||||||
all_keys = []
|
all_keys = []
|
||||||
|
|
||||||
if not 'version_added' in doc:
|
if not 'version_added' in doc:
|
||||||
|
|
|
@ -101,3 +101,31 @@ Examples
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
Developers, Testers, and Bug Reporting
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
{% set repo = "https://github.com/ansible/ansible-modules-extras" %}
|
||||||
|
{% set tracker = "https://github.com/ansible/ansible-modules-extras/issues" %}
|
||||||
|
{% if core %}
|
||||||
|
{% set repo = "https://github.com/ansible/ansible-modules-core" %}
|
||||||
|
{% set tracker = "https://github.com/ansible/ansible-modules-core/issues" %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
This source of this module is hosted on GitHub in the `{{ repo }} <{{ repo }}>`_ repo.
|
||||||
|
|
||||||
|
If you believe you have found a bug in this module, and are already running the latest stable or development version of Ansbile, first look in the issue tracker at `{{ tracker }} <{{ tracker }}>`_ to see if a bug has already been filed. If not, we would be greatful if you would file one.
|
||||||
|
|
||||||
|
Should you have a question rather than a bug report, inquries are welcome on the `ansible-project google group <https://groups.google.com/forum/#!forum/ansible-project>` or on Ansible's "#ansible" channel, located on irc.freenode.net. Development oriented topics should instead use the similar `ansible-devel google group <https://groups.google.com/forum/#!forum/ansible-project>`_.
|
||||||
|
|
||||||
|
Documentation updates for this module can also be edited directly by submitting a pull request to the module source code, just look for the "DOCUMENTATION" block in the source tree.
|
||||||
|
|
||||||
|
{% if not core %}
|
||||||
|
|
||||||
|
Note that this module is designated a "extras" module. Non-core modules are still fully usuable, but may recieve slightly lower response rates for issues and pull requests.
|
||||||
|
Popular "extras" modules may be promoted to core modules over time.
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
For help in developing on modules, should you be so inclined, please read :doc:`community`, :doc:`developing_test_pr` and :doc:`developing_modules`.
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue