No description
Find a file
Serge van Ginderachter f6a55a3552 Refactor vars_plugins (host/group_vars)
Split out parsing of vars files to per host and per group
parsing, instead of reparsing all groups for each host. This enhances
performance.

Extend vars_plugins' API with two new methods:
* get host variables: only parses host_vars
* get group variables: only parses group_vars for specific group
The initial run method is still used for backward compatibility.

Parse all vars_plugins at inventory initialisation, instead of
per host when touched first by runner. Here we can also loop through
all groups once easily, then parse them.
This also centralizes all parsing in the inventory constructor.

	modified:   bin/ansible
	modified:   bin/ansible-playbook
	modified:   lib/ansible/inventory/__init__.py
	modified:   lib/ansible/inventory/vars_plugins/group_vars.py
2014-03-25 22:12:01 +01:00
bin Refactor vars_plugins (host/group_vars) 2014-03-25 22:12:01 +01:00
docs/man Adding a man page for ansible-vault 2014-03-17 10:02:54 -05:00
docsite Documentation updates for accelerate mode improvements 2014-03-23 14:45:49 -05:00
examples Change default gathering policy, add to docs. 2014-03-19 18:03:03 -04:00
hacking Add tesing deps installation into hacking/README 2014-03-23 00:42:51 +04:00
legacy Various tests using datafiles are being moved into the integration test framework (tests_new right now). 2014-02-20 17:16:58 -05:00
lib/ansible Refactor vars_plugins (host/group_vars) 2014-03-25 22:12:01 +01:00
library Cleanup from merge of replace module and CHANGELOG update 2014-03-25 11:13:51 -05:00
packaging Merge pull request #6053 from cgtx/devel 2014-03-16 10:45:46 -05:00
plugins Correct overly broad import from chube in linode inventory script 2014-03-19 15:54:29 -05:00
test Ensure handlers run when meta tasks are defined and add handler integration tests 2014-03-25 13:33:52 -04:00
.gitignore Add generated test files to .gitignore 2014-03-11 09:21:33 -04:00
CHANGELOG.md Cleanup from merge of replace module and CHANGELOG update 2014-03-25 11:13:51 -05:00
CODING_GUIDELINES.md Update CODING_GUIDELINES.md 2014-03-14 11:23:34 -05:00
CONTRIBUTING.md Update CONTRIBUTING.md 2014-03-23 19:03:27 -04:00
COPYING license file should be in source tree 2012-03-15 20:24:22 -04:00
Makefile Adding a man page for ansible-vault 2014-03-17 10:02:54 -05:00
MANIFEST.in Add some docs/examples 2012-08-14 13:05:44 -04:00
README.md Update README.md 2014-02-21 12:58:09 -05:00
RELEASES.txt Updating CHANGELOG/RELEASES in devel for 1.5.3 and older releases 2014-03-13 16:31:19 -05:00
setup.py Added ansible-vault to the installer 2014-02-21 09:18:49 +01:00
VERSION Set version to 1.6 2014-03-03 12:51:52 -05:00

PyPI version

Ansible

Ansible is a radically simple configuration-management, application deployment, task-execution, and multinode orchestration engine.

Read the documentation and more at http://ansible.com/

Many users run straight from the development branch (it's generally fine to do so), but you might also wish to consume a release. You can find instructions here for a variety of platforms. If you want a tarball of the last release, go to releases.ansible.com and you can also install with pip.

Design Principles

  • Have a dead simple setup process and a minimal learning curve
  • Be super fast & parallel by default
  • Require no server or client daemons; use existing SSHd
  • Use a language that is both machine and human friendly
  • Focus on security and easy auditability/review/rewriting of content
  • Manage remote machines instantly, without bootstrapping
  • Allow module development in any dynamic language, not just Python
  • Be usable as non-root
  • Be the easiest IT automation system to use, ever.

Get Involved

  • Read Contributing.md for all kinds of ways to contribute to and interact with the project, including mailing list information and how to submit bug reports and code to Ansible.
  • All code submissions are done through pull requests. Take care to make sure no merge commits are in the submission, and use "git rebase" vs "git merge" for this reason. If submitting a large code change (other than modules), it's probably a good idea to join ansible-devel and talk about what you would like to do or add first and to avoid duplicate efforts. This not only helps everyone know what's going on, it also helps save time and effort if we decide some changes are needed.
  • irc.freenode.net: #ansible

Branch Info

  • Releases are named after Van Halen songs.
  • The devel branch corresponds to the release actively under development.
  • Various release-X.Y branches exist for previous releases
  • We'd love to have your contributions, read "CONTRIBUTING.md" for process notes.

Author

Michael DeHaan -- michael@ansible.com

Ansible, Inc