summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorJohn Dewey <john@dewey.ws>2014-08-27 16:24:26 -0700
committerJohn Dewey <john@dewey.ws>2014-08-27 16:43:39 -0700
commit44b0ee532233ed68f426ff7b9c6b35f739262ff6 (patch)
tree4bb782f88435fbdd046662c1b94589138cddd924 /bin
parenta419ffdf41ff6c2ce04ab55251876170a29c7e3f (diff)
downloadansible-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')
-rwxr-xr-xbin/ansible-galaxy9
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