Andrew
Вообще должен ли быть еще один ключ помимо того который дает AWS для конекта к инстансу?
Отделение Bereke Bank
а без ансибла ты туда зайти можешь?
Andrew
Да
Alex
нет, но у тебя в строке конекта вообще нет никакого ключа
Andrew
По ссш коонектится
Timur
Рекомендую юзать ssh-agent
Timur
Многие проблемы с прокидыванием ключей тут же исчезают
Andrew
То есть помимо авс ключа нужен отдельный ключ для ансибла?
Alex
просто ты должен указать ансиблу с каким ключом подключаться
Andrew
переменная в hosts "ansible_ssh_private_key=" не достаточна?
Alex
в ansible.cfg ничего нет?
Andrew
конфиг такой "[defaults] host_key_cheking = false inventory = ./hosts"
Alex
ибо из вывода не видно, чтобы он инвентори подтянул вообще
Alex
должно быть что то типа Parsed /home/alex/JFrog/github/itests-jfmc-4x/ansible/inventory/hosts.ini inventory source with ini plugin
Rasim
Коллеги, приветствую! Как лучше всего работать с lookup password? вот он создал plaintext pass salt=foo ну я его шифрую с ansible-vault. целиком шифруется, включая соль, что лоично. но при повторном запуске плейбука password не понимает что это зашифрованный файл, добавляет новый salt=bar. Пароль меняется, логично. Какой тут best practice? Спасибо
Rasim
Как задача стоит изначальная?
Создать пользователей по списку, пароли записать в файл
Sergey
Эмммммммм.......... Очередное создание паролей по списку. Не надо так. Используй LDAP.
Rasim
Аварийный пароль от root иногда нужен для доступа из kvm. Без ребута в init=/bin/bash
Andrew
ansible_ssh_private_key_file
Спасибо большое. За 5 минут как написал тоже нашел что неправильно написал переменную. Очень обидно потому что до этого работало и я брал инфу со стаковерфлоу
Sergey
Второй очередью freeipa. Не отменяет пароля о от root
Хорошо, продолжаем дальше по списку. Что именно не работает?
Rasim
Хорошо, продолжаем дальше по списку. Что именно не работает?
Пробовал шифровать через vault. lookup password не дружит с ним
Sergey
А зачем шифровать-то?
Sergey
Ты хочешь создать и поддерживать список паролей?
Rasim
Ты хочешь создать и поддерживать список паролей?
Размышляю. Наверное, это разово. Обойдусь без сопровождения
Sergey
Неудивительно. Ты же к IT имеешь, скажем так, очень косвенное отношение - только как продвинутый пользователь видеосвязи?
Отделение Bereke Bank
Alex
Размышляю. Наверное, это разово. Обойдусь без сопровождения
Можно для такого просто git-crypt или аналог использовать
Sergey
А что не банишь? Наслаждаешься?
Человек сидит тихо и не нарушает правила - нет вопросов. Вот пошла бы реклама/спам - банхаммер под рукой.
Maksim
Подскажите, как сделать условие запускать таск, если таск с определенным именем is OK
Maksim
Объясню кейс, может кто более элегантное решение предложит. У меня отправляется post запрос, если get запрос по определенному адресу отдал 404 not found
Kane
коллеги, подскажите есть ли какой-то мейнстримный докер образ с ансиблом внутри? гугловая выдача предлагает мне модули для запуска докер контейнеров ((
inqfen
Да, берешь и собираешь все что тебе нужно
inqfen
Вот тебе и докер образ
inqfen
Потому что у модулей свои питоньи зависимости
inqfen
И кто тебя знает что тебе надо
Kane
этим как раз я сейчас и занят, но вдруг ктото уже поддерживает более-менее универсальный образ
inqfen
Более-менее универсальный = образ в котором 80% тебе не понадобится, но каждый раз качаешь
Kane
И кто тебя знает что тебе надо
то есть поддерживание универсального образа с ансиблом это вообще не тривиальная задача?
Tadeusz
yum)
inqfen
А учитывая, что это обычно в CI/CD делается - то никто не будет по гигу пакетов на все случаи жизни качать
Sergey
yum)
это для RHEL
Kane
Нинада. Создаёшь venv, потом такой - хоп! - pip install ansible и всё.
> создаешь venv а можно тут поподробнее?
inqfen
google venv
Kane
что за venv , можно ссылку на него - перый раз слышу просто
inqfen
если в CI куда-то, то сам образ собирай
Kane
google venv
спасибо друг )))
Tadeusz
виртуальные окружения в щитоне
Sergey
> создаешь venv а можно тут поподробнее?
Ansible - приложение, написанное на Python. В экосистеме Python, несмотря на то, что она полна боли и страданий, есть определённые способы доставки и запуска приложений. Один из этих способов - использование virtual environments (вкратце - почти изолированная от системы копия Python со всем библиотеками, модулями и прочим).
inqfen
так ему вроде образ надо
Kane
да вобщем я понял, надо самому собрать, вцелом то не сложно
inqfen
https://github.com/inqfen/runner-ansible/blob/master/Dockerfile можешь у меня спереть да поменять что надо
inqfen
Только там терраформ еще
Отделение Bereke Bank
да вобщем я понял, надо самому собрать, вцелом то не сложно
FROM python:3.8-slim RUN apt-get update && apt-get install sshpass -y && pip install --no-cache-dir ansible==2.9.5 && rm -rf /var/cache/apt/*
Kane
спасибо за образцы!
Ilya
Вопрос у меня есть хост который есть в нескольких группах и для этих груп есть одинаковая переменная с разными значениями. При дерганьи плейбука по любой из групп у меня берется значение переменной не для этой группы а последнее в инвентори, что с этим можно сделать?
inqfen
Лучше переформулируй, нихера не понятно
inqfen
Что значит последнее в инвентори, где она тогда с разными значениями
Ilya
[a] localhost [a:vars] port=30000 [b] localhost [b:vars] port=30001 [c] localhost [c:vars] port=30002 Запускаю плейбук где хост указан b - у меня port становится 30002
inqfen
Логично, хост-то один и тот же
inqfen
Он состоит в трех группах
Ilya
Но я то запускаю плейбук где host: b
inqfen
Значение переопределяется
inqfen
b это группа
inqfen
Ты запускаешь плейбук на хосты в группе b
inqfen
И там хост который состоит сразу во всех
Ilya
Ты запускаешь плейбук на хосты в группе b
Да и хочу что бы переменные были для группы b)
Ilya
Видимо проще вынести на общий уровень и впихнуть a_port b_port c_port
inqfen
Да и хочу что бы переменные были для группы b)
Ну тогда сделай именование хоста для групп разное а ansible_connection одинаковым
inqfen
И вообще выкини ini и сделай yml