summaryrefslogtreecommitdiff
path: root/bin/ansible-galaxy
diff options
context:
space:
mode:
authorMichael DeHaan <michael.dehaan@gmail.com>2014-08-21 18:48:02 -0400
committerMichael DeHaan <michael.dehaan@gmail.com>2014-08-21 18:48:02 -0400
commit399fe3228797942fa08dc41a97bb04f4c095696b (patch)
tree18e7012cff2f4248983cb31f00d4acd6f5241b51 /bin/ansible-galaxy
parentcaf4e44be717ae0140ab9e6f32d7077cfeaf5420 (diff)
downloadansible-399fe3228797942fa08dc41a97bb04f4c095696b.tar.gz
Clarify examples further.
Diffstat (limited to 'bin/ansible-galaxy')
-rwxr-xr-xbin/ansible-galaxy95
1 files changed, 48 insertions, 47 deletions
diff --git a/bin/ansible-galaxy b/bin/ansible-galaxy
index 0a51a4b63e..801c4a53f9 100755
--- a/bin/ansible-galaxy
+++ b/bin/ansible-galaxy
@@ -234,7 +234,7 @@ def exit_without_ignore(options, rc=1):
"""
if not get_opt(options, "ignore_errors", False):
- print 'You can use --ignore-errors to skip failed roles.'
+ print '- you can use --ignore-errors to skip failed roles.'
sys.exit(rc)
#-------------------------------------------------------------------------------------
@@ -268,10 +268,10 @@ def api_lookup_role_by_name(api_server, role_name):
parts = role_name.split(".")
user_name = ".".join(parts[0:-1])
role_name = parts[-1]
- print " downloading role '%s', owned by %s" % (role_name, user_name)
+ print "- downloading role '%s', owned by %s" % (role_name, user_name)
except:
parser.print_help()
- print "Invalid role name (%s). You must specify username.rolename" % role_name
+ print "- invalid role name (%s). Specify role as format: username.rolename" % role_name
sys.exit(1)
url = 'https://%s/api/v1/roles/?owner__username=%s&name=%s' % (api_server,user_name,role_name)
@@ -329,7 +329,7 @@ def api_get_list(api_server, what):
done = (data.get('next', None) == None)
return results
except:
- print " - failed to download the %s list" % what
+ print "- failed to download the %s list" % what
return None
#-------------------------------------------------------------------------------------
@@ -338,7 +338,7 @@ def api_get_list(api_server, what):
def scm_archive_role(scm, role_url, role_version, role_name):
if scm not in ['hg', 'git']:
- print "SCM %s is not currently supported" % scm
+ print "- scm %s is not currently supported" % scm
return False
tempdir = tempfile.mkdtemp()
clone_cmd = [scm, 'clone', role_url, role_name]
@@ -476,7 +476,7 @@ def fetch_role(role_name, target, role_data, options):
archive_url = role_name
else:
archive_url = 'https://github.com/%s/%s/archive/%s.tar.gz' % (role_data["github_user"], role_data["github_repo"], target)
- print " - downloading role from %s" % archive_url
+ print "- downloading role from %s" % archive_url
try:
url_file = urllib2.urlopen(archive_url)
@@ -490,7 +490,7 @@ def fetch_role(role_name, target, role_data, options):
except Exception, e:
# TODO: better urllib2 error handling for error
# messages that are more exact
- print "Error: failed to download the file."
+ print "- error: failed to download the file."
return False
def install_role(role_name, role_version, role_filename, options):
@@ -498,7 +498,7 @@ def install_role(role_name, role_version, role_filename, options):
# to the specified (or default) roles directory
if not tarfile.is_tarfile(role_filename):
- print "Error: the file downloaded was not a tar.gz"
+ print "- error: the file downloaded was not a tar.gz"
return False
else:
if role_filename.endswith('.gz'):
@@ -514,13 +514,13 @@ def install_role(role_name, role_version, role_filename, options):
meta_file = member
break
if not meta_file:
- print "Error: this role does not appear to have a meta/main.yml file."
+ print "- error: this role does not appear to have a meta/main.yml file."
return False
else:
try:
meta_file_data = yaml.safe_load(role_tar_file.extractfile(meta_file))
except:
- print "Error: this role does not appear to have a valid meta/main.yml file."
+ print "- error: this role does not appear to have a valid meta/main.yml file."
return False
# we strip off the top-level directory for all of the files contained within
@@ -528,20 +528,20 @@ def install_role(role_name, role_version, role_filename, options):
# 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.expanduser(role_path)
- print " - extracting %s to %s" % (role_name, role_path)
+ print "- extracting %s to %s" % (role_name, role_path)
try:
if os.path.exists(role_path):
if not os.path.isdir(role_path):
- print "Error: the specified roles path exists and is not a directory."
+ print "- error: the specified roles path exists and is not a directory."
return False
elif not get_opt(options, "force", False):
- print "Error: the specified role %s appears to already exist. Use --force to replace it." % role_name
+ print "- error: the specified role %s appears to already exist. Use --force to replace it." % role_name
return False
else:
# using --force, remove the old path
if not remove_role(role_name, options):
- print "Error: %s doesn't appear to contain a role." % role_path
- print "Please remove this directory manually if you really want to put the role here."
+ print "- error: %s doesn't appear to contain a role." % role_path
+ print " please remove this directory manually if you really want to put the role here."
return False
else:
os.makedirs(role_path)
@@ -563,11 +563,11 @@ def install_role(role_name, role_version, role_filename, options):
# write out the install info file for later use
write_galaxy_install_info(role_name, role_version, options)
except OSError, e:
- print "Error: you do not have permission to modify files in %s" % role_path
+ print "- error: you do not have permission to modify files in %s" % role_path
return False
# return the parsed yaml metadata
- print "%s was installed successfully" % role_name
+ print "- %s was installed successfully" % role_name
return meta_file_data
#-------------------------------------------------------------------------------------
@@ -588,7 +588,7 @@ def execute_init(args, options, parser):
if not offline:
api_config = api_get_config(api_server)
if not api_config:
- print "The API server (%s) is not responding, please try again later." % api_server
+ print "- the API server (%s) is not responding, please try again later." % api_server
sys.exit(1)
try:
@@ -598,18 +598,17 @@ def execute_init(args, options, parser):
role_path = os.path.join(init_path, role_name)
if os.path.exists(role_path):
if os.path.isfile(role_path):
- print "The path %s already exists, but is a file - aborting" % role_path
+ print "- the path %s already exists, but is a file - aborting" % role_path
sys.exit(1)
elif not force:
- print "The directory %s already exists." % role_path
- print ""
- print "You can use --force to re-initialize this directory,\n" + \
- "however it will reset any main.yml files that may have\n" + \
- "been modified there already."
+ print "- the directory %s already exists." % role_path
+ print " you can use --force to re-initialize this directory,\n" + \
+ " however it will reset any main.yml files that may have\n" + \
+ " been modified there already."
sys.exit(1)
except Exception, e:
parser.print_help()
- print "No role name specified for init"
+ print "- no role name specified for init"
sys.exit(1)
ROLE_DIRS = ('defaults','files','handlers','meta','tasks','templates','vars')
@@ -668,7 +667,7 @@ def execute_init(args, options, parser):
f = open(main_yml_path, 'w')
f.write('---\n# %s file for %s\n' % (dir,role_name))
f.close()
- print "%s was created successfully" % role_name
+ print "- %s was created successfully" % role_name
def execute_info(args, options, parser):
"""
@@ -695,13 +694,13 @@ def execute_install(args, options, parser):
# the user needs to specify one of either --role-file
# or specify a single user/role name
parser.print_help()
- print "You must specify a user/role name or a roles file"
+ print "- you must specify a user/role name or a roles file"
sys.exit()
elif len(args) == 1 and role_file:
# using a role file is mutually exclusive of specifying
# the role name on the command line
parser.print_help()
- print "Please specify a user/role name, or a roles file, but not both"
+ print "- please specify a user/role name, or a roles file, but not both"
sys.exit(1)
roles_done = []
@@ -739,12 +738,12 @@ def execute_install(args, options, parser):
# installing from galaxy
api_config = api_get_config(api_server)
if not api_config:
- print "The API server (%s) is not responding, please try again later." % api_server
+ print "- the API server (%s) is not responding, please try again later." % api_server
sys.exit(1)
role_data = api_lookup_role_by_name(api_server, role_src)
if not role_data:
- print "Sorry, %s was not found on %s." % (role_src, api_server)
+ print "- sorry, %s was not found on %s." % (role_src, api_server)
continue
role_versions = api_fetch_role_related(api_server, 'versions', role_data['id'])
@@ -761,14 +760,16 @@ def execute_install(args, options, parser):
role["version"] = 'master'
else:
if role_versions and role["version"] not in [a.get('name',None) for a in role_versions]:
- print "The specified version (%s) was not found in the list of available versions." % role.version
+ print "- the specified version (%s) was not found in the list of available versions." % role.version
exit_without_ignore(options)
continue
# download the role. if --no-deps was specified, we stop here,
# otherwise we recursively grab roles and all of their deps.
tmp_file = fetch_role(role_src, role["version"], role_data, options)
- if tmp_file and install_role(role.get("name"), role.get("version"), tmp_file, options):
+ installed = False
+ if tmp_file:
+ installed = install_role(role.get("name"), role.get("version"), tmp_file, options):
# we're done with the temp file, clean it up
os.unlink(tmp_file)
# install dependencies, if we want them
@@ -784,14 +785,14 @@ def execute_install(args, options, parser):
else:
dep = ansible.utils.role_yaml_parse(dep)
if not get_role_metadata(dep["name"], options):
- print ' adding dependency: %s' % dep["name"]
+ print '- adding dependency: %s' % dep["name"]
roles_left.append(dep)
else:
- print ' dependency %s is already installed, skipping.' % dep["name"]
- else:
+ print '- dependency %s is already installed, skipping.' % dep["name"]
+ if not tmp_file or not installed:
if tmp_file:
os.unlink(tmp_file)
- print "%s was NOT installed successfully." % role.get("name")
+ print "- %s was NOT installed successfully." % role.get("name")
exit_without_ignore(options)
sys.exit(0)
@@ -803,17 +804,17 @@ def execute_remove(args, options, parser):
if len(args) == 0:
parser.print_help()
- print 'You must specify at least one role to remove.'
+ print '- you must specify at least one role to remove.'
sys.exit()
for role in args:
if get_role_metadata(role, options):
if remove_role(role, options):
- print 'successfully removed %s' % role
+ print '- successfully removed %s' % role
else:
- print "failed to remove role: %s" % role
+ print "- failed to remove role: %s" % role
else:
- print '%s is not installed, skipping.' % role
+ print '- %s is not installed, skipping.' % role
sys.exit(0)
def execute_list(args, options, parser):
@@ -825,7 +826,7 @@ def execute_list(args, options, parser):
"""
if len(args) > 1:
- print "Please specify only one role to list, or specify no roles to see a full list"
+ print "- please specify only one role to list, or specify no roles to see a full list"
sys.exit(1)
if len(args) == 1:
@@ -840,19 +841,19 @@ def execute_list(args, options, parser):
if not version:
version = "(unknown version)"
# show some more info about single roles here
- print " %s, %s" % (role_name, version)
+ print "- %s, %s" % (role_name, version)
else:
- print "The role %s was not found" % role_name
+ print "- the role %s was not found" % role_name
else:
# show all valid roles in the roles_path directory
roles_path = get_opt(options, 'roles_path')
roles_path = os.path.expanduser(roles_path)
if not os.path.exists(roles_path):
parser.print_help()
- print "The path %s does not exist. Please specify a valid path with --roles-path" % roles_path
+ print "- the path %s does not exist. Please specify a valid path with --roles-path" % roles_path
sys.exit(1)
elif not os.path.isdir(roles_path):
- print "%s exists, but it is not a directory. Please specify a valid path with --roles-path" % roles_path
+ print "- %s exists, but it is not a directory. Please specify a valid path with --roles-path" % roles_path
parser.print_help()
sys.exit(1)
path_files = os.listdir(roles_path)
@@ -864,7 +865,7 @@ def execute_list(args, options, parser):
version = install_info.get("version", None)
if not version:
version = "(unknown version)"
- print " %s, %s" % (path_file, version)
+ print "- %s, %s" % (path_file, version)
sys.exit(0)
#-------------------------------------------------------------------------------------
@@ -882,7 +883,7 @@ def main():
fn = globals()["execute_%s" % action]
fn(args, options, parser)
#except KeyError, e:
- # print "Error: %s is not a valid action. Valid actions are: %s" % (action, ", ".join(VALID_ACTIONS))
+ # print "- error: %s is not a valid action. Valid actions are: %s" % (action, ", ".join(VALID_ACTIONS))
# sys.exit(1)
if __name__ == "__main__":