diff --git a/packaging/yum b/packaging/yum index 4c930f2f777..240f071b9f8 100644 --- a/packaging/yum +++ b/packaging/yum @@ -472,7 +472,11 @@ def install(module, items, repoq, yum_basecmd, conf_file, en_repos, dis_repos): rc, out, err = module.run_command(cmd) - if (rc != 0 and 'Nothing to do' in err) or 'Nothing to do' in out: + # Fail on invalid urls: + if '://' in spec and 'No package %s available.' % spec in out: + err = 'Package at %s could not be installed' % spec + module.fail_json(changed=False,msg=err,rc=1) + elif (rc != 0 and 'Nothing to do' in err) or 'Nothing to do' in out: # avoid failing in the 'Nothing To Do' case # this may happen with an URL spec. # for an already installed group,