Maksim
Привет.
https://docs.ansible.com/ansible/latest/modules/postgresql_query_module.html
Этот модуль не позволяет сделать query с локального компа?
Т.е сначала надо копирнуть, потом уже сделать query ? Других вариантов нету?
George
Maksim
George
ну, т.е. не вижу проблемы с локального компа запустить
Maksim
George
а в чем тогда вопрос?
Maksim
а в чем тогда вопрос?
Хотя идея вроде даже и норм, но для работы нужны питоновские модули дополнительные, которых на ансибловой машине быть не должно
George
ну, несомненно )
George
правду пишут, что нужен libpq и psycopg2 питонячий
Full
libpq и для psql нужен, емнип.
Ilya
Подскажет может кто. Нужно брать item из листа и дублирующийся символы \\ заменять на один \. Может какие Jinja фильтры есть для этого?
Full
regex_replace есть.
Ilya
Или по другому сформулирую. Register сохраняет путь до шары и экранирует \, а после использую эту переменную и он ещё экранирует \
В итоге вместо одного \ получается \\\\
George
Oleg Y.
Ilya
George
Ilya
расскажи теперь )
Указал чтобы брал первое значение и лишнее экранирование ушло
"{{ item.stdout_lines[0] }}.V2\\ntuser.dat"
George
о, как, хитрец
Timur
Timur
Двойные кавычки - зло
Timur
Особенно если работаешь с виндовыми путями
Ilya
Двойные кавычки - зло
Просто он и так регистрирует уже экранированные \, поэтому тут лучше двойные ковычки
Либо как-то избавляться от экранирования после register
Ilya
Дроч тот еще
Timur
Ilya
Не лучше
У тебя переменная регистрируется в \\\\path\\file, как эту переменную дальше использовать?
Timur
Timur
И вообще - какая задача решается?
Timur
"{{ userList }}" - тут тоже двойные кавычки не нужны
Ilya
George
Ансибл почему-то отказывается парсить jinja в ключах словарей.
vars:
bar: bar_value
foo: foo_value
mydict:
'{{ foo }}': '{{ bar }}'Делает словарь в котором mydict['{{ foo }}'] == 'bar_value'. Как бы это обороть? SO не знает красивых путей.
George
George
Да. Вот настоящая таска:
- name: Generating dynamic inventory
delegate_to: localhost
copy:
dest: '{{ dyn_inv }}/{{ inventory_hostname }}.yaml'
content: '{{ inv_content|to_nice_yaml }}'
vars:
inv_content:
common_monitoring_example:
'{{ inventory_hostname }}':
ansible_host: '{{ ip }}'
ansible_user: cloud-user
openstack_id: '{{ id }}'
openstack_instance_name: '{{ instance_name }}'И мне очень обидно, что я не могу 'inventory_hostname` использовать как ключ.
Sergey
George
Пример выше я видел, но кавычки - это jinja.
George
А если jinja, то я его и просто content'ом могу записать.
Sergey
Sergey
варианты есть всегда
George
Кастомный vars_plugin ради такой мелочи - прямо обидно. До этого момента плейбука была верхом элегантности.
Ivan
чем плох тот вариант что я привел?
George
Тем, что это замаскированная jinja
George
Текст в кавычках - оппортунистическая типизация. Похоже на словарь - значит, словарь. В таком режиме я могу этот же yaml в template написать и там всё будет хорошо. Я хотел более чисто.
Ivan
можно через set_fact сформировать словарь используя combine, в тасках
George
И это тоже метод. Но будет ещё более уродливо. Ладно, жаль, буду темплетизировать yaml (и да, я только что узнал случай, когда yaml нужно темплетизировать).
Oleg
Ребят, что делать, если playbook зависает на Gathering Facts? В чём вообще может быть проблема обычно?
Oleg
Причём запускаю на локале всё, проблем с соединением быть не может
Grek 🇺🇦
медленный хост, большое количество сущностей, тип соединения local?
Oleg
Пытаюсь снова запустить первый плейбук, который выполнился отлично - и он тоже завис на gathering facts
Oleg
Как будто есть какой-то блокер, который не даёт выполняться
Oleg
Сделал apt purge ansible && apt install ansible - тоже ничего не изменилось
Aleksey
Oleg
Aleksey
Как это сделать?
https://docs.ansible.com/ansible/latest/modules/setup_module.html#parameter-gather_subset
Aleksey
Aleksey
Спасибо, включил. В итоге завис на выполнении файла AnsiballZ_setup.py
это его исполнялка. чет внутри не хорошо.. чесслово не встречал. но чисто из моих подходов, уже видел странные установки ансибла, я теперь его строго ставлю в виртуальное окружение пипом. в вашем случае, мне кажется можно поискать как отдебажить именно данную часть. т.е. он её трет - пусть оставит
Sergey
Oleg
Anonymous
Нужна помощь. Дано: playbok_to_play_roles.yml: var1: {{role1_IP}} role1, role2... .Role1: register: role1_IP . Будет ли доступна переменная role1_IP из Role1 в плейбук который я запускаю вот таким явным образом? Заранее спасибо.
Timur
Anonymous
ничего не понял...
Спасибо за отклик. Я не понимал, как передать переменную из роли1 в плейбук которым я запускаю эту роль1 и другие роли в нём. Оказалось она доступна. Спасибо)
Sergey
Roman
что не так?
Roman
приветствую, подскажите, что не так с этим плэйбуков по установки и настройки монгодб? чек проходит хорошо, всё накатывается, но сервер приложения не видит монгу
Roman
а если использую устанвоку скриптом sh , то всё норм
Roman
на самом сервере порт открыт, сервис активен
George
Монга слушает на локалхлст ?
Отделение Bereke Bank
George
Roman
нет, на бинд на всё 0.0.0.0/0
George
Файрволл может ?
George
Ну, и ты точно машинки не перепутал ?
Roman
файр волл настроен
Roman
машины не перепутал