Commit graph

392 commits

Author SHA1 Message Date
Michael DeHaan
e7c0b95074 Work in progress on bin/ansible-galaxy changes testing. 2014-08-21 17:15:23 -04:00
Will Thames
bf9ea81c4b Make galaxy work when API server not available
`ansible-galaxy init --offline ...` can create a role without
talking to the galaxy api server
`ansible-galaxy install ...` only needs to talk to the galaxy api
server for galaxy roles, not tar files or scm archives
Fixed a bug in command line role installation
2014-08-21 17:15:23 -04:00
Will Thames
31540246dd Handle older git archive commands
Older git archive commands create tar archives even with a tar.gz
extension. So change it to always create tar archives and have
the install_role method cope.

Removed ssh roles from the test case as they don't work unless
you can connect to bitbucket via ssh and have your key there.

Corrected a minor typo in error messages
2014-08-21 17:15:23 -04:00
Will Thames
ada9074276 Allow installation of roles from yaml roles file
Added docs
Added more tests
Improved how roles are returned from the parsers
2014-08-21 17:15:23 -04:00
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
2014-08-21 17:15:23 -04:00
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
2014-08-21 17:15:23 -04:00
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
2014-08-21 17:15:23 -04:00
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)
2014-08-21 17:15:23 -04:00
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.
2014-08-20 14:28:53 +10:00
Michael DeHaan
3035f2dcc8 Merge pull request #8367 from msabramo/make_pip_install_editable_work
Make `pip install -e` work
2014-08-15 07:46:54 -04:00
Matt Martz
d022cca637 If ansible and ansible-playbook accept a script for --vault-password-file so should ansible-vault 2014-08-11 19:16:39 -05:00
Michael DeHaan
4a05310ba0 Keep things alphabetical in vault option list. 2014-08-11 16:02:10 -04:00
Jakub Paweł Głazik
99a339fa7b Fix comments and error message 2014-08-11 16:02:10 -04:00
Jakub Paweł Głazik
58feee0f45 ansible-vault view - new command 2014-08-11 16:02:10 -04:00
Michael DeHaan
b0295af7ee Merge pull request #7462 from chamill/devel
Add spaces between sentences in formatted docs.
2014-08-11 15:53:16 -04:00
Michael DeHaan
542aaa6ffe Use JSON instead of pickles for compatibility. 2014-08-11 12:23:05 -04:00
Josh Drake
917e868f65 Implement fact cache flushing alongside a command-line argument to invoke it. 2014-08-11 12:23:05 -04:00
Michael DeHaan
053019c439 Merge pull request #7765 from samdolan/devel
Raise exception if "file_name" isn't passed to bin/ansible-vault
2014-08-08 14:12:44 -04:00
James Cammarata
f8845af195 Add path checking for relative/escaped tar filenames in the ansible-galaxy command 2014-08-06 13:25:29 -05:00
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)
2014-07-30 13:35:11 -07:00
Michael DeHaan
5a2fd5c612 Ignore powershell implementation files with ansible-doc as documentation lives in Python stubs. 2014-07-28 12:13:30 -04:00
Michael DeHaan
b69f096e8a Merge branch 'ufw' of git://github.com/Trozz/ansible into devel 2014-07-28 12:08:29 -04:00
Michael DeHaan
6caad9ac8f No hosts matched goes to stderr. 2014-07-28 10:48:41 -04:00
Michael DeHaan
d4548fdd01 Merge pull request #8185 from retr0h/retr0h/align-markdown-headers
Retr0h/align markdown headers
2014-07-17 17:51:11 -04:00
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
    ----------------
2014-07-17 10:29:58 -07:00
C. Morgan Hamill
43b72f2a80 Add spaces between sentences in formatted docs.
Increases readability when using `ansible-doc`.
2014-07-17 09:10:42 -04:00
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. 2014-07-16 08:48:41 -07:00
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
2014-07-14 10:57:16 -05:00
James Cammarata
fe892fccb1 Merge remote-tracking branch 'svg/varsplugins_refactor' into svg_and_inventory_refactor 2014-07-07 14:16:37 -05:00
Michael Leer
37318ca095 include default options. #7938
amend ansible-doc to include default options as per feature request #7938
2014-07-01 18:05:18 +01:00
Matt Martz
19f5ce2c9c Allow --vault-password-file to work with a script as well as a flat file 2014-06-24 15:02:24 -05:00
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.
2014-06-14 05:13:19 -07:00
James Cammarata
3abcfee681 Merge branch 'pr_fix2' of https://github.com/carlanton/ansible into carlanton-pr_fix2 2014-06-10 10:05:00 -05:00
Alex Chistyakov
bb1941a906 ansible-pull should respect inventory file settings because, say, Python interpreter path can be non-default on a host 2014-06-05 01:37:41 +04:00
Anton Lindström
0593473389 Enable use of vault password for --syntax-check, --list-hosts and --list-tasks 2014-05-20 22:18:32 +02:00
Toshio Kuratomi
f7b76e0394 Restore the pkg_resources calls so that we pull in the correct pycrypto on RHEL6 2014-05-06 11:21:31 -07:00
James Cammarata
0e7b9e5cfc Commenting out pkg_resources lines for now, as they break hacking/env-setup 2014-04-29 15:24:00 -05:00
James Cammarata
6879415f25 Merge branch 'feature/multi-version-import' of https://github.com/abadger/ansible into abadger-feature/multi-version-import 2014-04-29 14:41:57 -05:00
jctanner
63f66a0d3b Merge pull request #6585 from eggsby/patch-3
Allow vault encrypted vars as extra_vars
2014-04-04 13:40:52 -04:00
James Tanner
5795796546 Remove limitation on number of files for encrypt subcommand in ansible-vault 2014-04-02 13:33:11 -04:00
James Tanner
95a283ccaa Addresses #4109 Remove debug print statement 2014-03-27 11:51:22 -04:00
James Tanner
c1f4142a29 Fixes #4109 Filter plays by tags when using --list-hosts 2014-03-27 11:47:49 -04:00
Serge van Ginderachter
f8ea93c732 Move inventory.set_playbook_basedir from ansible-playbook to playbook constructor 2014-03-25 22:12:01 +01:00
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
jctanner
adbd6865da Merge pull request #6681 from zytek/devel
Properly revert changes introduced in #6579
2014-03-25 13:52:34 -04:00
Jakub Paweł Głazik
6b53ac8a9a strip() vault password file 2014-03-25 16:10:33 +01:00
Jakub Paweł Głazik
08ba18668b Strip() vault password file 2014-03-25 16:10:04 +01:00
James Tanner
9169a11088 Fixes #4777 add --force-handlers option to run handlers even if tasks fail 2014-03-24 10:28:48 -04:00
James Tanner
8c2e1e2baa Addresses #6579 Disallow vault passwords with newline characters by stripping them in utils 2014-03-19 15:56:14 -04:00
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.
2014-03-19 14:38:11 -04:00
Thomas Omans
1727fddf50 Allow vault encrypted vars as extra_vars
Forward the vault_password to the yaml file utility.
2014-03-19 10:09:41 -07:00
Michael DeHaan
8eb547edaa Merge pull request #6531 from bob-smith/formatting
Add space after full stop in ansible-galaxy help
2014-03-17 16:37:02 -04:00
James Tanner
c09e46517e Merge pull request #5864 from stevetjoa/ansible
adding -K flag for ask-sudo-pass to ansible-pull
2014-03-17 15:15:25 -04:00
James Tanner
70f4e0807c Fixes #6467 ansible command should not assume sudo if ask_sudo_pass or sudo_user 2014-03-17 15:03:05 -04:00
John Barker
aa87afaa87 Add space after full stop in ansible-galaxy help 2014-03-17 18:52:44 +00:00
Michael DeHaan
71977bfe71 Merge pull request #5720 from mschurenko/devel
added random sleep option to ansible-pull
2014-03-16 15:41:17 -05:00
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
2014-03-16 15:33:58 -05:00
Michael DeHaan
887cb7652a Merge pull request #6004 from res0nat0r/fix_ansible-doc_snippets
Fix ansible-doc option output.
2014-03-16 15:23:29 -05:00
Michael DeHaan
0dde3b7080 Merge pull request #5895 from trbs/listtasks_honors_limit
make --list-tasks honor --limit
2014-03-16 13:40:13 -05:00
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.
2014-03-16 13:10:28 -04:00
Toshio Kuratomi
0fefab6651 Require a recent enough version of pycrypto and see that playbook and vault ues it. 2014-03-14 11:55:06 -07:00
James Tanner
0d6f6ad282 Implement new default cipher class AES256 2014-03-10 16:15:44 -05:00
Francesc Esplugas
0fd5829f10 get rid of newline chars when reading password file 2014-03-02 12:41:07 +01:00
James Tanner
e3672dded0 Remove breakpoint 2014-02-26 14:53:36 -05:00
James Tanner
b74105c689 Add --vault-password-file to bin/ansible-pull 2014-02-26 14:52:57 -05:00
James Tanner
35def422a3 Addresses #6188 Add --vault-password-file to bin/ansible and bin/ansible-playbook 2014-02-26 11:01:03 -05:00
James Tanner
7acd2f3a2d Addresses #6188 Add --vault-password-file option to the ansible-vault command 2014-02-26 10:01:59 -05:00
James Tanner
52a8efefba Vault rewrite, pass 1 2014-02-24 13:09:36 -05:00
James Tanner
7fe3db408d Fixes #6082 Set vault password to None by default 2014-02-19 21:26:12 -05:00
James Tanner
9ba053c885 Fix ansible cli to use vault for group var files 2014-02-19 11:23:46 -05:00
James Tanner
aa46ab1d86 Fix function name 2014-02-19 11:05:08 -05:00
James Tanner
427b8dc78d Ansible vault: a framework for encrypting any playbook or var file. 2014-02-18 15:35:12 -05:00
James Cammarata
52c9c1dc39 Fixing usage string in ansible-galaxy install for role files 2014-02-15 09:57:52 -06:00
Stefhen Hovland
e1b7278265 Only display equals sign in summary for required options. 2014-02-14 00:12:29 -05:00
Stefhen Hovland
30cabddf76 Ensure option output is sorted. 2014-02-14 00:11:21 -05:00
trbs
b7df767065 make --list-tasks honor --limit 2014-02-06 15:49:06 +01:00
Ingmar Hupp
1f0cdc5ec8 ansible-pull support for -e (--extra-vars) option (same as ansible-playbook) #5707 2014-02-05 18:53:37 +00:00
Steve Tjoa
335bc1ee5c adding -K flag for ask-sudo-pass to ansible-pull 2014-02-03 12:20:04 -08:00
Michael DeHaan
3b8fd62ff9 More site rename things. 2014-01-28 20:29:42 -05:00
Michael DeHaan
d07a3b5e9b AnsibleWorks -> Ansible 2014-01-28 20:29:42 -05:00
James Cammarata
fc30467593 Adding an "Example Playbook" section to the README template for ansible-galaxy
Fixes 5397
2014-01-24 15:39:30 -06:00
James Cammarata
593098108e Adding suggested licenses to the ansible-galaxy meta template 2014-01-24 15:34:01 -06:00
Matt
1ef8f279b9 added random sleep option to ansible-pull 2014-01-22 00:01:51 -08:00
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
2014-01-20 19:19:03 -06:00
James Tanner
c17d0e0357 Revert "Merge pull request #5325 from angstwad/add-su-support"
This reverts commit 6f4bfa2cff, reversing
changes made to c91ba3a7c7.
2014-01-20 16:10:11 -05:00
Paul Durivage
c95be4ceaa Make sudo and su command line arguments mutually exclusive 2014-01-20 11:25:10 -06:00
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
2014-01-20 11:25:10 -06:00
jctanner
1d9e78f2ab Merge pull request #5376 from bob-smith/galaxyhelp
Display context appropriate help and inform the user they can do '--help <command>'
2014-01-14 08:37:42 -08:00
James Tanner
78ec7c736f Fixes #3973 Second Revision of live ansible-pull output 2014-01-10 11:18:02 -05:00
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.
2014-01-06 10:42:41 -05:00
Michael DeHaan
81bc44ccc2 Don't show tracebacks on Control-C. 2013-12-26 11:41:05 -05:00
Joshua Lund
ed39bebaa8 Fixing a small typo in the Galaxy README template 2013-12-24 16:05:39 -07:00
John Barker
d607f2ccf5 Add some blank lines in help to add readability 2013-12-20 21:08:14 +00:00
John Barker
ed858f9f72 Display context appropriate help and inform the user they can do '--help
<command>
2013-12-20 20:27:24 +00:00
James Tanner
43a1e503c3 Set default role license to BSD 2013-12-20 13:14:14 -05:00
James Tanner
c37fa5ddce Use os.pathsep to split roles_path instead of a colon 2013-12-20 12:13:22 -05:00
James Tanner
82d145534c Split roles_path on colon separators and use the first path for the installation path 2013-12-20 11:43:38 -05:00
James Tanner
904ba869cc Create a default README.md with ansible-galaxy init 2013-12-20 11:29:08 -05:00
James Cammarata
0d4294da42 Don't create main.yml in files/templates directories on galaxy init 2013-12-20 09:26:42 -06:00
James Tanner
a14d1ca485 Addresses #5364 urllib quote role names 2013-12-20 09:55:53 -05:00