Timur
В общем, очень сырой конфиг. Для реальных тестов в VPC с помощью CI такое использовать не стоит
Timur
Можете посмотреть на наш пример для сравнения
Timur
https://github.com/lean-delivery/ansible-molecule-drivers/tree/master/AWS
Timur
Там и OS различные поддерживаются, и споты, и создаваемые диски тегируются соответственно, и секьюрити-группы используются нужные, без создания дырявой группы с полностью открытыми портами на все адреса. Работает как со внешними адресами, так и в рамках закрытого VPC с коннектом только по внутренним адресам
kevit
спасибо, но пока оно ломается еще в районе питона:)
kevit
Можете посмотреть на наш пример для сравнения
кстати не относящийся к теме вопрос, вижу что вы ковыряли линтер, code style enforcer какой-нибудь видели, например нужно переменные в ролях именовать определенным образом. про ansible-review знаю
Timur
кстати не относящийся к теме вопрос, вижу что вы ковыряли линтер, code style enforcer какой-нибудь видели, например нужно переменные в ролях именовать определенным образом. про ansible-review знаю
Пока на таком уровне у нас ещё нет. Решается путём обычного ревью. Теоретически можно правило для ansible-lint кастомное написать, но пока нужды не было
Anonymous
коллеги в первый встречаю такую ошибку [DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to allow bad characters in group names by default, this will change, but still be user configurable on deprecation. This feature will be removed in version 2.10. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. [WARNING]: Invalid characters were found in group names but not replaced, use -vvvv to see details судя по текусту не нравиться имя группы (я так понимаю это `hosts: sentry`) но что ему там не нравиться не понятно. Ось мак, ансибл из brew ставил
kevit
это депрекейшн, надо поправить имена групп соответственно новым release notes
George
а может лучше не конфиг поправить, а плейбук?
kevit
https://github.com/ansible/ansible/issues/56930
kevit
можно вообще не править, оно не сломается (пока)
Anonymous
да я не против поправить, я просто не понимаб что ему в имени sentry такого запрещенного
Артем
Коллеги, всем привет! Встала задача создать/пересоздать юзеров на 2ух машинах и загенерить для каждого из них пароли, пароли между машинами для каждого юзера должны совпадать. Такой вариант генерирует разные пароли для машин: - hosts: test tasks: - name: test user gen user: name: testuser password: "{{ lookup('password', 'creds/test/' + inventory_hostname + '.txt chars=ascii_letters,digits length=20 encrypt=md5_crypt') }}" Кто нибудь знает, как это можно допилить? Вижу вариант только приминить этот плейбук на одну тачку, а для второй машины пароль дергать из загенеренного файла, но это будет не так удобно, как хотелось бы.
Aleksei
можно сгенерить пароь заранее и подсунуть ему
Aleksei
но это немного порно
Артем
но это немного порно
с учетом что юзеров порядка сотни то это хардкорное порно
Ivan
Привет! Хочу пользовать mitogen в молекуле Передаю в провиженере ANSIBLE_STRATEGY_PLUGINS: /usr/lib/python2.7/site-packages/ansible_mitogen/plugins/strategy ANSIBLE_STRATEGY: mitogen_linear но: ERROR! Invalid play strategy specified: mitogen_linear Т.е. переменные он хавает, но что-то идёт не так
George
Юзеру пароль знать не надо ?
Артем
Юзеру пароль знать не надо ?
Юзеру этот пароль будет выдаваться по запросу
George
Юзеру этот пароль будет выдаваться по запросу
Тогда сделайте в обратную сторону
George
Варс - сюда предгенерировать пароли юзеров, далее просто отдавать пароль
George
Или наоборот - пользователь запрашивает пароль и он в этот момент времени генерится ?
George
А ещё Вы понимаете, что это задача для лдап и пр.?
George
Как бы ансибл не про это
Ivan
Путь только в конфиге к плагину
а можно поподробнее расказать? надо рядом файл какой положить? и если да, то рядом с чем?
Timur
а можно поподробнее расказать? надо рядом файл какой положить? и если да, то рядом с чем?
У меня работает примерно так: В CI (gitlab-ci как пример) вставляется строка перед раном молекулы: mkdir -p /tmp/molecule/plugins && git clone https://github.com/dw/mitogen.git /tmp/molecule/plugins/mitogen В файл сценария молекулы (раздел provisioner) добавляется следующее: config_options: defaults: strategy_plugins: /tmp/molecule/plugins/mitogen/ansible_mitogen/plugins/strategy В плейбук в нужный плей добавляется: strategy: mitogen_linear И все работает
Timur
Спасибо. У меня получается отдельный имидж и там ставится митоген в пип А в файлах молекулы я указываю эти же параметры. Хм, а стратегию надо в плей добавлять, не прокатит также в конфиг-опции?
Прокатит, но тогда он глобально на все плеи будет применяться. Например, если вам нужно в другом плее (например, на шаге prepare) поставить на тестовый инстанс питон с помощью модуля raw, то вас ожидает фейл. Модуль raw с митогеном без питона не работает. Поэтому логичнее стратегию включать уже на уровне плея для большей гибкости
Terry
привет всем, поделитесь плейбуком билда react app или бросте в меня урлой с описанием, чет гугол мне говно сует дикое на ноде, а не практики с примерами..
Terry
ты хочешь странного?
Sergey
Ну а если в курсе, чего спрашиваешь? Всё сведётся к лютой пачке башсибла, как обычно.
Roman
првиет как по красоте папку переименовать на удаленном хосте? делаю через шел такой прием shell: mv {{ param.path }}/current {{ param.path }}/old он переносит папку current в папку old а не переименовывает current в old, просто в консоли такого не происходит.
Roman
еще права идиотские ставит d-ws-w-rwt
Roman
Копируете модулем copy, а старую удаляете
А есть еще варианты? Это долго.
George
Может в этом проблема 😳
Sergey
Со слешами разберитесь
Да, в этом. Если целевой каталог уже существует, то нужно использовать правильные ключи, иначе замены при переносе не будет.
Sergey
ключ -Т же 😊
George
Меня просто убивает, что коллеги пытаются заниматься наукоемкими вещами, не понимая, что у них под капотом. Результат - такие вопросы. Хотя разобраться там на 15 минут максимум
George
И все чаты такие
George
Либо проблема космос сложная, либо неинтересно
Sergey
"наукоёмкие" лол man mv - для этого уже что, учёная степень нужна?
George
Ибо абстракция поверх абстракции
George
Хорошо, что не атСРАКция
Sergey
А. Ну здесь - да, я даже в своём курсе про объектную модель Ансибла рассказывал, т.к. без её знания А. превращается в шаманский чёрный ящик ("а чо оно не делает ХХХ?")
Anonymous
как сказал мой коллега, ансибл как тот Excel - внутри космический корабль и мало кто юзает его функционал хотябы на 10%
[IPT] Dmitry
Денис, палишься
[IPT] Dmitry
Чем ?
да он знает чем. сорь за оффтоп
Timur
А есть еще варианты? Это долго.
Других нормальных вариантов нет. Перенос - не идемпотентная операция. Надо ее специально обрабатывать
Timur
Это точно ?
Что именно?
Sergey
а из-чего могут быть такие права? я создаю папки с правами 775
Потому что 0755 нужно. Предлагаю доки читать.
Sergey
По Linux-командам для начала.
George
Что именно?
что с митогеном нельзя через рав поставить пайтон2
Ждун
если уж хочешь читать доки по линукс командам, то должен знать что 0 можно опускать
Ждун
как-то здесь токсично
Timur
а из-чего могут быть такие права? я создаю папки с правами 775
Понятия не имею. Это уже вопрос не к ансиблу, а к вашему баш-коду
Roman
как-то здесь токсично
та забей, это зараза с лорки тянется еще )
George
жопа
Timur
Вот тут подробнее, если интересно: https://github.com/dw/mitogen/issues/266
Timur
Note the raw module currently requires Python to be installed. Fixing that is basically blocked on #419 to avoid any more spaghetti code.
Timur
жопа
Как workaround - вызывать raw в отдельном плее без митогена
Timur
Он все равно нужен только для установки питона обычно