citius
у меня 2.7.
я просто тот еще мамкин питонист, видимо просто не знаю куда смотреть )
Timur
Timur
citius
В чем конкретно проблема-то?
да тупо не знаю как сослаться на переменную в инвентаре.
если в том примере что я показал, то
print (project)
в плагине падает с ошибкой что переменная не определена
Sashko
Ставлю ансиблом на CentOS7 ius и epel и не проходит изза конфликта maria db((( кто сталкивался?
Timur
Timur
Timur
Timur
Ну, или как вариант, можете не менять hosts, но добавить к таску с модулем
delegate_to: localhost
Timur
Свойство project без entity никак не задано
Timur
Так что плагин правильно ругается
Timur
Посмотрите на код vars плагина
Timur
https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/vars/host_group_vars.py
Sashko
в общем запускаю packer build для плейбука ansible, где у меня
---
- hosts
roles
- ius
- packages (все необходимые пакеты из груп варс)
- php
соответственно закидывается все через yum
роли по ius и тд прописаны верно
ругается на конфликт с maria_db
Timur
Timur
Ну, без деталей, что там у вас в ролях делается, мы можем только гадать
Sashko
в ролях репохи энеблятся и нужные пакеты подтягивает через packages
Timur
в ролях репохи энеблятся и нужные пакеты подтягивает через packages
Хороший шаблон для формулировки проблемы:
«Доброе утро, для решения поставленной задачи я применил типовое решение (ссылка), но в результате получил (ссылка на пэйстбин). Нагуглив этот выхлоп, я обнаружил, что данную проблему до меня решали вот таким способом (ссылка на решение), однако в моём случае это не помогло. Прошу поделиться опытом в решении этой проблемы или помочь найти способ, как можно решить мою задачу»
Timur
А сейчас у вас формулировка выглядит как "товарищи уч0ные, объясните, пожалуйста, причину странного стука у меня в подвале"
Sashko
MRY
Сделал в первом таске
register: deploy_vm
- debug:
var: deploy_vm
Второй таск не видит переменную deploy_vm
Timur
Asten
Не var а msg же?
Timur
hostvars[localhost][‘deploy_vm’]
MRY
The full traceback is:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 140, in run
res = self._execute()
File "/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 539, in _execute
self._task.post_validate(templar=templar)
File "/usr/lib/python2.7/site-packages/ansible/playbook/task.py", line 267, in post_validate
super(Task, self).post_validate(templar)
File "/usr/lib/python2.7/site-packages/ansible/playbook/base.py", line 364, in post_validate
value = templar.template(getattr(self, name))
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 540, in template
disable_lookups=disable_lookups,
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 495, in template
disable_lookups=disable_lookups,
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 717, in do_template
data = _escape_backslashes(data, myenv)
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 141, in _escape_backslashes
for token in jinja_env.lex(d2):
File "/usr/lib64/python2.7/site-packages/jinja2/lexer.py", line 739, in tokeniter
name, filename)
TemplateSyntaxError: unexpected char u'\u2018' at 72
line 2
fatal: [sg2anstest01a]: FAILED! => {
"msg": "Unexpected failure during module execution.",
"stdout": ""
}
Timur
The full traceback is:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 140, in run
res = self._execute()
File "/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 539, in _execute
self._task.post_validate(templar=templar)
File "/usr/lib/python2.7/site-packages/ansible/playbook/task.py", line 267, in post_validate
super(Task, self).post_validate(templar)
File "/usr/lib/python2.7/site-packages/ansible/playbook/base.py", line 364, in post_validate
value = templar.template(getattr(self, name))
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 540, in template
disable_lookups=disable_lookups,
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 495, in template
disable_lookups=disable_lookups,
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 717, in do_template
data = _escape_backslashes(data, myenv)
File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py", line 141, in _escape_backslashes
for token in jinja_env.lex(d2):
File "/usr/lib64/python2.7/site-packages/jinja2/lexer.py", line 739, in tokeniter
name, filename)
TemplateSyntaxError: unexpected char u'\u2018' at 72
line 2
fatal: [sg2anstest01a]: FAILED! => {
"msg": "Unexpected failure during module execution.",
"stdout": ""
}
На каком таске это вылезло?
MRY
2-й таск
Sashko
Timur
Timur
Может, ещё и доступ корпоративный дадите тогда?
Sashko
Timur
Sashko
Timur
Timur
Слака к корпоративным аккаунтам привязана
Anonymous
Ребята помогите решить задачку.
inventory
[test]
ntc53 ansible_ssh_host=10.0.1.53 till=ntc53
ntc54 ansible_ssh_host=10.0.1.54 bt=ntc54 safe=ntc54
для j2 выполняю цикл
{% for h in groups['test'] %}{{ hostvars[h].['till'] }},{% endfor %}
выподаю в ошибку.
Задача отрабатывать один цикл для хостов у которых есть till и отдельно для хостов у которых есть bt. Пока неудачно.
Timur
Timur
Terry
Dr. L.S.Dee
Timur
Что, я ещё и должен дополнительный аккаунт в слаке регить, чтобы чужой лог прочитать?
Nklya
Это укропс, просто групповой чят, только не в телеге, а слаке.
Есть еще hangops например или про голанг
Timur
Timur
Don't have an account on this workspace yet?
Contact the workspace administrator for an invitation
MRY
Никак не получается вытащить в другой таск параметры
MRY
К примеру
task1:
Timur
MRY
- set_fact:
vminfo: hostvars[inventory_hostname
task2:
echo "{{ hostvars['vminfo'] }}"
MRY
через -debug также ничего
Timur
MRY
https://docs.ansible.com/ansible/latest/modules/set_fact_module.html
Timur
Я в курсе про модули
Timur
У вас в коде вообще синтаксически неверный вызов идёт
Timur
MRY
В коде закрыта
MRY
Может копипастой не все скопировал
Timur
Выложите код и выхлоп на pastebin
Timur
Трудно так, что ли?
MRY
https://pastebin.com/jFS9Rp9y
MRY
Сейчас выхлоп чистый но в файл из переменной ничего не записывается
Timur
Timur
Сейчас глянем
MRY
сотвественно вместо строки echo "{{ hostvars['vminfo'] }}" >> C:\Windows\Temp\ansible.txt будет скрипт на DNS который создаст записи.
MRY
но единственное что мне кажется дак это то что hostvars в таске 2 читает vars из сервера в группе dns, и нужно сделать чтото типа hostvars['localhost']['vminfo'].peer_ip
Timur
Timur
Конструкция вида {{ hostvars['vminfo'] }} неправильная по определению
Timur
А вторым таском выведите результат:
- debug:
var: vmres