Timur
Все роли вызывайте явным образом на уровне плейбука
Timur
И будет вам щастье
George
просто take it, что в идеологии ансибла не предусмотрено, что роль может ВКЛЮЧАТЬ или зависеть от другой роли
George
сорян
Timur
Для любителей стрелять по ногам
inqfen
просто take it, что в идеологии ансибла не предусмотрено, что роль может ВКЛЮЧАТЬ или зависеть от другой роли
Roles can also be dependent on other roles, and when you install a role that has dependencies, those dependencies will automatically be installed. Дока говорит прямо обратное, просто реализовали криво
Alexander
Что плохо с метой - она может дублировать то, что явно указано. Вот если бы было как notify наоборот...
George
Не криво. Просто область применения у такого подхода ограниченная
какая? можете пояснить, что было в головах у разрабов ансибла, когда они такой функционал РАЗРЕШИЛИ?
Timur
Использовать зависимости ролей можно только если вы сами владеете всеми используемыми ролями
Timur
какая? можете пояснить, что было в головах у разрабов ансибла, когда они такой функционал РАЗРЕШИЛИ?
Это бывает удобно в некоторых случаях в проектах с иерархической структурой
Timur
Но в большинстве случаев этого стоит избегать, если не знаешь, как это готовить и как не выстрелить в ногу
Timur
Это как оператор goto в программировании
Timur
Я на практике сталкивался только однажды с проектом, в котором эта фича с зависимостями ролей была полезна
Alexander
Одинаковые файлы - всмысле, vault-файлы с одинаковыми данными
Anonymous
- name: Install extra PHP packages apt: pkg: "{{ item }}" state: present update_cache: yes tags: php-extra with_items: "{{ php_extra_packages }}" when: php_extra_packages is defined and (ansible_distribution == 'Ubuntu' or ansible_distribution == 'Debian') notify: - Restart php-fpm (Debian) а как подобное переписать под 2.11 чтобы варнингов не было. Мне нужно с host_vars тянуть # Extra PHP packages php_extra_packages: - php7.3-soap - php7.3-intl - php7.3-curl
Anonymous
[DEPRECATION WARNING]: Invoking "apt" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and specifying `pkg: "{{ item }}"`, please use `pkg: '{{ php_extra_packages }}'` and remove the loop. This feature will be removed in version 2.11. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. сам deprecation warning
Отделение Bereke Bank
Будет депрекейдет item. Просто убери with_items и засунь эту переменную в pkg
Отделение Bereke Bank
Вместо item
V
Добрый день. Ребят, а есть возможность заставить ансибл пингать заданную железку пока она не ответит? Мысль в чем. Хочется прошивки пообновлять на железках по очереди... Ну и при отправлении железки в ребут чтобы ансибл дождался пока та поднимется и пошел на следующую или если не дождался - прекратил что-либо делать..
Alexey
привет. кто-нибудь уже пробовал использовать ансибл с ec2 instance connect? https://aws.amazon.com/blogs/compute/new-using-amazon-ec2-instance-connect-for-ssh-access-to-your-ec2-instances/ может уже есть какие-нибудь удобные способы его использовать?
V
wait_for ?
Знать бы где именно это wait_for имеется..
George
https://docs.ansible.com/ansible/latest/modules/wait_for_module.html я прошу мне пояснить - тех примеров, которые есть в документации недостаточно? оттуда же есть ссылка https://docs.ansible.com/ansible/latest/modules/wait_for_connection_module.html#wait-for-connection-module Я видел в плейбуках оба
V
Спасибо.. то есть это ещё отдельный модуль имеется.. не думал что это не в самих модулях искать нужно..
inqfen
А в чем вопрос именно с ансиблом? Это просто интеграция генерации ключей ssh с амазоновскими сервисами
Ну я думаю, что он подозревал, что есть какой-то готовый плагин для коннекта, который сам генерит ключ, а потом его юзает
Alexey
А в чем вопрос именно с ансиблом? Это просто интеграция генерации ключей ssh с амазоновскими сервисами
да, только ключи там временные, на 60 секунд. и мне надо как-то автоматически их генерить на каждый коннект и использовать
inqfen
https://docs.ansible.com/ansible/latest/plugins/connection.html вот список
inqfen
Пока как видишь нету
Alexey
В чем цель? Модули для генерации ключей в амазоне для ансибла есть
цель в том чтобы не хранить на хосте (или еще где-то) ключи для всех инстансов, а настроить только роль для ансибла и генерить эти ключи при каждом запуске новые
Anonymous
Может не очень по теме, но не знаю куда лучше написать. Пользуюсь pipenv'ом для ansible репозитория, там перечислены все нужные питоновские зависимости для ansible. Сейчас поставил на ubuntu18 pipenv, склонировал репозиторий, сделал pipenv install && pipenv shell. Проблема в том, что по какой-то причине бинарник ансибла ( и еще некоторые) в virtualenv'е находится без execition бита. Т.е права на него 644. Я конечно могу chmod'ом поменять, но поведение странное. Вдруг кто сталкивался?
Alexey
Зачем?
чтобы не хранить ключи, не заниматься их настройкой и обновлением
Alexey
еще и не следить за тем, чтобы к ним не было доступа кому не положено
inqfen
Зачем?
вполне удобный и секурный способ доступа, чего бы нет
inqfen
короткоживущие ключи, которые генерятся и привязаны к правам юзера в iam
Sergey
вполне удобный и секурный способ доступа, чего бы нет
вот кому удобно и секурно - тот и пишет плагин 😉
inqfen
вот кому удобно и секурно - тот и пишет плагин 😉
ну там на самом деле как я думаю делов не дофига, это практически будет обертка над ныне существующим ssh
inqfen
которая перед коннектом генерит ключ и дальше юзается он
inqfen
код в студию 😊
так я это еще и не юзаю)
inqfen
Я тут для терраформа init да import несколько дней написать не могу, делаю пайплайны для автоматического поднятия инфраструктуры
Timur
чтобы не хранить ключи, не заниматься их настройкой и обновлением
Вместо этого вам придется заниматься настройкой и обновлением ec2-instance-connect
Timur
Чем это лучше?
inqfen
дал реквизиты юзера и все
Sergey
дал реквизиты юзера и все
которые нужно хранить, управлять и т.д.....
Sergey
kool story, bro
inqfen
или у вас настройка ec2 из под аккаунта который не programmatic access ручками в окне производитcя?
inqfen
Ну как бы логично, что если человек хочет использовать генерацию ключей с юзерами aws - то они у него уже есть и как-то поддерживаются
inqfen
Ну и удобство, что если ты например переподнял инфраструктуру в другом регионе к примеру - не надо никаких изменений в код вносить, меняя ключ
inqfen
Юзер остается тот же, главное чтобы он имел права на тот регион
Alexey
которые нужно хранить, управлять и т.д.....
там все что нужно это IAM policy добавить пользователю, больше ничем управлять не надо
Alexey
Вместо этого вам придется заниматься настройкой и обновлением ec2-instance-connect
обновлять и настраивать там и правда нечего, на хостах это один пакет. и в AWS linux он уже вроде даже установлен
Timur
Тогда уж ставьте и юзайте AWS Systems Manager
Timur
Там и без ssh можно обойтись
Timur
Посмотрел подробнее. В принципе, можно юзать с ансиблом, на мой взгляд
Timur
Просто генерить новый ключ перед подключением через aws cli
Denis
Всем привет. Коллеги подскажите как взять пременую которая пренадлежит другому inventory
Denis
Нашел
Denis
спасибо
Timur
Не за что
Timur
Обращайтесь
Andrey
парни, поскажите пожалуйста, в инвенторе как мне имя (ключ?) текущей машины в template получить?