Commit Graph

438 Commits (87808797ea39302b8ace3e3b1f06a2a93fec0f90)

Author SHA1 Message Date
Will Thames 46b59b02ed Friendly Role Names and roles from URLs
* Roles can now be given a friendly name as third field in role spec csv
* Roles can be installed from URL (not just from archived SCMs)
* Integration tests to demonstrate this
* Unit tests to ensure that role spec parsing works as expected
10 years ago
Will Thames c2fe33f9f4 Tidied up a little, added tests
Moved repo_url_to_role_name to common method in ansible.utils
Added unit test for repo_url_to_role_name
Added integration tests for galaxy
10 years ago
Will Thames bf3066e650 Change to how SCM is determined
Change SCM determination from executing git/hg commands to explicit
in URL.

Fix check for already installed dependencies
10 years ago
Will Thames 36177396c4 Allow ansible-galaxy to install roles from URLs
ansible-galaxy can now refer to SCM URLs (git and hg at this point)
for role names
Dependencies need to use the full SCM URLs too.
Otherwise all seems to work well

Test rolesfile
```
http://bitbucket.org/willthames/git-ansible-galaxy,v1.1
https://bitbucket.org/willthames/hg-ansible-galaxy
```
(works with ssh too)
10 years ago
Will Thames 92f9b74a68 Restrict ansible-pull to only do scm checkout once
This addresses a bug in ansible-pull where running ansible-pull
with an existing inventory causes the ansible job that does
the SCM checkout to run twice - once for localhost and once
for the fully qualified hostname.

This can cause a race condition, and usually results in one
of the ansible checkouts failing because one of the scm checkouts
has its references updated underneath it. Although the SCM checkout
actually succeeds, ansible fails with non-zero exit status, and
so ansible-pull does not continue.

Now that localhost is implicit for ansible runs, the ansible
scm checkout can be done using just localhost as a target.
10 years ago
Michael DeHaan 3035f2dcc8 Merge pull request #8367 from msabramo/make_pip_install_editable_work
Make `pip install -e` work
10 years ago
Matt Martz d022cca637 If ansible and ansible-playbook accept a script for --vault-password-file so should ansible-vault 10 years ago
Michael DeHaan 4a05310ba0 Keep things alphabetical in vault option list. 10 years ago
Jakub Paweł Głazik 99a339fa7b Fix comments and error message 10 years ago
Jakub Paweł Głazik 58feee0f45 ansible-vault view - new command 10 years ago
Michael DeHaan b0295af7ee Merge pull request #7462 from chamill/devel
Add spaces between sentences in formatted docs.
10 years ago
Michael DeHaan 542aaa6ffe Use JSON instead of pickles for compatibility. 10 years ago
Josh Drake 917e868f65 Implement fact cache flushing alongside a command-line argument to invoke it. 10 years ago
Michael DeHaan 053019c439 Merge pull request #7765 from samdolan/devel
Raise exception if "file_name" isn't passed to bin/ansible-vault
10 years ago
James Cammarata f8845af195 Add path checking for relative/escaped tar filenames in the ansible-galaxy command 10 years ago
Marc Abramowitz 44b9f5e752 Make `pip install -e` work
This allows `pip install -e` and `python setup.py develop` to work
without having to do the stuff in
http://docs.ansible.com/intro_installation.html#running-from-source so
it's a tad nicer for Python programmers who are accustomed to installing
packages as editable/in development mode.

Fixes GH-8355 (https://github.com/ansible/ansible/issues/8355)
10 years ago
Michael DeHaan 5a2fd5c612 Ignore powershell implementation files with ansible-doc as documentation lives in Python stubs. 10 years ago
Michael DeHaan b69f096e8a Merge branch 'ufw' of git://github.com/Trozz/ansible into devel 10 years ago
Michael DeHaan 6caad9ac8f No hosts matched goes to stderr. 10 years ago
Michael DeHaan d4548fdd01 Merge pull request #8185 from retr0h/retr0h/align-markdown-headers
Retr0h/align markdown headers
10 years ago
John Dewey 4432ca3836 Align markdown headers
A fairly trivial change since `Role Name` and `Example Playbook`
will likely be modified anyways.  However, since all the other
sections are aligned properly, felt it would be nice to "clean this up".

Before:

    Role Name
    ========

    Example Playbook
    -------------------------

After:

    Role Name
    =========

    Example Playbook
    ----------------
10 years ago
C. Morgan Hamill 43b72f2a80 Add spaces between sentences in formatted docs.
Increases readability when using `ansible-doc`.
10 years ago
Scott Brown 5849bb3dba Fixing bug where the file handle is not closed properly because the parentheses are left off the call, telling Python to return a method but not call the method. 10 years ago
James Cammarata 4fc8d4b6fe Merge pull request #7649 from sivel/vault-password-script
Allow --vault-password-file to work with a script as well as a flat file
10 years ago
James Cammarata fe892fccb1 Merge remote-tracking branch 'svg/varsplugins_refactor' into svg_and_inventory_refactor 10 years ago
Michael Leer 37318ca095 include default options. #7938
amend ansible-doc to include default options as per feature request #7938
11 years ago
Matt Martz 19f5ce2c9c Allow --vault-password-file to work with a script as well as a flat file 11 years ago
Sam Dolan 6714748eeb Throw an exception for a missing <file_name> param in ansible-vault
Without this fix you have to enter your vault password before you realize
that you forgot to pass in the filename.  This commit checks that an
filename argument was at least passed on the command line.
11 years ago
James Cammarata 3abcfee681 Merge branch 'pr_fix2' of https://github.com/carlanton/ansible into carlanton-pr_fix2 11 years ago
Alex Chistyakov bb1941a906 ansible-pull should respect inventory file settings because, say, Python interpreter path can be non-default on a host 11 years ago
Anton Lindström 0593473389 Enable use of vault password for --syntax-check, --list-hosts and --list-tasks 11 years ago
Toshio Kuratomi f7b76e0394 Restore the pkg_resources calls so that we pull in the correct pycrypto on RHEL6 11 years ago
James Cammarata 0e7b9e5cfc Commenting out pkg_resources lines for now, as they break hacking/env-setup 11 years ago
James Cammarata 6879415f25 Merge branch 'feature/multi-version-import' of https://github.com/abadger/ansible into abadger-feature/multi-version-import 11 years ago
jctanner 63f66a0d3b Merge pull request #6585 from eggsby/patch-3
Allow vault encrypted vars as extra_vars
11 years ago
James Tanner 5795796546 Remove limitation on number of files for encrypt subcommand in ansible-vault 11 years ago
James Tanner 95a283ccaa Addresses #4109 Remove debug print statement 11 years ago
James Tanner c1f4142a29 Fixes #4109 Filter plays by tags when using --list-hosts 11 years ago
Serge van Ginderachter f8ea93c732 Move inventory.set_playbook_basedir from ansible-playbook to playbook constructor 11 years ago
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
11 years ago
jctanner adbd6865da Merge pull request #6681 from zytek/devel
Properly revert changes introduced in #6579
11 years ago
Jakub Paweł Głazik 6b53ac8a9a strip() vault password file 11 years ago
Jakub Paweł Głazik 08ba18668b Strip() vault password file 11 years ago
James Tanner 9169a11088 Fixes #4777 add --force-handlers option to run handlers even if tasks fail 11 years ago
James Tanner 8c2e1e2baa Addresses #6579 Disallow vault passwords with newline characters by stripping them in utils 11 years ago
James Tanner 409044155d Fixes #6579 allow for vault passwords ending with newline chars
Also add a unit test for vaulteditor to verify 1.0 passwords with newline chars.
11 years ago
Thomas Omans 1727fddf50 Allow vault encrypted vars as extra_vars
Forward the vault_password to the yaml file utility.
11 years ago
Michael DeHaan 8eb547edaa Merge pull request #6531 from bob-smith/formatting
Add space after full stop in ansible-galaxy help
11 years ago
James Tanner c09e46517e Merge pull request #5864 from stevetjoa/ansible
adding -K flag for ask-sudo-pass to ansible-pull
11 years ago
James Tanner 70f4e0807c Fixes #6467 ansible command should not assume sudo if ask_sudo_pass or sudo_user 11 years ago
John Barker aa87afaa87 Add space after full stop in ansible-galaxy help 11 years ago
Michael DeHaan 71977bfe71 Merge pull request #5720 from mschurenko/devel
added random sleep option to ansible-pull
11 years ago
Michael DeHaan 0ab6586222 Merge pull request #5890 from ingmar/ansiblepull-extravars-5707
ansible-pull support for -e (--extra-vars) option (same as ansible-playbook) #5707
11 years ago
Michael DeHaan 887cb7652a Merge pull request #6004 from res0nat0r/fix_ansible-doc_snippets
Fix ansible-doc option output.
11 years ago
Michael DeHaan 0dde3b7080 Merge pull request #5895 from trbs/listtasks_honors_limit
make --list-tasks honor --limit
11 years ago
Cristian Ciupitu 0749112286 Micro-optimization: replace s.find(x)!=-1 with x in s
timeit shows a speedup of ~3x on Python 2.7.5 x86_64.
It also makes the code a bit shorter.
11 years ago
Toshio Kuratomi 0fefab6651 Require a recent enough version of pycrypto and see that playbook and vault ues it. 11 years ago
James Tanner 0d6f6ad282 Implement new default cipher class AES256 11 years ago
Francesc Esplugas 0fd5829f10 get rid of newline chars when reading password file 11 years ago
James Tanner e3672dded0 Remove breakpoint 11 years ago
James Tanner b74105c689 Add --vault-password-file to bin/ansible-pull 11 years ago
James Tanner 35def422a3 Addresses #6188 Add --vault-password-file to bin/ansible and bin/ansible-playbook 11 years ago
James Tanner 7acd2f3a2d Addresses #6188 Add --vault-password-file option to the ansible-vault command 11 years ago
James Tanner 52a8efefba Vault rewrite, pass 1 11 years ago
James Tanner 7fe3db408d Fixes #6082 Set vault password to None by default 11 years ago
James Tanner 9ba053c885 Fix ansible cli to use vault for group var files 11 years ago
James Tanner aa46ab1d86 Fix function name 11 years ago
James Tanner 427b8dc78d Ansible vault: a framework for encrypting any playbook or var file. 11 years ago
James Cammarata 52c9c1dc39 Fixing usage string in ansible-galaxy install for role files 11 years ago
Stefhen Hovland e1b7278265 Only display equals sign in summary for required options. 11 years ago
Stefhen Hovland 30cabddf76 Ensure option output is sorted. 11 years ago
trbs b7df767065 make --list-tasks honor --limit 11 years ago
Ingmar Hupp 1f0cdc5ec8 ansible-pull support for -e (--extra-vars) option (same as ansible-playbook) #5707 11 years ago
Steve Tjoa 335bc1ee5c adding -K flag for ask-sudo-pass to ansible-pull 11 years ago
Michael DeHaan 3b8fd62ff9 More site rename things. 11 years ago
Michael DeHaan d07a3b5e9b AnsibleWorks -> Ansible 11 years ago
James Cammarata fc30467593 Adding an "Example Playbook" section to the README template for ansible-galaxy
Fixes 5397
11 years ago
James Cammarata 593098108e Adding suggested licenses to the ansible-galaxy meta template 11 years ago
Matt 1ef8f279b9 added random sleep option to ansible-pull 11 years ago
Paul Durivage f72f5a20df Revert "Revert "Merge pull request #5325 from angstwad/add-su-support""
This reverts commit c17d0e0357.

Conflicts:
	lib/ansible/runner/connection_plugins/paramiko_ssh.py
11 years ago
James Tanner c17d0e0357 Revert "Merge pull request #5325 from angstwad/add-su-support"
This reverts commit 6f4bfa2cff, reversing
changes made to c91ba3a7c7.
11 years ago
Paul Durivage c95be4ceaa Make sudo and su command line arguments mutually exclusive 11 years ago
Paul Durivage 4088243deb Proposing fix for Issue #4324; adding support for su in connection plugins ssh, ssh_alt
Fixes for ssh_alt support, adding in references to in_data where appropriate
11 years ago
jctanner 1d9e78f2ab Merge pull request #5376 from bob-smith/galaxyhelp
Display context appropriate help and inform the user they can do '--help <command>'
11 years ago
James Tanner 78ec7c736f Fixes #3973 Second Revision of live ansible-pull output 11 years ago
James Cammarata ccbc99fe4f Fixed splitting of role/user name when username has a '.' in it
This may still be an issue if users create roles with a '.' in the name though.
We will probably have to disallow that in the role naming convention.
11 years ago
Michael DeHaan 81bc44ccc2 Don't show tracebacks on Control-C. 11 years ago
Joshua Lund ed39bebaa8 Fixing a small typo in the Galaxy README template 11 years ago
John Barker d607f2ccf5 Add some blank lines in help to add readability 11 years ago
John Barker ed858f9f72 Display context appropriate help and inform the user they can do '--help
<command>
11 years ago
James Tanner 43a1e503c3 Set default role license to BSD 11 years ago
James Tanner c37fa5ddce Use os.pathsep to split roles_path instead of a colon 11 years ago
James Tanner 82d145534c Split roles_path on colon separators and use the first path for the installation path 11 years ago
James Tanner 904ba869cc Create a default README.md with ansible-galaxy init 11 years ago
James Cammarata 0d4294da42 Don't create main.yml in files/templates directories on galaxy init 11 years ago
James Tanner a14d1ca485 Addresses #5364 urllib quote role names 11 years ago
kiri a97e60c63f add var for format. 11 years ago
James Cammarata afa8f36f6b Default deps list in ansible-galaxy template to an empty list 11 years ago
Matt Martz 301ebf8d04 Don't place (or higher) in the min_ansible_version 11 years ago
James Tanner c0aa02144f Addresses #5341 expand home directories for role_path in ansible.cfg 11 years ago
James Tanner 5d022182fe Fixes #5341 Use constants.py to set the roles directory 11 years ago
James Tanner 4a20055a59 Add the ansible-galaxy command 11 years ago
jctanner 6d80c50faf Merge pull request #4817 from j2sol/zero-exit
Exit 0 with no matched hosts
11 years ago
jctanner 189ec15bd5 Merge pull request #4706 from mvo5/bugfix/more-syntax-check
load tasks/vars includes in syntax-check mode as well
11 years ago
jctanner 2d9087b806 Merge pull request #4484 from mscherer/add_short_hostname
ansible-pull by default will look for local.yml and $fqdn.yml.
11 years ago
James Tanner 91e5569324 Merge pull request #4466 from sfromm/ansible
Add pager support to ansible-doc
11 years ago
jctanner e08f685507 Merge pull request #3937 from masahide/devel
Supports to the playbook of Process Substitution
11 years ago
Jesse Keating 46554bbc30 Exit 0 with no matched hosts
And also print to stdout not err

This lines up with how ansible-playbook will exit. 0 in the case of no
matched hosts. This makes it easier to script ansible commands w/
variable iventory input which may or may not have an entry for the
specific ansible task being scripted. No matched hosts is acceptable,
but matched hosts w/ failures is not.
11 years ago
Michael Vogt 0b82722484 load tasks/vars includes in syntax-check mode as well 11 years ago
Michael Scherer f8b23e5721 add a default value for the -d option of ansible-pull
Thi permit to simplify the command line to use by using
a sensible default, and so reduce the number of incorrect
possible choices and setup needed. Among potential
incorrect choices is using a fixed directory in /tmp, which
could be problematic with a setup whose access is not
properly restricted.
11 years ago
Stoned Elipot c7217a8f1b Fix 'ansible-doc -l' runtime error following commit 4430d0f
skip "module" not found as plugin, id est directory
11 years ago
Michael Scherer 92147aff0f also fix the doc, forgot in last commit 11 years ago
Michael Scherer 4b067fa47e ansible-pull by default will look for local.yml and $fqdn.yml.
For a small network ( home, small company ), having to put the FQDN
in each file is a bit tedious, so this patch also add the shorthostname
as a 3rd default if the fqdn is not found.
11 years ago
Stephen Fromm 79d6d344d8 Add pager support to ansible-doc
If PAGER is set, or the executable less is present, ansible-doc will use
it to pipe information into so that it can be scrolled through.
If the environment variable LESS is not set, this will set it to FRSX.
11 years ago
James Cammarata 51638df48f Minor format fix in ansible-pull related to the -f patch 11 years ago
James Cammarata 97e3e967a7 Merge branch 'devel' of https://github.com/jflorian/ansible into jflorian-devel 11 years ago
Alan Descoins ebd8e262d3 Fixed -e "" on ansible-playbook. 11 years ago
John Florian c8a5aabf39 Added -f/--force option to ansible-pull 11 years ago
YAMASAKI Masahide ac3f05c720 Take out the spaces inside the parenthesis. 11 years ago
YAMASAKI Masahide 7f9313b2b1 Supports to the playbook of Process Substitution 11 years ago
James Cammarata d9be910e6e Merge branch 'exit-3-on-dark' of https://github.com/j2sol/ansible into j2sol-exit-3-on-dark 11 years ago
Alek Storm 8c9f84f6f8 Parse --extra-vars as YAML (which includes JSON) 11 years ago
Alek Storm 21d2069a74 Support multiple --extra-vars flags 11 years ago
Stephen Fromm cc3651592b Extend ansible-pull to support other source repositories
This extends ansible-pull so that it can support using other
source_control modules for checking out a playbook repository
(issue #3372).  This will check to see if the module exists before
it attempts to do the checkout and will exit if the module is not found.
It requires that the module used to check out the repository support the
parameters 'name' and 'version'.  The option -C, --checkout is now
optional and defaults to the module's default behavior for selecting a
branch, tag, or commit value.  For git, this continues to be HEAD.

Other changes include:
* Remove git from help and use generic term(s) where needed.
* Use SortedOptParser from ansible.utils
* More abstraction of common options used between ansible and
  ansible-playbook.
11 years ago
Jesse Keating 2b96c347dc Exit with status 3 if no failures but unreachable.
Provide hints to playbook callers that a playbook execution had
unreachable vs failures. 2 == failures, 3 == no failures, but
unreachable hosts. 0 continues to be all good.
11 years ago
Michael DeHaan 0988a86653 Misc style fixes. 11 years ago
Andy R 5a47953e7d Never ask for SSH password when using local connection.
With the command line option "-c local", ansible and ansible-playbook
should never ask for a SSH password even if this is set in the config.

Fixes #3720
11 years ago
Alan Descoins c19c2c7295 ansible-playbook can load extra vars from a file, with "@" syntax 11 years ago
Michael DeHaan d8e5fc9d1b Remove task count information from task list. 11 years ago
Alan Descoins 04349ec362 Added --skip-tags option to ansible-playbook. 11 years ago
Matt Lesko b37ecb055c set checkout destination directory to be full path
we chdir into this path and read the playbook/inventory if a
non-absolute path is given on the command line, that will fail
12 years ago
Michael DeHaan 506178542d Merge pull request #3303 from markmandel/feature/sudo_pass
Don't turn on sudo for all tasks when setting the sudo_user or ask_sudo_pass
12 years ago
Michael DeHaan c2988dfdb0 Merge branch 'option-updates' of git://github.com/jlund/ansible into devel
Conflicts:
	bin/ansible-pull
12 years ago
Stavros Korokithakis 53207ddbdf Add --only-if-changed option. 12 years ago
Joshua Lund dc984d94ac Updates to Ansible command options
* Moved the --list-hosts option that is common to both `ansible` and
  `ansible-playbook` into utils/__init__.py (corrects a FIXME)
* Wrote new help text for the --list-hosts option that makes sense
  for both of the commands that it applies to
* Changed the usage argument in `ansible-playbook` so that it is
  setup in the base_parser method the same way that it is in
  the `ansible` executable
* Updated the help text for several options to correct typos,
  clarify meaning, improve readability, or fix grammatical errors.
  In the case of `ansible-pull`, I changed the help text so that
  it adheres to the same standards as the other executables.
12 years ago
Mark Mandel 73dda68e18 Don't turn on sudo for all tasks when setting the sudo_user or ask_sudo_pass, 12 years ago
Stephen Fromm 355ab6983c remove errant and unneeded import of ansible.constants 12 years ago
Stephen Fromm 291fb9e944 Help ansible-pull work better in bootstap environment
Add option to specify inventory.  No default is defined since
ansible-playbook already does this and it allows an ansible.cfg in the
git repository to take precedence.
Overall, this should help ansible-pull work with less setup in advance,
which should be helpful in kickstart scenarios.  Much of this was
discussed in issue #2464.
12 years ago
Michael DeHaan 6cd3ba5b06 Allow the group_vars and host_vars directories to be stored alongside the playbook as well as inventory. 12 years ago
Kent Frazier 3316b87059 Keep ansible-playbook from bombing without extra-vars
A recent change to ansible-playbook to support json extra-vars
also inadvertently broke the script when no extra-vars are
provided. Simply checking to make sure it is defined and truthy
should take care of the issue.
12 years ago
Fabio Bonelli 6bef150695 Support JSON in --extra-vars.
If --extra-vars starts with either a '{' or a '[', it will be assumed
we are dealing with JSON and parse the data as such.
12 years ago
Stoned Elipot d25888f410 Fix empty requirements specifications in modules documentation
And also be liberal in what ansible-doc accepts as an empty
requirements specification.

While here fix a typo in template module documentation
wrt jinja2 overrides example.
12 years ago
Jan-Piet Mens eeb80c695f Add Requirements to rst template, ansible-doc
tweak position & look of Requirements in rst
tweak APT's notes as per anhj's wish
12 years ago
Jan-Piet Mens 2f76bc9e47 ansible-doc: skip directories (new library/ format) 12 years ago
Michael DeHaan aa55268514 Adds a logfile for ansible playbooks that can be set by the environment or configuration file. 12 years ago
Michael DeHaan be947e5266 Resolve merge conflict 12 years ago
Michael DeHaan 89ab3a0b9f Make --list-tasks work nicer with --tags 12 years ago
Michael DeHaan e6bf01a6b0 Make plugin loader path operations more efficient. 12 years ago
Michael DeHaan 92ddab8a69 Merge pull request #2649 from sergevanginderachter/bin-ansible
make bin/ansible error output consistent for shell module as for the command module when no arguments are given
12 years ago
Michael DeHaan 3e736eaf00 Merge pull request #2622 from skvidal/playbook-start-at-task
implement --start-at-task option to hop to a specific task before starti...
12 years ago