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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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=[
AnsiblePuppetChefFuncCapistranomCollective
PurposeConfig, Deployment, Ad-HocConfig, DeploymentConfig, DeploymentAd-HocDeploymentAd-Hoc
InspirationsCobbler, Puppet, Func, Tabootcfenginepuppetsysadmin SSH scriptssysadmin SSH scriptsFunc, puppet
Config LanguageSimple YAML formatCustom DSLRuby codeNoneNoneNone
Config Language StyleVery simpleVery rich, complexVery rich, complexNoneNoneNone
Config OrderingSimply ordered, with notifiersStrict dependency DAGSimply orderedNoneSimply orderedNone
CommunicationSSH pushSSL pull or push triggerSSL pull or push trigger(?)SSL pushSSHAMQP bus
Daemons Required?noyesyesyesnoyes
Database Needed?nosome featuresyesnonosome features
Message Bus Required?nonoyesnonoyes
Inventory Featuresplannedyesyes?somenono
Implemented InPythonRubyRuby, ErlangPythonRubyRuby
Extensible InAnythingRubyRubyPythonRubyRuby
Codebase SizeSmallLargeLargeMediumMediumMedium
Module SupportEmergingWide/EstablishedWide/EstablishedMedium/EstablishedPoorMedium/Established
Users TargetedSysadmins, developers, QA, web adminsSysadminsSysadmins, web adminsSysadmins, developersWeb adminsSysadmins
Learning & Setup CurveMinimalHighHighMediumMediumMedium
Can Easily Build Applications On ItYesNoNoYesNoYes?
Parallelism & Scaling TechFork/MergeAdd Servers / Staged Commands / No ServerAdding More ErlangFork/MergeNoMessage Bus
Delegated HierachiesNoNoNoYesNoYes