Aleksei
В общем две роли!!! Спасиб)
Как вариант можешь использовать за основу мою роль: https://github.com/FixGN/ansible_role_software_php Это мои первые наброски сделать общую роль для всех версий PHP. С ходу она у тебя не поедет, т.к. вряд ли у тебя в стандартном репозитории есть remi-relese =) Ну и написана она для CentOS В остальном - она полностью рабочая
Aleksei
Оу! Спасибо. Для центос7?
Тестил только на 7ой пока. Думаю, с маленькими доработками поедет и для 6
Aleksey
А куда надо?
Tadeusz
Нафиг мне потом лазать в /opt/remi.../etc/...
Tadeusz
И помнить об этом
Tadeusz
Есть няшный саузбридж, с теми же реми пакетами, только все куда надо ставит
Aleksey
Я всё равно не понял куда надо. Но теперь ещё и стало интересно зачем ты лазишь
Aleksei
Есть няшный саузбридж, с теми же реми пакетами, только все куда надо ставит
Он ставит в /opt только если использовать общий реп, где пакеты именуются как: php71-php-fpm php56-php-mysql Если включать репозиторий с конкретной версией PHP, то всё ставится куда надо
Aleksey
При необходимости конкурирующих 2х версий я бы тоже ставил в опт
Tadeusz
Зачем)
Aleksey
Ну я не знаю вдруг ты в шаредхостнге теперь
Tadeusz
Ну да, для дева пойдет
Vladimir
Подскажите, не как не осилю. https://xpaste.pro/p/a65b4cd561e099b977c3ca3c24b3888a Сохраняю результат таск, в следующем надо получить доступ к id, как правильно вызвать?
Timur
Или там только один инстанс предполагается всегда?
Vladimir
Только один
Vladimir
ec_instance.instances.id я предпологал. Но нет, так не пошло. Вариант был еще ec_instance.instances['id']
Александр
Вот такая конструкция copy: src: - ["files/postgresql/pgpass", "/home/bworker/files/postgresql/pgpass"] dest: ~/.pgpass mode: u=rw,o=,g= И такая ошибка An exception occurred during task execution. To see the full traceback, use -vvv. The error was: AttributeError: 'list' object has no attribute 'endswith' Но вот такое срабатывает без проблем vars_files: - ["vars/postgres.yml", "/home/bworker/keys/postgres.yml"]
Александр
copy умеет несколько файлов в один?
Это не несколько файлов, а один, типа если первый не существует, то второй.
Sashko
дрюгой вопросег - а кто обновлял ansible-lint ? как доапгрейдится до 4,0 ?
Александр
Я такую конструкцию в issue создателей подсмотрел.
Womchik
а она везде применима?
Timur
Только один
Тогда ec_instance.instances[0].id
Timur
Не работает?
Timur
copy умеет несколько файлов в один?
Нет, не умеет. Только с директорией если
Timur
Это не несколько файлов, а один, типа если первый не существует, то второй.
Это так не работает. Если нужна такая логика, прикручивайте луп with_first_found
Timur
pip install ansible-lint==4.0.0
Sashko
эххх(( я не посмотрел - сделал pip install ansible-lint и получил 4.0.1- отя тоже ок - ошибку сразу заметил
Александр
а она везде применима?
По идее да, т.к. парсер идентично работает.
Timur
Там обработки списка нет вообще
Oleg
скажите, вот есть модуль yum_repository_module а как получить в факты список установленных репозиториев?
Timur
И то, и другое можно сделать с помощью модуля yum
Timur
- name: test yum packages yum: list: repos register: yum_repos - debug: var: yum_repos
Timur
Вот эта конструкция выводит весь список установленных в системе yum-репозиториев
Oleg
Vladislav 👻
Подскажите, вариант объединения тегов так и нет?
Vladislav 👻
Ну т.е. чтобы логика тегов была не OR, а AND
Vladislav 👻
есть плейбук с N ролями/тегами, в каждой роли есть тег install и config, хочу дернуть только одну роль на конфиг
Vladislav 👻
Как дернуть?
Timur
Как дернуть?
Так дергайте как обычно по тегу нужному
Timur
Если только конфиг, то --tags "config"
Vladislav 👻
тогда по всем ролям пойдет конфиг, а надо только по одной
Boris 🦍
- hosts: amsterdam become: true tasks: - name: Checking existing rules shell: "iptables-save | grep 'ospf -j NETMAP' | wc -l" register: netmap_rules_count - name: Debug debug: msg: "netmap_rules_count is {{ netmap_rules_count.stdout }}" - name: Application rules if not exist shell: 'echo 123 > /tmp/123.txt' when: netmap_rules_count.stdout == 2 Привет, подскажите почему скипается последний таск? Хотя значение для netmap_rules_count.stdout регистрируется со значением 2
Nikita
rc code?
Boris 🦍
rc code?
changed: [amsterdam] => { "changed": true, "cmd": "iptables-save | grep 'ospf -j NETMAP' | wc -l", "delta": "0:00:00.025716", "end": "2019-01-10 14:12:44.596212", "invocation": { "module_args": { "_raw_params": "iptables-save | grep 'ospf -j NETMAP' | wc -l", "_uses_shell": true, "chdir": null, "creates": null, "executable": null, "removes": null, "stdin": null, "warn": true } }, "rc": 0, "start": "2019-01-10 14:12:44.570496", "stderr": "", "stderr_lines": [], "stdout": "2", "stdout_lines": [ "2" ] }
Boris 🦍
rc code = 0
Nikita
Аааа, ты по количеству строк хочешь сделать?
Boris 🦍
Аааа, ты по количеству строк хочешь сделать?
ага. если два правила есть то, ок
Nikita
Попробуй 2 в кавычки взять
Boris 🦍
Попробуй 2 в кавычки взять
блин, помогло. спасибо , не додумался
citius
всем привет есть вот такой список: clickhouse_config_users: - user1ro: db: db1 - user: db: db1 - user2ro: db: db2 - user2: db: db2 итерируюсь по нему через with_list. при этом в item попадает соответственно ok: [localhost] => (item={u'user1ro': {u'db': u'db1'}}) => ok: [localhost] => (item={u'user': {u'db': u'db1'}}) => ok: [localhost] => (item={u'user2ro': {u'db': u'db2'}}) => как я могу обратиться к имени юзера? item.key и item.name чет не работает.
Vladislav 👻
при такой конфигурации item будет dict, что при выполнении и видно, поэтому обращаться придется item['user1ro'].db, item['user'].db, item['user2ro'].db, item['user2'].db
Vladislav 👻
вместо квадратных скобок в ансибле можно писать через точку
Timur
Попробуй 2 в кавычки взять
Или добавить к параметру фильтр int
Timur
В чем проблема-то?
Vladislav 👻
если хотите более адекватное решение, то лучше сделать как-то так clickhouse_config_users: - name: user1ro db: db1 - name: user db: db1 - name: user2ro db: db2 - name: user2 db: db2 и тогда обращаться можно будет как item.name и item.db
Vladislav 👻
Ну, так и вызывайте по одной
разве плейбук можно лимитировать по роли?
Timur
разве плейбук можно лимитировать по роли?
В каком смысле "лимитировать"?
citius
если хотите более адекватное решение, то лучше сделать как-то так clickhouse_config_users: - name: user1ro db: db1 - name: user db: db1 - name: user2ro db: db2 - name: user2 db: db2 и тогда обращаться можно будет как item.name и item.db
вот так у меня раньше и было, но это не устраивает по определенным причинам. мне нужно иметь возможность конвертить эти ямлы для хранения настроек в KV хранилище, и получается что по name они пересекаются.
Vladislav 👻
В каком смысле "лимитировать"?
в прямом, плейбук на N ролей
citius
я не понял
настройки мигрируют потихоньку из статичских ямлов в консул. в консуле мой вариант превратится в clickhouse_config_users/user1/db:db1 а "правильный вариант" пересечется по полю name, и будет храниться только последнее значение.
Vladislav 👻
я так подозреваю, что вы решили использовать какую-то стандартную конвертацию, вместо нормальных темплейтов?
citius
я так подозреваю, что вы решили использовать какую-то стандартную конвертацию, вместо нормальных темплейтов?
теперь я не понял ) о каких темплейтах речь? конвертируется просто ямл в жсон, и жсон уже въезжает в консул.
Vladislav 👻
а как въезжает то? через конфиг?
citius
в консул? утилитой consulator. https://github.com/lewispeckover/consulator