Denis 災 nobody
loop есть ещё
Алексей
Всем привет, подскажите, пожалуйста, кто-то работал с модулем telnet? Не совсем понимаю, как правильно им пользоваться. Запуск плейбука приводит к "changed" без вывода результата. Хотя что может менять команда, которую я указываю выполнить - не совсем понятно.
Алексей
Николай
С неделю тому в этом чяте с модулем telnet уже сношались
Николай
поишши
Николай
нет :D
Николай
Но очень занимательно
Алексей
😁 Спасибо, посмотрю Но всё же, если у кого есть решение\совет - просьба поделиться, буду благодарен
Aleksey
совет, посмотри на nocproject
Grek 🇺🇦
а где у вас register результата команды? а то вы пытаетесь вывести что-то через дебаг. но выводить то нечего
Алексей
Но, видимо, в результате огромного кол-ва правок - потерялся) суть-то не в том, разве вывод команды должен сопровождаться статусом "changed", а не "ok"?
Grek 🇺🇦
changed не об этом echo "blah" - тоже ничего не меняет на системе, но статус будет changed, потому что выполнилась команда и она не идемпотентна. Думаю с telnet так же
Lamobot
dict?
Сперва прочитал другое слово, не очень понял причем здесь это :)))
Гайрат
Как отловить тормоза ansible, если в результатах профайлинга cProfile 98% времени показывает built-in method time.sleep?
Vladimir
Ну и его роли - не идеал, это тоже общеизвестно.
А чьи идеал? Поделитесь примером, на кого ровняться?
Konstantin
А чьи идеал? Поделитесь примером, на кого ровняться?
Jeff Geerling, автор большого количества ролей на Ansible Galaxy, выложил книги Ansible for DevOps и Ansible for Kubernetes бесплатно.
Vladimir
Дык, говорят, не идеал его роли
Fire
А что для вас идеал в ролях?
Vladimir
А что для вас идеал в ролях?
Я это и пытаюсь выяснить :)
Grek 🇺🇦
Вы пытаетесь чтоб вам дали ответ и решили за вас - какая роль идеальна. Но критерии идеальности роли весьма субъективны.
Vladimir
🤦‍♂️
Fire
Есть такое понятие, как best practices
Fire
Вот на них и смотрите.
Grek 🇺🇦
Ну, так вы же сами не знаете как определить степень идеальности роли. Давайте пофилософствуем: без критериев - самая идеальная роль та, которая ещё не написана. Так как только вы что то написали тут же найдется тот кого это не устраивает, по его личным критериям, ну например ставит нжинкс, но не делает кофе....
Vladimir
Ну, так вы же сами не знаете как определить степень идеальности роли. Давайте пофилософствуем: без критериев - самая идеальная роль та, которая ещё не написана. Так как только вы что то написали тут же найдется тот кого это не устраивает, по его личным критериям, ну например ставит нжинкс, но не делает кофе....
@AlekseySmart пишет: "Глядите, какая у этого чувака роль классная" @tnt4brain отвечает: "Роли у этого чувака не идеал и это общеизвестный факт" Я задаю вопрос на сообщение Сергея: "Какая тогда роль идеальна?" @Konstantin_Nikolaev объясняет мне, кто такой Jeff Geerling, а вы мне говорите про субъективность.
Vladimir
🤷‍♂️
Vladimir
Есть Сергей Печенко, по субъективному мнению которого эта роль не идеальна. Я хочу узнать у Сергея, какая роль, по его субъективному мнению, идеальна.
Vladimir
Ну или близка к идеалу
Fire
Та - которая тебя устраивает.
Vladimir
Все понятно. Спасибо. (Без сарказма)
Кирилл
А я бы тоже взглянул на разбор "хорошие роли, плохие роли" 😊
UglyKoyote
Триллер "В поисках идеальной ансибл-роли"
Кирилл
У меня ещё нет опыта, на который я мог бы опираться в оценке. По этому мнение специалиста с большим стажем для меня важно.
Кирилл
может быть есть какие то "заповеди" ansible? типа "не используй баш и cmd без крайней нужды" )
Vladimir
best practices
Ну вот этот Гарлинг по best practices роли пишет? Однако, кто-то его в пример приводит, а кто-то говорит, мол не идеал
Кирилл
best practices
*Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон* ?
Sergey
Есть Сергей Печенко, по субъективному мнению которого эта роль не идеальна. Я хочу узнать у Сергея, какая роль, по его субъективному мнению, идеальна.
Да всё просто. Роль должна соответствовать окружению, в котором используется. Если у тебя один проект - в ней не нужна поддержка 100500 ОС и миллиона настроек, если ты рулишь хостингом - нужна поддержка 100500 ОС и миллион настроек. Если в роли есть логика - роль говно (она должна быть тупой, как сибирский валенок). Роль не должна вообще ничего знать про группы, и обращаться только к своим параметрам, у которых есть "разумные умолчания" (sane defaults), если это возможно.
Sergey
Вообще роли дядей из Интернета хороши только в качестве источника вдохновения. Они в 146% случаев не подходят ровно потому, что right thing у каждого свой. В общем, "вкус" можно развивать только написанием и эксплуатацией собственных ролей.
Sergey
@lexx107 мы же не будем тут разжигать, да?
Alex
есть два таска - name: Fetch create user script fetch: src: "{{ create_db_user_script_path }}/createPostgresUsers.sh" dest: /tmp/ flat: yes register: fetch_file_result ignore_errors: yes - name: Copy create user script to app_eplus delegate_to: app_eplus become: yes copy: src: /tmp/createPostgresUsers.sh dest: "/opt/docker/postgresql/{{ app_type }}-create-pgsql-users.sh" mode: 0755 register: sync_file_result when: fetch_file_result is success ignore_errors: yes но резельтат выполнения привел в недоумение TASK [itests/jfxr : Fetch create user script] *** ok: [app_master] => changed=false checksum: 1cb94d82e3aa8a30b7f2544642e337d0293c6f6a dest: /tmp/createPostgresUsers.sh file: /opt/jfrog/xray/app/third-party/postgresql/createPostgresUsers.sh md5sum: ed95cd35ba79da2be9bdad0bf23167ad TASK [itests/jfxr : Copy create user script to app_eplus] *** changed: [app_master -> 34.xxx.xxx.xxx] => changed=true checksum: 1cb94d82e3aa8a30b7f2544642e337d0293c6f6a dest: /opt/docker/postgresql/jfxr-create-pgsql-users.sh/createPostgresUsers.sh gid: 0 group: root md5sum: ed95cd35ba79da2be9bdad0bf23167ad mode: '0755' owner: root size: 6773 src: /home/ansible/.ansible/tmp/ansible-tmp-1596730365.473069-50041-62681514688380/source state: file uid: 0 откуда мог взяться такой dest - /opt/docker/postgresql/jfxr-create-pgsql-users.sh/createPostgresUsers.sh ?
alecx
Ну ЕМНИП dst это директория
Alex
/opt/docker/postgresql/{{ app_type }}-create-pgsql-users.sh это файл, с чего это директория?
Отделение Bereke Bank
/opt/docker/postgresql/{{ app_type }}-create-pgsql-users.sh это файл, с чего это директория?
видимо у тебя есть такая директория. вот он туда и положил
Отделение Bereke Bank
сам бы он отсутствующую директорию не создал
Alex
jfxr-create-pgsql-users.sh такой директории там точно не было, до вызова таска
Alex
проблема в том, что ошибка разовая, но хотелось бы понять причину
Гайрат
Не симлинк?
Alex
нее
Anonymous
Коллеги, подскажите плз. Можно ли в переменной хранить более одного значения, чтобы потом циклом with_items взять эти значения? Т.е. var1: val1, val2
Anonymous
var1: ['val1', 'val2']
👍 спасибо. Полагаю я AWX Survey смогу в таком же формате забить это.
Anonymous
коллеги подскажите как сделать правильно, есть несколько интерфейсов, например я хочу узнать адрес интерфейса ens10 то я использую ansible_ens10.ipv4.address Вопрос, например у меня есть еще интерфейс ens20 в виде зарегестрированной перменной second_interface, я знаю его имя, но не оч понимаю как обратиться к нему Вариант ansible_ens20.ipv4.address - работает, вариант ansible_[second_interface].ipv4.address нет. Чувствую что не так надо, подскажите как правильно
Dan
Косвенное обращение к переменной делается через словарь hostvars: hostvars[hostname]['string1' ~ another_var ~ '_tail']
~ вместо + ? блин, когда они уже устаканятся и решат где использовать питон а где jinja :)
Sergey
Вообще-то в фигурных скобках справа от двоеточия всегда Jinja2.
Dan
Вообще-то в фигурных скобках справа от двоеточия всегда Jinja2.
наверное, я ж не спорю. Я всегда интуитивно начинаю с попыток сделать все по питоновски
Sergey
Ну если ты в Питон умеешь - то делай спокойно модуль/плагин, благо это несложно.
Alex
наверное, я ж не спорю. Я всегда интуитивно начинаю с попыток сделать все по питоновски
тогда тебе нужен fabric, там точно есть где развернуться с питоном )))
UglyKoyote
Alex
возможно, я смотрел на pulumi, но не зашло
это совсем из другой оперы. Это скорее аналог terraform
Dan
это совсем из другой оперы. Это скорее аналог terraform
я всегда не понимал прикол с терраформом на самом деле. У меня provisioning через ансибль прекрасно пашет
Alex
нет, спасибо, но нет
tf глоток воздуха после ансибла в части провижиона, по крайней мере я наелся в контексте GCP. Больше нет желания ))
Dan
нет, спасибо, но нет
почему? реально интересно в чем я не прав