Commit graph

357 commits

Author SHA1 Message Date
Michael Scherer
b9acaccc1d Do not remove local role file if given on the commandline
using this (for testing purpose) :
  $ ansible-galaxy install COPYING
  - error: the file downloaded was not a tar.gz
  - COPYING was NOT installed successfully.
  - you can use --ignore-errors to skip failed roles.

this result in COPYING being erased, which is surprising for the user.
This also prevent erasing requirements.yml if someone use the wrong flag.
2014-09-13 12:31:56 +02:00
James Cammarata
aa46fcf096 Add error checking to ansible-galaxy to verify the roles_path is valid 2014-09-09 10:59:53 -05:00
James Cammarata
c610783f90 Merge pull request #8911 from bbasleeper/devel
Adding a new 'load_callback_plugins' config option, defaults to False
2014-09-08 15:38:27 -05:00
James Cammarata
7b4df6e98e Fixing ansible-galaxy bug introduced in 399fe322 2014-09-08 13:20:51 -05:00
Bruno BAILLUET
16108e4a99 Adding a new 'load_callback_plugins' config option, defaults to False
This option, when set to True, allows "ansible" command to load callback plugins
2014-09-06 16:41:16 +02:00
James Cammarata
f14dba8b2f Don't re-add galaxy deps if they've already been added for install
Fixes #8890
2014-09-05 12:53:49 -05:00
James Cammarata
9adde1eab0 Fix instance comparison for deps in bin/ansible-galaxy
Fixes #8884
2014-09-04 09:35:03 -05:00
James Cammarata
4698f85eac Merge pull request #8789 from retr0h/retr0h/add-role-path-to-role-file
Can override each role's install path
2014-09-02 10:44:44 -05:00
John Dewey
44b0ee5322 Can override each role's install path
Defaults to the system wide `roles-path` when `path` is not specified in the
provided `role-file`.  An example installing nginx to a relative path specified
by the `role-file`.

    - src: https://github.com/bennojoy/nginx
      path: vagrant/roles/
2014-08-27 16:43:39 -07:00
Matt Martz
206c201d87 The correct option is password_file. Fixes #8752 2014-08-26 09:02:47 -05:00
Will Thames
1787c29354 Improved inventory handling when inventory does not yet exist
Fixes #8324
Improves #7667
2014-08-22 14:49:09 -04:00
James Cammarata
32a5c2bf48 Merge pull request #8721 from sergevanginderachter/syntax_check_avoid_blank_output
Avoid multiple blank lines with --syntax-check
2014-08-22 10:46:45 -05:00
Michael DeHaan
d66bb47db7 Fixing a typo, still some more work to do on CLI. 2014-08-22 09:57:10 -04:00
Serge van Ginderachter
ad3d3c7379 Avoid multiple blank lines with --syntax-check
Only print a blank line between plays when also doing --list-hosts and/or
  --list-tasks, otherwise this output just a long list of blank lines, one for
  each play.
2014-08-22 15:32:08 +02:00
Michael DeHaan
399fe32287 Clarify examples further. 2014-08-21 18:48:02 -04:00
Michael DeHaan
2e95e21cad Remove some debug in ansible-galaxy upgrades, one of which raises errors down some code paths. 2014-08-21 18:24:40 -04:00
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