Команда `ansible --version` выдает ОШИБКУ - PullRequest
1 голос
/ 21 января 2020

Добрый день, ребята

Я установил ansible на мою ма c, она была успешно установлена, но когда я запускаю команду ansible --version, она выдает ошибку:

Unhandled error:
 Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 559, in update_config_data
    value, origin = self.get_config_value_and_origin(config, configfile)
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 503, in get_config_value_and_origin
    value = ensure_type(value, defs[config].get('type'), origin=origin)
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 124, in ensure_type
    value = tempfile.mkdtemp(prefix=prefix, dir=value)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 339, in mkdtemp
    _os.mkdir(file, 0700)
OSError: [Errno 13] Permission denied: '/Users/patrick/.ansible/tmp/ansible-local-37505vvsQNX'


Traceback (most recent call last):
  File "/usr/local/bin/ansible", line 62, in <module>
    import ansible.constants as C
  File "/Library/Python/2.7/site-packages/ansible/constants.py", line 174, in <module>
    config = ConfigManager()
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 291, in __init__
    self.update_config_data()
  File "/Library/Python/2.7/site-packages/ansible/config/manager.py", line 571, in update_config_data
    raise AnsibleError("Invalid settings supplied for %s: %s\n" % (config, to_native(e)), orig_exc=e)
ansible.errors.AnsibleError: Invalid settings supplied for DEFAULT_LOCAL_TMP: [Errno 13] Permission denied: '/Users/patrick/.ansible/tmp/ansible-local-37505vvsQNX'

Ценю вашу помощь, ребята.

1 Ответ

2 голосов
/ 21 января 2020

Убедитесь, что это похоже на iiab / iiab / issue 1212 :

После еще нескольких копаний я обнаружил, что реальный источник этой проблемы - жестко закодированные пути в ansible .cfg

Или более свежий ansible/galaxy-dev выпуск 107 , что приводит к PR 110 :

по умолчанию ansible temp dir ~/.ansible/tmp доступен ansible-doc через galaxy-importer.
. Это работает нормально в galaxy-dev local env, но в среде CI он пытается создать dir /.ansible/tmp и завершается неудачно .

Этот PR изменяет значение по умолчанию ansible temp dir на /tmp/ansible, которое находится вне дома пользователя (и в локальной среде /tmp имеет большие разрешения)

Попробуйте изменить DEFAULT_LOCAL_TMP на /tmp.

...