|
|
Ansible Community Information
|
|
|
==============================
|
|
|
|
|
|
The purpose of the Ansible community is to unite developers, system administrators, operations, and
|
|
|
IT managers to share and build great automation solutions. This document contains all sorts of
|
|
|
information about how to contribute and interact with Ansible. Welcome!
|
|
|
|
|
|
Ways to Interact
|
|
|
================
|
|
|
|
|
|
There are a lot of ways to join and be a part of the Ansible community, such as:
|
|
|
|
|
|
Sharing Ansible with Others
|
|
|
---------------------------
|
|
|
|
|
|
You can help share Ansible with others by telling friends and colleagues, writing a blog post,
|
|
|
or presenting at user groups (like DevOps groups or the local LUG or BUG). You are also
|
|
|
welcome to share slides on speakerdeck, sign up for a free account and tag it “Ansible”. On Twitter,
|
|
|
you can also share things with #ansible and may wish
|
|
|
to follow [@Ansible](https://twitter.com/ansible).
|
|
|
|
|
|
Sharing Content and Tips
|
|
|
------------------------
|
|
|
|
|
|
Join the [Ansible project mailing list](https://groups.google.com/forum/#!forum/ansible-project) and you
|
|
|
can share playbooks you may have written and other interesting implementation stories. Put your Ansible
|
|
|
content up on places like github to share with others.
|
|
|
|
|
|
Sharing A Feature Idea
|
|
|
----------------------
|
|
|
|
|
|
If you have an idea for a new feature, you can open a new ticket at
|
|
|
[github.com/ansible/ansible](https://github.com/ansible/ansible), though in general we like to
|
|
|
talk about feature ideas first and bring in lots of people into the discussion. Consider stopping
|
|
|
by the
|
|
|
[Ansible project mailing list](https://groups.google.com/forum/#!forum/ansible-project) ([Subscribe](https://groups.google.com/forum/#!forum/ansible-project/join))
|
|
|
or #ansible on irc.freenode.net. There is an overview about more mailing lists
|
|
|
later in this document.
|
|
|
|
|
|
Helping with Documentation
|
|
|
--------------------------
|
|
|
|
|
|
Ansible documentation is a community project too! If you would like to help with the
|
|
|
documentation, whether correcting a typo or improving a section, or maybe even
|
|
|
documenting a new feature, submit a github pull request to the code that
|
|
|
lives in the “docsite/latest/rst” subdirectory of the project. Docs are in restructured text
|
|
|
format. If you aren’t comfortable with restructured text, you can also open a ticket on
|
|
|
github about any errors you spot or sections you would like to see added. For more information
|
|
|
on creating pull requests, please refer to the
|
|
|
[github help guide](https://help.github.com/articles/using-pull-requests).
|
|
|
|
|
|
|
|
|
Contributing Code (Features or Bugfixes)
|
|
|
----------------------------------------
|
|
|
|
|
|
The Ansible project keeps it’s source on github at
|
|
|
[github.com/ansible/ansible](http://github.com/ansible/ansible)
|
|
|
and takes contributions through
|
|
|
[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)
|
|
|
|
|
|
When submitting patches, be sure to run the unit tests first “make tests” and always use
|
|
|
“git rebase” vs “git merge” (aliasing git pull to git pull --rebase is a great idea) to
|
|
|
avoid merge commits in your submissions. We will require resubmission of pull requests that
|
|
|
contain merge commits.
|
|
|
|
|
|
We’ll then review your contributions and engage with you about questions and so on. Please be
|
|
|
advised we have a very large and active community, so it may take awhile to get your contributions
|
|
|
in! Patches should be made against the 'devel' branch.
|
|
|
|
|
|
Contributions can be for new features like modules, or to fix bugs you or others have found. If you
|
|
|
are interested in writing new modules to be included in the core Ansible distribution, please refer
|
|
|
to the [Module Developers documentation on our website](http://docs.ansible.com/developing_modules.html).
|
|
|
|
|
|
Ansible's aesthetic encourages simple, readable code and consistent, conservatively extending,
|
|
|
backwards-compatible improvements. Code developed for Ansible needs to support Python 2.6+,
|
|
|
while code in modules must run under Python 2.4 or higher. Please also use a 4-space indent
|
|
|
and no tabs.
|
|
|
|
|
|
Tip: To easily run from a checkout, source "./hacking/env-setup" and that's it -- no install
|
|
|
required. You're now live!
|
|
|
|
|
|
|
|
|
Reporting A Bug
|
|
|
---------------
|
|
|
|
|
|
Bugs 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
|
|
|
to see if the issue has already been reported.
|
|
|
|
|
|
When filing a bug, the following information is always required:
|
|
|
|
|
|
* A good name for the bug ("Foo module raises exception when xyz=glork is used", vs "foo doesn't work")
|
|
|
* A succint description of the problem
|
|
|
* What version of ansible you are using (ansible --version)
|
|
|
* Steps to reproduce the problem, including commands or playbook snippets as relevant
|
|
|
* Expected results
|
|
|
* Actual results, and as full/complete output as possible
|
|
|
|
|
|
Do not use the issue tracker for "how do I do this" type questions. These are great candidates
|
|
|
for IRC or the mailing list instead where things are likely to be more of a discussion.
|
|
|
|
|
|
To be respectful of reviewers time and allow us to help everyone efficiently, please
|
|
|
provide minimal well-reduced and well-commented examples versus sharing your entire production
|
|
|
playbook. Include playbook snippets and output where possible.
|
|
|
|
|
|
Content in the GitHub bug tracker can be indented four spaces to preserve formatting.
|
|
|
For multiple-file content, we encourage use of gist.github.com. Online pastebin content can expire.
|
|
|
|
|
|
If you are not sure if something is a bug yet, you are welcome to ask about something on
|
|
|
the mailing list or IRC first. As we are a very high volume project, if you determine that
|
|
|
you do have a bug, please be sure to open the issue yourself to ensure we have a record of
|
|
|
it. Don’t rely on someone else in the community to file the bug report for you.
|
|
|
|
|
|
Online Resources
|
|
|
================
|
|
|
|
|
|
Documentation
|
|
|
-------------
|
|
|
|
|
|
The main ansible documentation can be found at [docs.ansible.com](http://docs.ansible.com).
|
|
|
As mentioned above this is an open source project, so we accept contributions to the documentation.
|
|
|
You can also find some best practices examples that we recommend reading at
|
|
|
[ansible-examples](http://github.com/ansible/ansible-examples).
|
|
|
|
|
|
Mailing lists
|
|
|
-------------
|
|
|
|
|
|
Ansible has several mailing lists. Your first post to the mailing list will be
|
|
|
moderated (to reduce spam), so please allow a day or less for your first post.
|
|
|
|
|
|
[ansible-announce](https://groups.google.com/forum/#!forum/ansible-announce) is for release
|
|
|
announcements and major news. It is a low traffic read-only list and you should only get a few
|
|
|
emails a month.
|
|
|
|
|
|
[ansible-project](https://groups.google.com/forum/#!forum/ansible-project) is the main list, and is
|
|
|
used for sharing cool projects you may have built, talking about Ansible ideas, and for users to ask
|
|
|
questions or to help other users.
|
|
|
|
|
|
[ansible-devel](https://groups.google.com/forum/#!forum/ansible-devel) is a technical list for
|
|
|
developers working on Ansible and Ansible modules. Join here to discuss how to build modules,
|
|
|
prospective feature implementations, or technical challenges.
|
|
|
|
|
|
To subscribe to a group from a non-google account, you can email the subscription address, for
|
|
|
example ansible-devel+subscribe@googlegroups.com.
|
|
|
|
|
|
IRC
|
|
|
---
|
|
|
|
|
|
Ansible has a general purpose IRC channel available at #ansible on irc.freenode.net.
|
|
|
Use this channel for all types of conversations, including sharing tips, coordinating
|
|
|
development work, or getting help from other users.
|
|
|
|
|
|
Miscellaneous Information
|
|
|
=========================
|
|
|
|
|
|
Staff
|
|
|
-----
|
|
|
|
|
|
Ansible, Inc is a company supporting Ansible and building additional solutions based on
|
|
|
Ansible. We also do services and support for those that are interested. Our most
|
|
|
important task however is enabling all the great things that happen in the Ansible
|
|
|
community, including organizing software releases of Ansible. For more information about
|
|
|
any of these things, contact info@ansible.com
|
|
|
|
|
|
On IRC, you can find us as mdehaan, jimi_c, Tybstar, and others. On the mailing list,
|
|
|
we post with an @ansible.com address.
|
|
|
|
|
|
Community Code of Conduct
|
|
|
-------------------------
|
|
|
|
|
|
Ansible’s community welcomes users of all types, backgrounds, and skill levels. Please
|
|
|
treat others as you expect to be treated, keep discussions positive, and avoid discrimination
|
|
|
or engaging in controversial debates (except vi vs emacs is cool). Posts to mailing lists
|
|
|
should remain focused around Ansible and IT automation. Abuse of these community guidelines
|
|
|
will not be tolerated and may result in banning from community resources.
|
|
|
|
|
|
Contributors License Agreement
|
|
|
------------------------------
|
|
|
|
|
|
By contributing you agree that these contributions are your own (or approved by your employer)
|
|
|
and you grant a full, complete, irrevocable
|
|
|
copyright license to all users and developers of the project, present and future, pursuant
|
|
|
to the license of the project.
|
|
|
|
|
|
|
|
|
|