diff --git a/Makefile b/Makefile
index 71f7da1f07..cfbeaf4079 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
ASCII2MAN = a2x -D $(dir $@) -d manpage -f manpage $<
ASCII2HTMLMAN = a2x -D docs/html/man/ -d manpage -f xhtml
-MANPAGES := docs/man/man1/ansible.1
+MANPAGES := docs/man/man1/ansible.1 docs/man/man1/ansible-playbook.1
SITELIB = $(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
all: clean python
diff --git a/docs/comparisons.md b/docs/comparisons.md
deleted file mode 100644
index ed45e59313..0000000000
--- a/docs/comparisons.md
+++ /dev/null
@@ -1,203 +0,0 @@
-Comparisons
-===========
-
-Confused about how Ansible fits in? Here's a comparison with some common tools.
-
-Accuracy is important, so corrections are VERY welcome if we've got something wrong.
-For space reasons, we can't list everybody's favorite management tool.
-
-Ansible mainly tries to be different in it's goals of minimalism, while also cutting across
-the categories of configuration management, deployment, and ad-hoc task firing.
-
-It strives to be a super-easy to use app, requiring no daemons or databases, and having
-a super-simple configuration management language that takes minutes to learn.
-
-Generally speaking, Ansible is answer to the question "why is the world's systems
-management software so complicated?" The code does not try to show off. It is an
-experiment in radical simplicity and encourages anyone to be able to easily contribute to it.
-
-
-
- |
- Ansible |
- Puppet |
- Chef |
- Func |
- Capistrano |
- mCollective |
-
-
- Purpose |
- Config, Deployment, Ad-Hoc |
- Config, Deployment |
- Config, Deployment |
- Ad-Hoc |
- Deployment |
- Ad-Hoc |
-
-
- Inspirations |
- Cobbler, Puppet, Func, Taboot |
- cfengine |
- puppet |
- sysadmin SSH scripts |
- sysadmin SSH scripts |
- Func, puppet |
-
-
-
- Config Language |
- Simple YAML format |
- Custom DSL |
- Ruby code |
- None |
- None |
- None |
-
-
- Config Language Style |
- Very simple |
- Very rich, complex |
- Very rich, complex |
- None |
- None |
- None |
-
-
- Config Ordering |
- Simply ordered, with notifiers |
- Strict dependency DAG |
- Simply ordered |
- None |
- Simply ordered |
- None |
-
-
- Communication |
- SSH push |
- SSL pull or push trigger |
- SSL pull or push trigger(?) |
- SSL push |
- SSH |
- AMQP bus |
-
-
- Daemons Required? |
- no |
- yes |
- yes |
- yes |
- no |
- yes |
-
-
- Database Needed? |
- no |
- some features |
- yes |
- no |
- no |
- some features |
-
-
- Message Bus Required? |
- no |
- no |
- yes |
- no |
- no |
- yes |
-
-
- Inventory Features |
- planned |
- yes |
- yes? |
- some |
- no |
- no |
-
-
- Implemented In |
- Python |
- Ruby |
- Ruby, Erlang |
- Python |
- Ruby |
- Ruby |
-
-
- Extensible In |
- Anything |
- Ruby |
- Ruby |
- Python |
- Ruby |
- Ruby |
-
-
- Codebase Size |
- Small |
- Large |
- Large |
- Medium |
- Medium |
- Medium |
-
-
- Module Support |
- Emerging |
- Wide/Established |
- Wide/Established |
- Medium/Established |
- Poor |
- Medium/Established |
-
-
- Users Targeted |
- Sysadmins, developers, QA, web admins |
- Sysadmins |
- Sysadmins, web admins |
- Sysadmins, developers |
- Web admins |
- Sysadmins |
-
-
- Learning & Setup Curve |
- Minimal |
- High |
- High |
- Medium |
- Medium |
- Medium |
-
-
- Can Easily Build Applications On It |
- Yes |
- No |
- No |
- Yes |
- No |
- Yes? |
-
-
- Parallelism & Scaling Tech |
- Fork/Merge |
- Add Servers / Staged Commands / No Server |
- Adding More Erlang |
- Fork/Merge |
- No |
- Message Bus |
-
-
- Delegated Hierachies |
- No |
- No |
- No |
- Yes |
- No |
- Yes |
-
-
-
-
diff --git a/docs/man/man1/ansible-playbook.1.asciidoc b/docs/man/man1/ansible-playbook.1.asciidoc
new file mode 100644
index 0000000000..bc3cf9795c
--- /dev/null
+++ b/docs/man/man1/ansible-playbook.1.asciidoc
@@ -0,0 +1,89 @@
+ansible-playbook(1)
+===================
+:doctype:manpage
+:man source: Ansible
+:man version: 0.0.1
+:man manual: System administration commands
+
+NAME
+----
+ansible-playbook - run an ansible playbook
+
+
+SYNOPSIS
+--------
+ansible-playbook ... [options]
+
+
+DESCRIPTION
+-----------
+
+*Ansible playbooks* are a configuration and multinode deployment system. Ansible-playbook is the tool
+used to run them. See the project home page (link below) for more information.
+
+
+ARGUMENTS
+---------
+
+*filename.yml*::
+
+The names of one or more YAML format files to run as ansible playbooks.
+
+
+OPTIONS
+-------
+
+
+*-i*, *--inventory*::
+
+Path to the inventory hosts file, which defaults to /etc/ansible/hosts.
+
+
+*-M*, *--module-path*::
+
+Where to load modules from. The default is /usr/share/ansible
+
+
+*-f*, *--forks*::
+
+Desired level of parallelism. Default 5.
+
+
+*-k*, *--ask-pass*::
+
+Prompt for the SSH password instead of assuming key-based authentication with ssh-agent.
+
+
+ENVIRONMENT
+-----------
+
+The following environment variables may specified.
+
+ANSIBLE_HOSTS -- Override the default ansible hosts file
+
+ANSIBLE_LIBRARY -- Override the default ansible module library path
+
+
+AUTHOR
+------
+
+Ansible was originally written by Michael DeHaan. See the AUTHORS file
+for a complete list of contributors.
+
+
+COPYRIGHT
+---------
+
+Copyright © 2012, Michael DeHaan
+
+Ansible is released under the terms of the GPLv3 License.
+
+
+SEE ALSO
+--------
+
+Extensive documentation as well as IRC and mailing list info
+is available on the ansible home page:
+
+
+
diff --git a/docs/man/man1/ansible.1.asciidoc b/docs/man/man1/ansible.1.asciidoc
index b68224eff2..7c2f1f3eca 100644
--- a/docs/man/man1/ansible.1.asciidoc
+++ b/docs/man/man1/ansible.1.asciidoc
@@ -50,14 +50,44 @@ Level of parallelism. Specify as an integer, the default is 5.
Module name to execute.
-*-p*, *--pattern*::
+*-M*, *--module-path*::
-Hostname pattern. Accepts shell-like globs which can be seperated with ";"
-The default is "*" which matches all hosts in the ansible hosts file. Group
-names from the ansible inventory file can also be used.
+Where to load modules from. The default is /usr/share/ansible
-See ansible --help for additional options.
+*-a*, *--args*::
+
+Arguments to pass to the module
+
+
+*-k*, *--ask-pass*::
+
+Prompt for the SSH password instead of assuming key-based authentication with ssh-agent.
+
+
+*-o*, *--one-line*::
+
+Try to output everything on one line.
+
+
+*-t*, *--tree*::
+
+Save contents in this output directory, with the results named in a file named after each host.
+
+
+*-T*, *--timeout*::
+
+Connection timeout to use when trying to talk to hosts, in seconds.
+
+
+*-B*, *--background*::
+
+Runs commands in the background, killing the task after N seconds.
+
+
+*-u*, *--remote-user*::
+
+Use this remote username instead of root
INVENTORY
@@ -70,9 +100,9 @@ are included on their own line, enclosed in square brackets.
FILES
-----
-/etc/ansible/hosts -- Default hosts file
+/etc/ansible/hosts -- Default inventory file
-/usr/share/ansible -- Default module library
+/usr/share/ansible/ -- Default module library
ENVIRONMENT
@@ -103,6 +133,8 @@ Ansible is released under the terms of the GPLv3 License.
SEE ALSO
--------
-Ansible home page:
+Extensive documentation as well as IRC and mailing list info
+is available on the ansible home page:
+
diff --git a/library/yum b/library/yum
old mode 100644
new mode 100755
index a025c0056c..b686593b29
--- a/library/yum
+++ b/library/yum
@@ -56,9 +56,9 @@ def pkg_to_dict(po):
'_nevra':po.ui_nevra,
}
if type(po) == yum.rpmsack.RPMInstalledPackage:
- d['state'] = 'installed'
+ d['yumstate'] = 'installed'
else:
- d['state'] = 'available'
+ d['yumstate'] = 'available'
return d
@@ -220,7 +220,7 @@ def main():
if 'list' in params:
my = yum_base(conf_file=params['conf_file'], cachedir=True)
results = list_stuff(my, params['list'])
- elif 'ensure' in params:
+ elif 'state' in params:
my = yum_base(conf_file=params['conf_file'], cachedir=True)
state = params['state']
pkgspec = params['pkg']
diff --git a/setup.py b/setup.py
index d37e11c524..c70aa34796 100644
--- a/setup.py
+++ b/setup.py
@@ -26,7 +26,8 @@ setup(name='ansible',
'library/git',
]),
('/usr/share/man/man1', [
- 'docs/man/man1/ansible.1'
+ 'docs/man/man1/ansible.1',
+ 'docs/man/man1/ansible-playbook.1'
]),
],
scripts=[