Allow empty list of names in pip module (#38789)
pip 10 gives exit code 1 for empty argument lists (pip < 10 gave exit 0) see also https://github.com/pypa/pip/pull/4210 To still allow playbooks to pass when giving empty lists, don't call pip in that case, but show a warning.
This commit is contained in:
parent
42953c40ce
commit
d6e711b1de
2 changed files with 17 additions and 2 deletions
|
@ -496,9 +496,13 @@ def main():
|
||||||
if name:
|
if name:
|
||||||
for pkg in name:
|
for pkg in name:
|
||||||
cmd += ' %s' % _get_full_name(pkg, version)
|
cmd += ' %s' % _get_full_name(pkg, version)
|
||||||
else:
|
elif requirements:
|
||||||
if requirements:
|
|
||||||
cmd += ' -r %s' % requirements
|
cmd += ' -r %s' % requirements
|
||||||
|
else:
|
||||||
|
module.exit_json(
|
||||||
|
changed=False,
|
||||||
|
warnings=["No valid name or requirements file found."],
|
||||||
|
)
|
||||||
|
|
||||||
if module.check_mode:
|
if module.check_mode:
|
||||||
if extra_args or requirements or state == 'latest' or not name:
|
if extra_args or requirements or state == 'latest' or not name:
|
||||||
|
|
|
@ -208,3 +208,14 @@
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- "venv_chdir.changed"
|
- "venv_chdir.changed"
|
||||||
|
|
||||||
|
# ansible#38785
|
||||||
|
- name: allow empty list of packages
|
||||||
|
pip:
|
||||||
|
name: []
|
||||||
|
register: pip_install_empty
|
||||||
|
|
||||||
|
- name: ensure empty install is successful
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- not pip_install_empty.changed
|
||||||
|
|
Loading…
Reference in a new issue