Alex
да
brestows
"auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
brestows
у меня так
Sheridan
Коморады, а напомните про модули... Вспоминаю вот... Есть кучка модулей, функционал много где одинаков (типа "прочитать некую метку для начала"). Очень просится ООП сюда, но непонятно несколько где именно базовый класс нарисовать и как
brestows
но это в файле который я загружаю, а вот файл который генерит awx : https://hastebin.com/afeqofibab.json
brestows
да
Походу я понял как это поправить) сейчас попробую
Dmitriy
Верно. Только ssh
спасибо, буду иметь ввиду
brestows
И где тут токен?
В этом проблема что его и нет )
brestows
awx его удаляет когда я загружаю json
brestows
я загружаю json который валидный, его мне выдал google cloud. Но awx его парсит и удаляет 'лишнее' по его мнению
Dennis
Добрый день Вопрос новичка что поменялось в новых версиях что ругается на no filter named 'changed' было when: postgresinstall|changed
inqfen
when: postgresinstall['changed']
Dennis
when: postgresinstall['changed']
Спасибо добрый человек
Ivan
привет! Задача: получить версию конкретного пакета supervisor из файла requirements/node.txt файл вида: aaa==1.2.3 bbb==2.3.3 supervisor==4.5.6
Ivan
делаю так, но почему-то в переменной sup_ver потом находится контент файла в base64, а не номер версии.
Ivan
где косячу?
Sheridan
где косячу?
- name: Find out what the remote machine's mounts are slurp: src: /proc/mounts register: mounts - debug: msg: "{{ mounts['content'] | b64decode }}"
Sheridan
тобиш декодируй сначала. Это нормальное поведение
Ivan
а, он по дефолту в b64
Sheridan
да
Ivan
Спасибо, пропустил
Alexander
Народ, а подскажите по такой концептуальной штуке - как вообще принято писать роль, а если она подразумевает выполнение на разных дистрибутивах? Простой пример - мне нужно применить роль установки nginx на CentOS и Ubuntu. Я делаю по два таска на каждый дистр: 1. Добавление репозитория yum/apt 2. Установка с yum/apt И выбираю нужные с when: ansible_facts.distribution == "Ubuntu", например. А есть более красивые варианты?
Alex
> И выбираю нужные с when: ansible_facts.distribution == "Ubuntu", например. а чем include/import не угодил?
Ждун
а как он работает с разными осями, можно в гите посмотреть
Alexander
https://docs.ansible.com/ansible/latest/modules/package_module.html
Ну ок, это установка. А если другой дистрозависимый кейс? Чтение файла, который в разных местах, например. include vars?
Alex
Import task в зависимости от дистра тоже?
ну да, что то типа import_tasks: distro/{{ ansible_facts.distribution | lower }}.yml
Alex
https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#operating-system-and-distribution-variance
brestows
И где тут токен?
Вообщем разобрался, с стандартным credential type, который Google Compute Engine не будет работать ) пришлось сделать свой
brestows
с ним все работает
Maksim
Всем привет ПОдскажите пожалуйста, как сделать аналог вот этого {% for host in groups[‘lb’] -%} {{ hostvars[host][‘ansible_default_ipv4’][‘address’] }} В самих плейбуках?
Maksim
Пробовали src: "{{ hostvars[item]['ansible_default_ipv4']['address'] }}" loop: - groups['backend']
Maksim
Не работает
Ivan
делаю так, но почему-то в переменной sup_ver потом находится контент файла в base64, а не номер версии.
нужна помощь регексоводов: как из строки "\ntyping==3.7.4.1\nrequests==2.20.0\nsupervisor==4.1.0\ncrontab==0.22.0\nfs==2.4.11" получить "supervisor==4.1.0" как строку? Я что-то запутался уже в этих match, regex_search
Отделение Bereke Bank
Пробовали src: "{{ hostvars[item]['ansible_default_ipv4']['address'] }}" loop: - groups['backend']
subject_alt_name: "DNS:{{ item }},IP:{{ hostvars[item]['ansible_default_ipv4']['address'] }}" mode: 0644 backup: yes loop: "{{ groups[masters_group_name] }}"
Отделение Bereke Bank
100% рабочий вариант
Sergey
^^^ +++
Sergey
странно только, что исходная строка похожа на кашу из других строк
Ivan
тут, скорее всего, 'supervisor==\d+\.\d+\.\d+'
да, но чем применять эту регулярку?
Ivan
странно только, что исходная строка похожа на кашу из других строк
https://t.me/pro_ansible/130638 — вот тут начало истории. В итоге получаю строку с переносами \n
Sergey
да, но чем применять эту регулярку?
полагаю, что regex_search с данной регуляркой справится: https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#regular-expression-filters
Ivan
башсиблом давно бы уже пиу-пиу
Ivan
а, ну я сам дурак, ставил ^.....$
Maksim
subject_alt_name: "DNS:{{ item }},IP:{{ hostvars[item]['ansible_default_ipv4']['address'] }}" mode: 0644 backup: yes loop: "{{ groups[masters_group_name] }}"
Прекрасно. Оно работает, если loop без массива ( - ) А как мне его в цикл сделать, не подскажешь?
Maksim
loop: -"{{ groups['backend'] }}" - "{{ groups['activemq'] }}"
Sergey
Прекрасно. Оно работает, если loop без массива ( - ) А как мне его в цикл сделать, не подскажешь?
Ну достаточно подумать и вспомнить Python: loop: [ "{{ groups['backend'] + groups['activemq'] }}" ]
Dennis
Вопрос новичка 2 В каком направлении копать когда видишь skip_reason conditional result was false
Sergey
Вопрос новичка 2 В каком направлении копать когда видишь skip_reason conditional result was false
Ищи when, ну и смотри в нём условие. А это точно плейбук новичка?
UglyKoyote
Ищи when, ну и смотри в нём условие. А это точно плейбук новичка?
новичок стянул роль с гэлакси.. и удивляется результатам)
Sergey
Вон чего 😊 Норм.
Dennis
новичок стянул роль с гэлакси.. и удивляется результатам)
Можно без подобных не связаных с реальностью комментариев
UglyKoyote
а можно как то спокойнее реагировать на юмор?
UglyKoyote
без софтскилов в нашей профессии тяжело
Dennis
а можно как то спокойнее реагировать на юмор?
Юмор обычно сопровождается эмоциями выражаемыми с помощью смайлов или иной анимации
UglyKoyote
UglyKoyote
о нет.. я забыл половинку смайлика, о стыд и позор мне.. причем Сергей понял незлобную шутку..
UglyKoyote
бан мне срочно, по номеру причем
Maksim
Ну достаточно подумать и вспомнить Python: loop: [ "{{ groups['backend'] + groups['activemq'] }}" ]
src: "{{ hostvars[item]['ansible_default_ipv4']['address'] }}" state: enabled tags: - firewall loop: [ "{{ groups['backend'] + groups['activemq'] }}" ] "msg": "The task includes an option with an undefined variable. The error was: ansible.vars.hostvars.HostVars object has no element [u'10.0.110.183', u'10.0.110.183']
Sergey
loop: "{{ groups['backend'] + groups['activemq'] }}"
Maksim
Чат волшебников просто
Maksim
@zh_erzh @tnt4brain спасибо!
Sergey
@zh_erzh @tnt4brain спасибо!
всегда пожалуйста 😊
Артём
Добрый день. У меня есть подозрение, что я уже приходил с таким вопросом с год назад, и мне уже помогли, но вспомнить не могу. Есть get_fact по пакету с дефисами в имени. Как их заэкранировать, потому что, очевидно, ломается? installed_version: "{{ ansible_facts.packages['my-package'][0].version }}-{{ ansible_facts.packages.my-package[0].release }}"
UglyKoyote
так советовали втянуть минус в шаблон, ну что-то похожее было уже
Артём
Не на минусе между версией-релизом ломается.
UglyKoyote
а, там другое было - там нужно было "оставлять" или убирать минус. извиняюсь
Артём
На my-package