Maksim
Привет. https://docs.ansible.com/ansible/latest/modules/postgresql_query_module.html Этот модуль не позволяет сделать query с локального компа? Т.е сначала надо копирнуть, потом уже сделать query ? Других вариантов нету?
George
ну, т.е. не вижу проблемы с локального компа запустить
George
а в чем тогда вопрос?
Maksim
а в чем тогда вопрос?
Хотя идея вроде даже и норм, но для работы нужны питоновские модули дополнительные, которых на ансибловой машине быть не должно
George
ну, несомненно )
George
правду пишут, что нужен libpq и psycopg2 питонячий
Full
libpq и для psql нужен, емнип.
Ilya
Подскажет может кто. Нужно брать item из листа и дублирующийся символы \\ заменять на один \. Может какие Jinja фильтры есть для этого?
Full
regex_replace есть.
Ilya
Или по другому сформулирую. Register сохраняет путь до шары и экранирует \, а после использую эту переменную и он ещё экранирует \ В итоге вместо одного \ получается \\\\
Oleg Y.
Ilya
покажи пример полный использования и воспроизведения проблемы
Отбой, победил я эти ковычки. Сори за беспокойство
Ilya
расскажи теперь )
Указал чтобы брал первое значение и лишнее экранирование ушло "{{ item.stdout_lines[0] }}.V2\\ntuser.dat"
George
о, как, хитрец
Timur
Двойные кавычки - зло
Timur
Особенно если работаешь с виндовыми путями
Ilya
Двойные кавычки - зло
Просто он и так регистрирует уже экранированные \, поэтому тут лучше двойные ковычки Либо как-то избавляться от экранирования после register
Ilya
Дроч тот еще
Ilya
Не лучше
У тебя переменная регистрируется в \\\\path\\file, как эту переменную дальше использовать?
Timur
И вообще - какая задача решается?
Ilya
Покажи код
https://pastebin.com/G3ApraaH
Timur
"{{ userList }}" - тут тоже двойные кавычки не нужны
Ilya
"{{ userList }}" - тут тоже двойные кавычки не нужны
Когда указываешь в loop разве есть разница?
George
Ансибл почему-то отказывается парсить jinja в ключах словарей. vars: bar: bar_value foo: foo_value mydict: '{{ foo }}': '{{ bar }}'Делает словарь в котором mydict['{{ foo }}'] == 'bar_value'. Как бы это обороть? SO не знает красивых путей.
Ivan
Ансибл почему-то отказывается парсить jinja в ключах словарей. vars: bar: bar_value foo: foo_value mydict: '{{ foo }}': '{{ bar }}'Делает словарь в котором mydict['{{ foo }}'] == 'bar_value'. Как бы это обороть? SO не знает красивых путей.
- hosts: localhost vars: bar: bar_value foo: foo_value mydict: "{ '{{ foo }}': '{{ bar }}' }" tasks: - name: debug debug: var: mydict Это с SO как раз - https://stackoverflow.com/questions/27805976/resolve-dictionary-key-or-parameter-variable-in-ansible
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` использовать как ключ.
George
Пример выше я видел, но кавычки - это jinja.
George
А если jinja, то я его и просто content'ом могу записать.
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
медленный хост, большое количество сущностей, тип соединения local?
Да, local, соединений в общем-то и нет никаких, до определённого момента всё было хорошо. Ради теста переустановил линукс и проверил - один плейбук выполнился влёт, второй завис на gathering facts
Oleg
Пытаюсь снова запустить первый плейбук, который выполнился отлично - и он тоже завис на gathering facts
Oleg
Как будто есть какой-то блокер, который не даёт выполняться
Oleg
Сделал apt purge ansible && apt install ansible - тоже ничего не изменилось
Aleksey
Как это сделать?
https://docs.ansible.com/ansible/latest/modules/setup_module.html#parameter-gather_subset
Oleg
https://docs.ansible.com/ansible/latest/modules/setup_module.html#parameter-gather_subset
Спасибо, помогло, правда непонятно, какой же факт так долго обрабатывался - буду разбираться
Oleg
не забывай про -vvvv и еще в конфиге можно лог включить
Спасибо, включил. В итоге завис на выполнении файла AnsiballZ_setup.py
Aleksey
Спасибо, включил. В итоге завис на выполнении файла AnsiballZ_setup.py
это его исполнялка. чет внутри не хорошо.. чесслово не встречал. но чисто из моих подходов, уже видел странные установки ансибла, я теперь его строго ставлю в виртуальное окружение пипом. в вашем случае, мне кажется можно поискать как отдебажить именно данную часть. т.е. он её трет - пусть оставит
Aleksey
mount где-то кривой?
а! можно зомбаки в системе поискать!
Oleg
Anonymous
Нужна помощь. Дано: playbok_to_play_roles.yml: var1: {{role1_IP}} role1, role2... .Role1: register: role1_IP . Будет ли доступна переменная role1_IP из Role1 в плейбук который я запускаю вот таким явным образом? Заранее спасибо.
Anonymous
ничего не понял...
Спасибо за отклик. Я не понимал, как передать переменную из роли1 в плейбук которым я запускаю эту роль1 и другие роли в нём. Оказалось она доступна. Спасибо)
Sergey
Спасибо за отклик. Я не понимал, как передать переменную из роли1 в плейбук которым я запускаю эту роль1 и другие роли в нём. Оказалось она доступна. Спасибо)
Ты хочешь странного. Роль - это не функция, и то, что её переменные доступны снаружи - это, скорее, недоработка, чем фича.
Anonymous
Ты хочешь странного. Роль - это не функция, и то, что её переменные доступны снаружи - это, скорее, недоработка, чем фича.
Возможно и так, я начинающий в этом деле. Увы приходиться использовать наработанный плейбук и роли которые были до меня. А так конечно будем стремиться к лучшим практикам.
Roman
что не так?
Roman
приветствую, подскажите, что не так с этим плэйбуков по установки и настройки монгодб? чек проходит хорошо, всё накатывается, но сервер приложения не видит монгу
Roman
а если использую устанвоку скриптом sh , то всё норм
Roman
на самом сервере порт открыт, сервис активен
George
Монга слушает на локалхлст ?
Отделение Bereke Bank
George
Живой)
Йа? Чуть чуть
Roman
нет, на бинд на всё 0.0.0.0/0
George
Файрволл может ?
George
Ну, и ты точно машинки не перепутал ?
Roman
файр волл настроен
Roman
машины не перепутал