Vladislav 👻
Разве надо, вроде внутренние можно просто убрать
Vladislav 👻
Правда я не понимаю, что хочется получить и очень похоже на то, что не планируемое
Ilya
нужно из словарей повыдергивать значений. но уже да, становится все странным.
Ilya
Vladislav 👻
До итема сотри все
Vladislav 👻
В msg
Andor
[item] что ли?
Andor
или там keys() должно быть?
Andor
а может в дебаг можно сразу дикт передать и всё?
Andor
или например to_nice_json подойдёт?
Ilya
Ilya
не, не пойдет мне как раз нужны переменные - они пойдут в модуль для создания виртуалок. пока пытаюсь разобраться как их всех вытащить из файлов описания структуры.
Timur
Ilya
ок. спасибо. почитаю
Anonymous
@Dannaro будет жить. Поприветствуем!
Anonymous
Коллеги, а как в ансибл экранируются одинарные кавчки, например мне нужно '{"password": "{{vault_password}}»}’
Andor
это не в ансибл а в yaml
Anonymous
разобрался
Anonymous
При использовании строк с одинарными кавычками, любая кавычка внутри их содержания должна быть продублирована для экранирования:
Anonymous
как раз мой случай
V.
привет, подскажите можно ли как то сформировать retry файл при использовании динамического инвентори? но или может можно сконвертировать вывод динамического инвентори в формат статического?
Timur
Timur
Timur
Смотрите на здоровье
V.
просто вывод парсить?
V.
ну вот например запускаю с динамическим инвентори (это тестовый с одним хостом), он не выполнился, хочется знать на каких хостах не выполнился, в файле ansible-routeros/playbook.retry - пусто
V.
Terry
ваш xfce пугает глаза) смените тему на что-то похожее на osx
Terry
)
Maxim
Terry
Maxim
я не агрюсь, б-же упаси
Maxim
просто не распознал вашу шутку
Timur
V.
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
я знаю, спасибо
Andor
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
Maxim
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]
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 тоже не помог
Timur
Yuf
Timur
Что вы хотите вытащить из вывода?