анзибль версия/анзибль-PlayBook: 2.1.2.0анзибль модуль пип: имя пакета и Umask 0022 Фатальная ошибка: недопустимый буквальным для Int() с основанием 8: «18» Umask должен быть восьмеричное целое число
У меня есть следующие действия в моей PlayBook:
- name: Install cli (as well)
pip:
name: "{{ mycompany_pip_pkg }}"
umask: 0022
Почему я получаю следующее сообщение об ошибке фатальной, даже если я следовал документы для анзибль pip
модуля: http://docs.ansible.com/ansible/pip_module.html
Ошибка:
TASK [company.company-ansible : Install cli (as well)] ****************
fatal: [localhost]: FAILED! => {"changed": false, "details": "invalid literal for int() with base 8: '18'", "failed": true, "msg": "umask must be an octal integer"}
анзибль pip
Docs говорит:
The system umask to apply before installing the pip package. This is useful, for example, when installing on systems that have a very restrictive umask by default (e.g., 0077) and you want to pip install packages which are to be used by all users. Note that this requires you to specify desired umask mode in octal, with a leading 0 (e.g., 0077).
http://programtalk.com/vs2/python/749/ansible-modules-core/packaging/language/pip.py/ показывает следующий код:
if umask and not isinstance(umask, int):
try:
umask = int(umask, 8)
except Exception:
module.fail_json(msg="umask must be an octal integer",
details=to_native(sys.exc_info()[1]))
PS: следующий синтаксис работает! но почему вышеупомянутый не работает?
- name: Install cli (as well)
pip: name="{{ mycompany_pip_pkg }}" umask=0022
UPDATE:
Вопрос:
1) Почему в анзибль pip
модуле, когда значение name
В отеле содержит недопустимое имя пакета, то этот модуль стенает стоимости umask
имущества (что является правильным в моем дело)?
ОК, я нашел решение, но все же, почему синтаксис первого раздела не работает! –