inqfen
А домен example.com
Balagur
В общем hostname -d как в ansible получить? :)
Oleg
Может кто подсказать есть ли возможность в apt добавить сразу несколько репозиториев? Например uviverse и ppa:certbot/certbot. Что бы не растягивать это на отдельные таски.
Oleg
В общем hostname -d как в ansible получить? :)
Переменная ansible_hostname не оно?
Balagur
Переменная ansible_hostname не оно?
Нет, мне не имя надо, а только домен :)
Oleg
ansible_hostnqn?
Oleg
Нет, мне не имя надо, а только домен :)
Нашел. У меня просто небыло домена - смотри переменную ansible_domain
Balagur
Нашел. У меня просто небыло домена - смотри переменную ansible_domain
так это видимо из ansible_fqdn берется, а мне DNS не хочется трогать
Oleg
ansible host -m setup | grep ansible_domain
Oleg
Не думаю что это из dns
Отделение Bereke Bank
Jungo
коллеги а как посоветуете деплоить ключ пользователя c сервера A на удаленный сервер B а ansible при этом работает на ноутбуке C ?
Отделение Bereke Bank
Ldap
George
Я обычно использую отдельный ключ для CI, причём приватный ключ с паролем лежит прямо в репе. А у CI в переменных пароль для ssh-add для расшифровки.
Jungo
так же, как на сервер А
но ключ то на сервере A как заставить ansible взять его оттуда занести локально наноут и потом залить на сервер B?
Vladislav 👻
вы не поняли, не должен сам собой появляться ключ на сервере А
Vladislav 👻
и уж тем более, вы не должно идти туда за ним
Vladislav 👻
если хотите именно "взять ключ с сервера А и положить на сервер В" - то вам путь в баш и прочее
Vladislav 👻
если же вы хотите хоть как-то документировать свою инфру и контролить её, то ключ должен быть у вас в проекте с ансиблом, который катает эьтот ключ на любой, какой вам надо сервер
Jungo
вы не поняли, не должен сам собой появляться ключ на сервере А
серверов A N штук - это сервера клиенты и я хочу дампы с них сливать на сервер бэкапов B - с авторизацией по ключу таким образом у меня N ключей
George
Если что, у меня во времена shinken'а (nagios'а) был код, который раскатывал публичный ключ сервера мониторинга по всем соседям. Собственно, был тривиальный: cat pub.key|regsiter, а потом его по всем серверам в authorized_keys.
George
... Я практически сломался. Как в ansible-test intergration передать секрет? В файл я писать не хочу, а все перменные окружения он сбрасывает. Пикатности добавляет то, что это github а токен светить не хочется от слова "совсем".
Vladimir
коллеги а как посоветуете деплоить ключ пользователя c сервера A на удаленный сервер B а ansible при этом работает на ноутбуке C ?
У нас ролька была, которая имела список людей. И по списку людей, могла стянуть из локального гитлаба их публичные ключи (нужно с админами гитлаба договариваться) И раскидывала их соотвественно. Проблемы очевидны - человек уволился, доступы остались (ну ключ понятно отзовут, но хлам валяться будет) Каждого нового, придется катить. Но в целом жили.
Dan
народ, как определяется иерархия переменных? У меня есть бук в котором определены vars, он использует роль в которой есть vars и defaults. Откуда будут взяты значение переменных, если переменные везде с одними названиями?
Dan
play vars: 12 role vars: 15 вот почему я их не смог задавить. Очень странный порядок конечно...
Vladimir
Если коротко - не юзай vars)
Sergey
play vars: 12 role vars: 15 вот почему я их не смог задавить. Очень странный порядок конечно...
^^^ +++ https://t.me/pro_ansible/153484 По крайней мере, пока не начнёшь точно понимать, зачем тебе это.
Dan
Если коротко - не юзай vars)
да, перетащу все в defaults, как раз бест практис в доке читаю
Vladimir
Если интересно, вот хороший доклад, который описывает, как строить роли. И там в том числе затрагивается момент с приоритетом переменных, и другими аспектами, рекомендую. https://youtu.be/MAnKtZqud1s
Dan
ансИмбл... ппц :)
Vladimir
Вруби х2, И там последние 20 минут вопросы. Км хочешь кшн
Dan
Вруби х2, И там последние 20 минут вопросы. Км хочешь кшн
тема хорошая, в текстовую бы статью ее...
Dan
include у него инклайд... ну блин :)
Влад 🇺🇦
Всем привет, помогите, gs_ip: [8.8.8.8, 9.9.9.9] gs_hostname: [gs-01, gs-02] wl_ip: [1.1.1.1, 2.2.2.2] wl_hostname: [wl-01, wl-02] - debug: msg="Public ip - {{ item.name }}, Hostname - {{ item.groups }}" loop: - { name: '{{ gs_ip }}', groups: '{{ gs_hostname }}' } - { name: "{{ wl_ip }}", groups: "{{ wl_hostname }}" } получаю Public ip - [u'8.8.8.8', u'9.9.9.9'], Hostname - [u'gs-01', u'gs-02'] Public ip - [u'1.1.1.1', u'2.2.2.2'], Hostname - [u'wl-01', u'wl-02'] нужно поучить на выходе Public ip - 8.8.8.8, Hostname - gs-01 Public ip - 9.9.9.9 Hostname - gs-02 Public ip - 1.1.1.1, Hostname - wl-01 Public ip - 2.2.2.2, Hostname - wl-02
Влад 🇺🇦
- debug: msg="Public ip - {{ item[0] }}, Hostname - {{ item[1] }}" with_together: - "{{ gs_ip }}" - "{{ gs_hostname }}"
Влад 🇺🇦
пробовал, но не понимаю как сюда запихуть еще wl_ip и wl_hostname
Влад 🇺🇦
есть, спасибо большое
Alex
"{{ gs_ip + wl_ip }}"
только не +, а ~
Alex
более православно
Aliaksei
может кто знает для systemd *.timer при изменении настроек хватает тлько сделать daemon reload или нет, т.к reload самого таймера не поддерживается Failed to reload *.timer: Job type reload is not applicable for unit *.timer.
Aliaksei
похоже что оно вообще само пересчитывается, т.к ansible запустил хэндлер но не пометил что он что-то поменял: systemd: name=*.timer state=started enabled=yes daemon_reload=yes но время LEFT изменилось, 8min left -> 27min left - т.е изменения работают 🤷‍♂️
Отделение Bereke Bank
У модуля systemd в name можно использовать * ?
Отделение Bereke Bank
Aleksey
Тесты они сделать не смогут никогда
Vladimir
Я смог) Как конференции начнутся покажу
Aleksey
И этапы и теги и разные дистры
Vladimir
Именно на такой модели
Aleksey
Либо покрытие будет только happy path в 5%
Aleksey
Ибо каждый тег это тест
Aleksey
Переход на 2.5 это отлично показал
Sergey
только не +, а ~
Нет. Там списки склеиваются, а не строки сцепляются.
Vladimir
Либо покрытие будет только happy path в 5%
Ну если ты гарантируешь работу на определенном диапазоне значений - тестами это покроешь. Плюс так можно до типизации и di контейнеров с зависимостями дойти, тут спор о покрытии то вечный)
M
—ignore-warnings в помощь)))
Aleksey
короче о том что бы "рекомендовать" этот доклад есть много сомнений. а вот задать вопрос этим товарищам как они уйдут от write only кода хочется. но попозже. скажем через годика два
Aleksey
хотя в целом для интерпрайзов два года не срок.
Aleksey
Речь про коллекции?
коллекции тут врятли чем то помешают. они довольно опциональная хотя и милая фича. речь про то что ансибл довольно сильно меняется со времем. скажем монорепные плейбуки написаные под 2.4 после 2.5 оказались весьма сломаны из-за механизма обработки тегов.
Aleksey
такого плана изменения происходят довольно часто
Aleksey
с тракторными ролями у вас получается комбинаторный взрыв колва необходимых тестов. смена версии ансибла ко всем типичным тестам на * обработку переменных меняющих поведение (скажем 3 такие переменные) * обработку разных дистров (скажем 3 дистра) * обработку особых extra-vars (ну пусть 1) * обработка всех тегов, раз уж вы попали в эту ловушку. (скажем 2) добавляется ещё версия ансибла итого тестов в самом ванильном случае надо 3×3×1×2×2 = 36. да там с каким то перекрытием они будут и можно срезать пусть на треть. пусть будет 20 тестов. я и бал.
Aleksey
и чем тракторнее тем больше вероятность того что следующий апдейт всё раздоблает
Aleksey
хотя я знаю как можно еще.
Aleksey
можно забить болт кстати. так тоже можно.
Aleksey
на 3-5 лет можно зафризить версию ансибла и осей.