Vladislav 👻
Разве надо, вроде внутренние можно просто убрать
Vladislav 👻
Правда я не понимаю, что хочется получить и очень похоже на то, что не планируемое
Ilya
нужно из словарей повыдергивать значений. но уже да, становится все странным.
Vladislav 👻
До итема сотри все
Vladislav 👻
В msg
Andor
[item] что ли?
Andor
или там keys() должно быть?
Andor
а может в дебаг можно сразу дикт передать и всё?
Andor
или например to_nice_json подойдёт?
Ilya
не, не пойдет мне как раз нужны переменные - они пойдут в модуль для создания виртуалок. пока пытаюсь разобраться как их всех вытащить из файлов описания структуры.
Timur
не, не пойдет мне как раз нужны переменные - они пойдут в модуль для создания виртуалок. пока пытаюсь разобраться как их всех вытащить из файлов описания структуры.
Разберитесь с фильтрами map, selectattr и т.п. Они позволяют вытаскивать нужные данные из списков и словарей любой вложенности
Ilya
ок. спасибо. почитаю
Anonymous
@Dannaro будет жить. Поприветствуем!
Anonymous
Коллеги, а как в ансибл экранируются одинарные кавчки, например мне нужно '{"password": "{{vault_password}}»}’
Andor
это не в ансибл а в yaml
Lamobot
Коллеги, а как в ансибл экранируются одинарные кавчки, например мне нужно '{"password": "{{vault_password}}»}’
Не очень понятно чего нужно Внутри одинарных кавычек можно использовать одинарные же только парами dns_records: '{{ dns_records }} + [ { "zone": ''{{ item.record|regex_search("[^.]+\.[^.]+$") }}'' ]'
Anonymous
разобрался
Anonymous
При использовании строк с одинарными кавычками, любая кавычка внутри их содержания должна быть продублирована для экранирования:
Anonymous
как раз мой случай
V.
привет, подскажите можно ли как то сформировать retry файл при использовании динамического инвентори? но или может можно сконвертировать вывод динамического инвентори в формат статического?
V.
Для чего вам retry файл?
чтобы проследить на каких хостах плэйбук не отработает
Timur
Смотрите на здоровье
V.
просто вывод парсить?
Timur
просто вывод парсить?
Зачем парсить? Берёте и смотрите. Или я не понимаю суть задачи
V.
ну вот например запускаю с динамическим инвентори (это тестовый с одним хостом), он не выполнился, хочется знать на каких хостах не выполнился, в файле ansible-routeros/playbook.retry - пусто
V.
Terry
ваш xfce пугает глаза) смените тему на что-то похожее на osx
Terry
)
Maxim
Terry
нормальная тема, что вам не нравится?
лол, это была шутка, ибо xfce палится быстро
Terry
нормальная тема, что вам не нравится?
а в чем проблема? чего вы агритесь?
Maxim
я не агрюсь, б-же упаси
Maxim
просто не распознал вашу шутку
V.
cat testinventory {"mikrotik": {"hosts": ["1"]}, "all": {"hosts": []}, "_meta": {"hostvars": {"1": {"ansible_host": "10.100.200.175", "ansible_hosts": ["10.100.200.175"], "name": "testmikrotik", "ansible_user": "admin", "ansible_ssh_pass": "123456"}}}}
V.
вроде понятные имена
V.
вопрос в другом был
Timur
1 - понятное имя?
Timur
Ну, ок
Timur
Тогда в чем проблема?
V.
а, понял про что вы
V.
и потом прогрепать на ошибки просто
Timur
Можно в логи писать, если нужно
Andor
а есть кто использует модуль docker_container? нафиг оно разбивает элементы массива из параметра command по пробелам и добавляет это всё в массив? делаю вот так: teamcity_db_docker_command: - bash - -e - -c - "chown mysql /var/run/mysql /var/log/mysql; . /entrypoint.sh" - mysqld ...а оно превращается вот в это: "Cmd": [ "bash", "-e", "-c", "chown", "mysql", "/var/run/mysql", "/var/log/mysql;", ".", "/entrypoint.sh", "mysqld", ...и закономерно ломается
Andor
делаю просто command: "{{ teamcity_db_docker_command }}"возможно это неправильно, я нуп
George
а ты попробуй без переменной
Andor
да я строку сделал, уже работает
Andor
но идея хорошая, да
George
я знаю, спасибо
George
ну, тогда остается только в исходники лезть
Andor
ну ты же понимаешь что я этого делать не буду, я уже сделал через строку вместо списка
Aleksei
Не могу понять, почему в vars плейбука нельзя обращаться к переменным внутри вложенной переменной, если они находятся на том же уровне. Есть такой условный код: --- - name: Test hosts: all gather_facts: no vars: a: b: 1 #c: "{{ a.b }}" tasks: - debug: msg: "{{ a }}" ... Если убрать комментарий, то ансибл начинает падать с ошибкой Error was a <class ''ansible.errors.AnsibleError''>, original message: An unhandled exception occurred while templating Версия ансибла 2.8.1, питона 2.7.16
Andor
потому что эти переменные ещё не существуют
Andor
язык-то не lazy
Aleksei
почему тогда работает обращение к другим переменным из vars? типа vars: a: b: 1 c: "{{ d }}" d: 2
Aleksei
ок, теперь понятно, спасибо
Andor
такого вида обращения работают только в ленивых языках например, в jsonnet
Yuf
вопрос
Yuf
ok: [hp3backprod9] => { "getjavauid.stdout[:10]": "appshar+" }
Yuf
stdout выводит только 6 символов
Yuf
вместо appshar у меня appshared
Yuf
пробовал var: getjavauid.stdout[:10]
Yuf
и var: getjavauid.stdout[:5]
Yuf
и даже пробовал var: getjavauid.stdout[10]
Timur
вместо appshar у меня appshared
Что изначально содержится в stdout и что именно вы хотите получить?
Yuf
вот пример плейбука
Yuf
- hosts: all tasks: - name: Make sure that we can connect to the machine ping: - name: get java tomcat UID shell: ps -aux|grep java|grep tomcat |grep -v grep | awk '{print $1}' register: getjavauid
Andor
ыыы
Yuf
- debug: var: getjavauid.stdout_lines
Yuf
stdout_lines тоже не помог
Yuf
Timur
Что вы хотите вытащить из вывода?