Рейтинг:0

Получение ошибки AnsibleUndefinedVariable: 'factor_ipaddress_eth1' при запуске ansible playbook

флаг br

Получение одной большой трассировки стека ошибки недоступной переменной, исключение не найдено

ansible.errors.AnsibleUndefinedVariable: 'facter_ipaddress_eth1'

пока я запускаю книгу Ansible Play.

значение, которое устанавливается здесь и в других местах.

https://github.com/vfarcic/docker-swarm-networking/blob/master/ansible/group_vars/all

ЗАДАЧА [docker: файлы Debian присутствуют] *********************************************** ******************************************************* ******************************************************* **********путь к задаче: /vagrant/ansible/roles/docker/tasks/main.yml:76
<10.100.192.200> УСТАНОВИТЬ SSH-СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: бродяга
<10.100.192.200> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o 'IdentityFile="/vagrant/.vagrant/machines/swarm-master/virtualbox/private_key"' -o KbdInteractiveAuthentication=no - o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="vagrant"' -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/ceb9f96da5 10.100.192.200 '/bin/sh -c '"'"'echo ~vagrant && sleep 0'"'"''
<10.100.192.200> (0, б'/дом/бродяга\n', б'')
<10.100.192.200> УСТАНОВИТЬ SSH-СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: бродяга
<10.100.192.200> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o 'IdentityFile="/vagrant/.vagrant/machines/swarm-master/virtualbox/private_key"' -o KbdInteractiveAuthentication=no - o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="vagrant"' -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/ceb9f96da5 10.100.192.200 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo /home/vagrant/.ansible/tmp `"&& mkdir "` echo /home/vagrant/.ansible/tmp /ansible-tmp-1640389849.3916476-93636-106822855105481 `" && echo ansible-tmp-1640389849.3916476-93636-106822855105481="` echo /home/vagrant/.ansible/tmp/ansible-tmp-1640389849.3916476-93636-106822855105481 `" ) && спать 0'"'"''
<10.100.192.200> (0, b'ansible-tmp-1640389849.3916476-93636-106822855105481=/home/vagrant/.ansible/tmp/ansible-tmp-1640389849.3916476-93636-1068228551054b)
<10.100.192.200> УСТАНОВИТЬ SSH-СОЕДИНЕНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЯ: бродяга
<10.100.192.200> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o 'IdentityFile="/vagrant/.vagrant/machines/swarm-master/virtualbox/private_key"' -o KbdInteractiveAuthentication=no - o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="vagrant"' -o ConnectTimeout=10 -o ControlPath=/home/vagrant/.ansible/cp/ceb9f96da5 10.100.192.200 '/bin/sh -c '"'"'rm -f -r /home/vagrant/.ansible/tmp/ansible-tmp-1640389849.3916476-93636-106822855105481/ > /dev/null 2>&1 && sleep 0'"'"''
<10.100.192.200> (0, б'', б'')
Полная трассировка:
Traceback (последний последний вызов):
  Файл "/usr/lib/python3/dist-packages/ansible/template/__init__.py", строка 1139, в do_template
    разрешение = j2_concat (rf)
  Файл "<шаблон>", строка 11, в корне
  Файл "/usr/lib/python3/dist-packages/jinja2/runtime.py", строка 639, в _fail_with_undefined_error
    поднять self._undefined_exception(подсказка)
jinja2.exceptions.UndefinedError: 'factor_ipaddress_eth1' не определен

Во время обработки вышеупомянутого исключения произошло другое исключение:

Traceback (последний последний вызов):
  Файл "/usr/lib/python3/dist-packages/ansible/template/vars.py", строка 98, в __getitem__
    значение = self._templar.template (переменная)
  Файл "/usr/lib/python3/dist-packages/ansible/template/__init__.py", строка 869, в шаблоне
    результат = self.do_template(
  Файл "/usr/lib/python3/dist-packages/ansible/template/__init__.py", строка 1176, в do_template
    поднять AnsibleUndefinedVariable(e)
ansible.errors.AnsibleUndefinedVariable: 'facter_ipaddress_eth1' не определен

Во время обработки вышеупомянутого исключения произошло другое исключение:

Traceback (последний последний вызов):
  Файл "/usr/lib/python3/dist-packages/ansible/template/__init__.py", строка 1139, в do_template
    разрешение = j2_concat (rf)
  Файл "<шаблон>", строка 9, в корне
  Файл "/usr/lib/python3/dist-packages/ansible/template/__init__.py", строка 404, в resolve_or_missing
    val = super(AnsibleContext, self).resolve_or_missing(key)
  Файл "/usr/lib/python3/dist-packages/jinja2/runtime.py", строка 217, в resolve_or_missing
    вернуть resolve_or_missing (я, ключ)
  Файл "/usr/lib/python3/dist-packages/jinja2/runtime.py", строка 129, в resolve_or_missing
    вернуть context.parent [ключ]
  Файл "/usr/lib/python3/dist-packages/ansible/template/vars.py", строка 100, в __getitem__
    поднять AnsibleUndefinedVariable("%s: %s" % (to_native(переменная), e.message))
ansible.errors.AnsibleUndefinedVariable: {{ facter_ipaddress_eth1 }}: 'facter_ipaddress_eth1' не определен

Во время обработки вышеупомянутого исключения произошло другое исключение:

Traceback (последний последний вызов):
  Файл "/usr/lib/python3/dist-packages/ansible/plugins/action/template.py", строка 150, выполняется
    результирующий = templar.do_template (template_data, save_trailing_newlines = True, escape_backslashes = False)
  Файл "/usr/lib/python3/dist-packages/ansible/template/__init__.py", строка 1176, в do_template
    поднять AnsibleUndefinedVariable(e)
ansible.errors.AnsibleUndefinedVariable: {{ facter_ipaddress_eth1 }}: 'facter_ipaddress_eth1' не определен
фатальный: [10.100.192.200]: НЕУДАЧА! => {
    «изменено»: ложь,
    "msg": "AnsibleUndefinedVariable: {{ facter_ipaddress_eth1 }}: 'facter_ipaddress_eth1' не определено"
}

ОБЗОР ИГРЫ ******************************************************* ******************************************************* ******************************************************* *************************************10.100.192.200 : ok=14 изменено=6 недостижимо=0 не удалось=1 пропущено=0 спасено=0 проигнорировано=0

Следуя совету @alexD, я добавил задачу для установки facter, но все равно получаю ту же ошибку:

- имя: Установить фактор
  raw: apt install -y facter
  стать истинным
  теги: [докер]

- название: Проверить фактор
  команда: "фактор ipaddress_eth1"
  регистрация: результат
  теги: [докер]
Рейтинг:0
флаг jp

Получить факт_ переменные, которые вы должны иметь факт программа, установленная на целевом хосте. Видеть примечания за настраивать модуль.

Ciasto piekarz avatar
флаг br
Итак, на хосте установлен facter, `facter ipaddress` `2021-12-25 11:12:12.071715 ПРЕДУПРЕЖДЕНИЕ puppetlabs.facter - не удалось найти библиотеку ruby: факты, требующие Ruby, не будут разрешены. ` `10.0.2.15`
Ciasto piekarz avatar
флаг br
вы можете видеть, что я возвращаю IP-адрес.
djdomi avatar
флаг za
но я думаю, что у вас отсутствуют рубиновые библиотеки?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.