Timur
Timur
Когда сюда заглядывают работники госконтор, каждый раз новые лулзы
George
Вы в ВТБ на митапе не были
George
Они обещали ещё больше митапов. В этом году. https://www.google.com/amp/s/m.habr.com/ru/amp/post/474752/
Timur
Видимо, сначала надо завалить собеседования во все приличные места
Timur
- Что должен делать айтишник за 15 тысяч рублей? - Ничего. И даже немножко вредить
Timur
Учитывая перегретый рынок и дикую востребованность инженеров, хоть что-то умеющих в автоматизации, я не знаю, кто идёт в госконторы на такие условия
Timur
Либо ничего не умеющие студенты и школьники
Timur
Либо те, кто вообще не осилил что-то маломальски востребованное, например даже технический английский
Timur
Лично я бы с такой работы свалил, роняя тапки, при первой же возможности
Timur
А так - да, помню приколы одной подобной конторы, где для того, чтобы носить с собой флешку, надо было пойти в службу безопасности и получить там наклейку, что флешка не содержит секретной информации
Timur
Тогда носить можно свободно - никто ее не проверяет
Timur
А если вдруг нашли флешку без наклейки - все, ахтунг. Разоблачили шпиона
­
Учитывая перегретый рынок и дикую востребованность инженеров, хоть что-то умеющих в автоматизации, я не знаю, кто идёт в госконторы на такие условия
категорически не согласен. не забывайте, есть еще мелкие города, где вообще рынок ит за последние годы практически уничтожен и люди вот годами сидят в таких конторах, ибо если не уезжать, то некуда им идти. ну и некоторые не уезжают по своим причинам
­
но хотя если судить в процентном соотношении, то наверное да, качество подготовки и знаний в бюджете практически никакущее. и не только в ит. бюджет почему-то в рф весь такой. во всех плоскостях
Timur
Если он хоть что-то полезное умеет
Timur
Можно никуда не уезжать
­
с этим не спорю
­
а бюджет то еще зло. время в никуда
Alexey
А чо, можно вот так запросто приконнектиться к любому МХ хоста и слать спам?
Alexey
Ну тут да) но зато это мои скрипты которые я могу читать и править)
Даааа, и ценность твоя от того растёт! Ибо "никто, кроме тебя"! 😁
Dmitriy
Всем привет Убираю deprecation warning из плейбуков столкнулся с вот таким предупреждением https://pastebin.com/69CweZ7i нануглил такое решение было when: nginx_installed(reload итд) стало when: not nginx_installed | bool Проблема ушла, playbook отрабатывает, но если честно я не могу понять как прочесть теперь эту строчку. Не подскажете ?
George
ну, все тут понятно
George
| -> это фильтр ансибловый "not nginx_installed " -> это типо отрицаение переменной
George
т.е. мы инвертируем переменную, потом приводим к True/False значению
Dmitriy
так получается не должно отрабатываться? а отрабатывается.... переменная nginx_installed регистрируется при установке nginx
Dmitriy
может конструкцию можно более грамотно сделать ?
George
честно хз. Я обычно ад-хок решаю такие проблемы
George
из серии - понять, что там в when: (какие значения прилетают), какие оно ожидает, попробовать это сматчить
George
ну, и StackOverflow DrivenDevelopment - куда ж без него
Dmitriy
я не могу понять, я ставлю nginx, регистрирую переменную(предполагаю туда летит 1), далее расшифроваю конструкцию when:(когда) not nginx_installed(инвертирую 1 в 0) | bool (говорю что логическое) и он отрабатывает....не пойму логику
Dmitriy
хотя может я не так понимаю логику...
Lamobot
т.е. мы инвертируем переменную, потом приводим к True/False значению
Последовательность наоборот, сперва приводим переменную, а потом инвертируем. Вроде как фильтры и тесты с большим приоритетом в jinja.
George
тупо debug вывод сделать
Lamobot
Я все плейбуки переделываю на var|length > 0 , так как var|bool конвертит лишь "True"/"False" строки
Dmitriy
А если не предполагать? Что будет в переменной если nginx поставился?
Сейчас посмотрим, думаю как раз как @gecube посоветовал.
Dmitriy
спасибо всем, сейчас попробую оба совета применить по очереди
Oleg
Вытянуть данные из файлов с удалённых машин можно модулем slurp
все оказалось не сложно) поправил j2 шаблон: {% for host in groups['reachable'] %} {{ hostvars[host].cat_results.stdout }} {% endfor %}
Dmitriy
Я все плейбуки переделываю на var|length > 0 , так как var|bool конвертит лишь "True"/"False" строки
да, действительно так и есть, все работает и deprecate не появляется. Спасибо, получается если false то срока будет пустой ? я просто почему то подумал, что в нее загонится 0, что по сути тоже является символом
Lamobot
да, действительно так и есть, все работает и deprecate не появляется. Спасибо, получается если false то срока будет пустой ? я просто почему то подумал, что в нее загонится 0, что по сути тоже является символом
Нет, если строка "false" то она этой строкой и будет, и var|length в этом случае не получится. Тогда нужно использовать var|bool Всё зависит от того, как назначается nginx_installed, и какие значения может принимать. Если там "true"/"false" тогда |bool Если там ничего нет, но при установке nginx он приобретает значение любой строки, тогда можно сравнить через |length
Lamobot
тогда получается только дебажить, использую модуль yum и пакет nginx, в этом таске делаю register: nginx_installed и от него отталкиваюсь
После установки nginx добавьте таск - debug: var: nginx_installed verbosity: 1 И запустите плейбук с -v Он выдаст вам что будет в переменной. Там с 99% вероятностью будет словарь, а не строка. Из неё просто нужно будет выбрать поле, которое потом и использовать в when (что-то вроде nginx_installed.changed или подобное)
ranebull
Материалы с конференции Red Hat Ansible Automates, которая проходила в Москве 7 ноября. https://mega.nz/#F!e9BCXCKS!jc1pHJRI0leUbAlr-gp7RA
Dmitriy
получается в нее слово installed загоняется?
George
там словарь, а не слово
Dmitriy
а, понял, туплю, получается теперь из этого словаря выбираю слово и его сравниваю. Спасибо всем
Andrey
вцелом валидно - как правило запись располагается внутри, так что дырка считыванию не помешает
Lamobot
А кто сказал, что спам? Это соединение с почтовым сервером, который принимает почту для домена получателя. Его адрес находится через mx запись домена, на который ты отправляешь почту.
Alex
А чо, можно вот так запросто приконнектиться к любому МХ хоста и слать спам?
ну да, ибо для своих доменов сервер принимает почту без аутентификации. Но если там настроенно по уму, то просто так слать спам не получится
Alexey
ну да, ибо для своих доменов сервер принимает почту без аутентификации. Но если там настроенно по уму, то просто так слать спам не получится
ну, я потом подумал, что, собсна, для того MX-записи и есть.. чтобы для домена пошту слать.... настройки по уму включают проверки DKIM, SPIF?
Alex
ну почта и без МХ будет работать, согласно RFC. Но это уже оффтопик ;)
Sergey
- name: container1 tags: group1 docker_container: ... - name: container2 tags: group1 docker_container: ... где проблема?
Sergey
Разберём, что здесь не так? 😊
Sergey
в ansible?
Sergey
ansible-playbook -i inventory --tags mygroup --extra-vars="force_restrart=yes" site.yml
Sergey
Коллега предлагает использовать теги _вот так_ и считает, что пробдемы нет. Я считаю, что теги - это не средство разметки групп (для групп есть сами группы, правда же, неожиданно?)
Sergey
Имя группы хостов передать через теги в ansible-playbook? Тегами помечаются таски, а не группы. Группу передают через —limit (см. доку, увы)
Sergey
Лично мне пофиг, но потом придут люди в чат по ансиблу и спростя - втф, в интернетах пишут так, почему не работает.
Rainbow
Расскажите где я не прав, а то год уже работает как часы, а я не настоящий админ 😄
Sergei
достал попкорн
Sergey
А никто не говорил, что не будет работать. просто объектная модель Ансибла превосходно умеет в группы сама, зачем переизобретать эту часть через теги - я вот прям хз. В чём сакральный смысл такой конструкции?
Sergey
Лень писать нормальные роли, плеи и инвентори?
Sergey
А то, может, мы тут сидим, ничего не знаем, а мимо тренды пролетают новые крутые.
Bogdan (SirEdvin)
А как тогда контролируется на какие сервера что попадает? Связи то между тегами <-> хостами вроде нет
Sergey
вы свой вариант не показали
NO U? Свои варианты я обычно представляю и рассказываю на докладах с пояснениями, почему вижу смысл делать именно так. Это раз. Отобрать из множества хостов в инвентори нужные можно с помощью ключа —limit, о чём я написал выше, и ещё об этом пишут в документации. Это два. Ну и три - объектная модель Ансибла предполагает, что связь между хостами и тасками устанавливается в плее, в параметре hosts. именно для этого данный параметр и нужен.
Sergey
А как тогда контролируется на какие сервера что попадает? Связи то между тегами <-> хостами вроде нет
Во фрагменте плея выше записаны _отдельные таски_, которые с помощью _тегов_ прибиваются гвоздями к _группам_.
Bogdan (SirEdvin)