Commit graph

46 commits

Author SHA1 Message Date
James Cammarata
b7a74e216f Merge pull request #8948 from sergevanginderachter/issue_8823
ansible-galaxy: exit with rc 1 if role doesn't exist/is not found
2014-09-16 21:47:29 -05:00
Toshio Kuratomi
c6b26ff7c7 Remove duplicate call to remove tmp role file 2014-09-15 14:45:57 -07:00
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
Serge van Ginderachter
2474ce5819 Exit with rc 1 if role doesn't exist/is not found
fixes #8823
	modified:   bin/ansible-galaxy
2014-09-09 21:57:23 +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
7b4df6e98e Fixing ansible-galaxy bug introduced in 399fe322 2014-09-08 13:20:51 -05: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
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
Michael DeHaan
d66bb47db7 Fixing a typo, still some more work to do on CLI. 2014-08-22 09:57:10 -04: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
James Cammarata
f8845af195 Add path checking for relative/escaped tar filenames in the ansible-galaxy command 2014-08-06 13:25:29 -05: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
John Barker
aa87afaa87 Add space after full stop in ansible-galaxy help 2014-03-17 18:52:44 +00: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
James Cammarata
52c9c1dc39 Fixing usage string in ansible-galaxy install for role files 2014-02-15 09:57:52 -06: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
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 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
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
kiri
a97e60c63f add var for format. 2013-12-20 05:31:58 +09:00
James Cammarata
afa8f36f6b Default deps list in ansible-galaxy template to an empty list 2013-12-19 13:21:04 -06:00
Matt Martz
301ebf8d04 Don't place (or higher) in the min_ansible_version 2013-12-19 12:58:07 -06:00
James Tanner
c0aa02144f Addresses #5341 expand home directories for role_path in ansible.cfg 2013-12-18 23:22:44 -05:00
James Tanner
5d022182fe Fixes #5341 Use constants.py to set the roles directory 2013-12-18 22:40:58 -05:00
James Tanner
4a20055a59 Add the ansible-galaxy command 2013-12-18 20:15:37 -05:00