George
Терпимое. Фикстура на 3 строчки.
Аннигилятор
Приветствую!
Подскажите, можно ли выполнять таску не паралельно на всех хостах сразу, а последовательно и с задержкой?
Есть список хостов, и нужно по очереди с задержкой команду выполнить.
George
serial: 1, про задержку не скажу.
George
Да. Оно для этого и придумано.
Аннигилятор
понял, спасибо)
Аннигилятор
просто в команду добавлю sleep, мне в принципе этого хватит
Alex
Full
Народ, в общем, хочется странного, наверное. Суть токова...
А что, если вместо хостов в инвентори использовать другие сущности? Ну вот например, есть домен, example.com. Нужно для него настроить реверс-прокси и бэкенды. И вот идея в том, чтоб основными сущностями были бы эти домены, а их переменные описывали, как их нужно настроить. А включая эти домены в группы, можно было бы управлять тем, на каких хостах нужно производить настройки.
Или с ДНС аналогично - настроить мастера и слейвов к нему прицепить.
Sergey
Народ, в общем, хочется странного, наверное. Суть токова...
А что, если вместо хостов в инвентори использовать другие сущности? Ну вот например, есть домен, example.com. Нужно для него настроить реверс-прокси и бэкенды. И вот идея в том, чтоб основными сущностями были бы эти домены, а их переменные описывали, как их нужно настроить. А включая эти домены в группы, можно было бы управлять тем, на каких хостах нужно производить настройки.
Или с ДНС аналогично - настроить мастера и слейвов к нему прицепить.
Точно ты сказал - странное.
Full
Sergey
Объектная модель Ansible предполагает, что у тебя есть хосты и группы. Чем более общие признаки описаны в группе, тем выше она в иерархии вложенности (самая высокая - all).
Sergey
А домены - ну они же не живут в вакууме, они обслуживаются веб-серверами.
Full
Это то понятно.
Я размышляю о более удобной организации инвентори. Ну вот если нужно раскатать домен по ДНСам - я думаю о такой сущности, как домен, в первую очередь. Поэтому и мысль такая приходит - перевернуть все вверх ногами.
Потому что, например, если мне нужно перенести домен в другое место - это либо копипастить кусок ямла куда-то при традиционном подходе, либо сменить группу для некой сущности.
Full
Плюсом к этому, все в одном месте.
Т.к. при традиционном подходе мне нужно будет описывать домен в разных местах - для этого хоста - одно (мастер зона), для другого - другое (слейв).
Full
Я и пытаюсь продумать.
Мне дико не нравится описывать одно и то же в разных местах.
Я и твой кот
Почему домену не быть ролью?
Я и твой кот
Даже не так. Почему домену не быть набором плейбуков, использующих шаренные роли?
Full
Можно пример? Я пока не понимаю, как это должно выглядеть.
Jungo
добрый вечер! скажите пож-та можно ли поменять алгоритм выполнения роли на несколько хостов не последовательно таскный а последовательно рольный?
Full
А, примерно понял. У меня немного другая история.
У меня нет проекта типа сайт, домен, и т.п. У меня есть проект типа NS'ы, которыми нужно управлять. Там что-то за полста доменов, и указывают записи в этих доменах куда попало.
Я и твой кот
Я и твой кот
Вам, как админу днс, не принципиально же, какие домены вам заводят. Вы предоставляете сервис, и всё. Сайтостроители сами пусть записи создают/удаляют.
Full
Сайтов нет. :)
А под каждый домен городить свой репо - ну такое.
Раскидать по разным файлам - идея хорошая.
Я и твой кот
DNSaaS для бедных. Вы даёте API (или плейбук стандартизированный), другие пусть пользуются.
Я и твой кот
Если кто-то забудет NS/SOA прописать - ну их проблемы. Если кто-то с кем-то доменами пересечётся - выплюньте ошибку API (плейбуки).
Full
Нет других никого. В смысле, нет таких, кто бы даже веб-морду освоил.
Я тут хочу самому себе немного жизнь упростить, не более. Даже на управление этим руками уходит час в месяц, от силы.
Просто если добавлять домен, то мороки мелкой много - а создай файл зоны, а пропиши его тут, а пропиши на слейве, а пропиши в request policy, а еще вьюхи разные. Ничего военного, но я эту рутину не люблю.
А так можно будет и от рутины уйти, и история появится.
Я и твой кот
API для бедных: файлики строго определённого формата пусть на sftp/ftp скидывают, а вы их парсите, делаете записи/обновления, и в ответ кладёте файлик с SUCCESS или FAILURE с описанием.
Full
Формата описания зоны, например. :)
Я и твой кот
Нет других никого. В смысле, нет таких, кто бы даже веб-морду освоил.
Я тут хочу самому себе немного жизнь упростить, не более. Даже на управление этим руками уходит час в месяц, от силы.
Просто если добавлять домен, то мороки мелкой много - а создай файл зоны, а пропиши его тут, а пропиши на слейве, а пропиши в request policy, а еще вьюхи разные. Ничего военного, но я эту рутину не люблю.
А так можно будет и от рутины уйти, и история появится.
Есть gui для dns. От Microsoft :)
Я и твой кот
Есть инфоблохи и другие коммерческие dns, там web-ui и всё красиво.
Я и твой кот
Full
csv. У ансибла даже есть лукап для него. Я когда-то давно уже начинал это делать.
Jungo
интересно - файл есть но при этом ансибл говорит что нет https://pastebin.com/WbSyhTiH
Я и твой кот
Я и твой кот
Можно оба из экселя экспортировать на smb файловую шару, в эксельке минимальная формочка.
Full
Или tsv.
Или так, да. И там каждый домен был в отдельном файле описан. И шаблоны зон с инлюдами и наследованием. Все сложно было.
Full
Full
Так что даже ямл подойдет, при всей моей ненависти.
Lamobot
Grek 🇺🇦
Jungo
Grek 🇺🇦
Тогда пара глупых вопросов:
Пользователь в плейбуке и от которого делаете ls один и тот же?
Хост на котором ищете ls-ом и на котором прогоняет плейбук один и тот же?
Sergey
Ivan
Подскажите пожалуйста кто сталкивался и решил такую проблему c apt модулем?
https://pastebin.com/raw/mF35ypFp
Плейбук накатываю с виртуал енва, из под мак ос на свежую убунту 20.04
ansible 2.9.11
Гугление навело на старый ищью, но не помогло
Ivan
Более детальный вывод - https://pastebin.com/raw/64M22Bi1
Ivan
и сам плейбук на котором падает https://pastebin.com/raw/8kE02zeu
Комментировал первые блоки, падает так же на следующих с модулем apt
Vladislav 👻
Не используйте 3.8
Пропишите интерпретатор для хоста
Ivan
Не используйте 3.8
Пропишите интерпретатор для хоста
а какую версию Python3 посоветуете тогда?
интерпретатор прописал в хосте
b3 ansible_host=10.10.0.3 ansible_user=det ansible_ssh_private_key_file=files/ssh/personal ansible_python_interpreter=/usr/bin/python3
Vladislav 👻
3.7, на 3.8 что-то многое криво работает
Vladislav 👻
Ivan
3.7, на 3.8 что-то многое криво работает
а я могу указать версию при сознании виртуаленва если в системе нет допустим 3.7? вот так?
virtualenv --python=/usr/bin/python3.7 env
ибо ругается FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/python3.7'
Vladislav 👻
Jungo
inqfen
Vladislav 👻
В том числе, да
Anonymous
inqfen
Берешь виртуалки и начаинаешь настраивать полностью ансиблом. Ну или на работе, что что сейчас делаешь руками и оно подходит под его использование - перестаешь делать руками
Ivan
Не можете, нужно поставить
Поставил 3.7 создал на его базе виртуаленв по команде выше, внутри виртуаленва выводит
python --version
Python 3.7.3
Но вот по ансиблу ошибка к сожалению та же самая
Не помогло
Vladislav 👻
Судя по варнингу, неподхватился интерпретатор
Ivan
Даже понижение версии ансибла до 2.7.3 с 2.9.11
Vladislav 👻
И инвентори какой-то странный
Vladislav 👻
И еще, не помню почему, но я отказался от виртуаленва для ансибла
Я и твой кот
Ansible в обеих задачах. Пожалуйста, решайте.
Я и твой кот
Хотя это не менторство, конечно.
Я и твой кот
Dmytro
Anonymous
Dmytro
Anonymous
и на собеседованиях дают типа таких задач?
Anonymous
Dmytro
Мне только не понятно выбор между varnish & haproxy, это два разных инструмента