diff options
author | John Dewey <john@dewey.ws> | 2014-08-27 16:24:26 -0700 |
---|---|---|
committer | John Dewey <john@dewey.ws> | 2014-08-27 16:43:39 -0700 |
commit | 44b0ee532233ed68f426ff7b9c6b35f739262ff6 (patch) | |
tree | 4bb782f88435fbdd046662c1b94589138cddd924 /bin/ansible-galaxy | |
parent | a419ffdf41ff6c2ce04ab55251876170a29c7e3f (diff) | |
download | ansible-44b0ee532233ed68f426ff7b9c6b35f739262ff6.tar.gz |
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/
Diffstat (limited to 'bin/ansible-galaxy')
-rwxr-xr-x | bin/ansible-galaxy | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/bin/ansible-galaxy b/bin/ansible-galaxy index 30476973bd..00258b60ca 100755 --- a/bin/ansible-galaxy +++ b/bin/ansible-galaxy @@ -526,7 +526,7 @@ def install_role(role_name, role_version, role_filename, options): # we strip off the top-level directory for all of the files contained within # the tar file here, since the default is 'github_repo-target', and change it # to the specified role's name - role_path = os.path.join(get_opt(options, 'roles_path', '/etc/ansible/roles'), role_name) + role_path = os.path.join(get_opt(options, 'roles_path'), role_name) role_path = os.path.expanduser(role_path) print "- extracting %s to %s" % (role_name, role_path) try: @@ -689,6 +689,7 @@ def execute_install(args, options, parser): role_file = get_opt(options, "role_file", None) api_server = get_opt(options, "api_server", "galaxy.ansible.com") no_deps = get_opt(options, "no_deps", False) + roles_path = get_opt(options, "roles_path") if len(args) == 0 and not role_file: # the user needs to specify one of either --role-file @@ -723,6 +724,12 @@ def execute_install(args, options, parser): role = roles_left.pop(0) role_src = role.get("src") role_scm = role.get("scm") + role_path = role.get("path") + + if role_path: + options.roles_path = role_path + else: + options.roles_path = roles_path if os.path.isfile(role_src): # installing a local tar.gz |