Timur
И почему "сервера встают несколько раз в итоговом плее"?
Aleksandr
чтобы виртуалки создать
Aleksandr
чтобы обновить шаблоны для виртуалок
Timur
чтобы виртуалки создать
А можно узнать, как полная задача звучит, в таком случае? А то опять очередная XY problem.
Aleksandr
у меня нет проблемы в самой задаче. все таски написаны и работают. проблема появляется когда начинается конкуренция за ресурсы, т.к. идет паралельная попытка исполнения на одном и том же хосте
Timur
404
встречал ли кто-нибудь поддержку android в качестве целевого хоста ansible?
не на большой комп сходить и запустить на нем adb, а именно сразу пойти на android?
задача видится после factory reset восстановить рабочее окружение для сотрудника в определенном порядке
при этом, например, прежде чем установить второе приложение, нужно сначала запустить первое, чтобы оно свои данные создало
или после установки (перед первым запуском) подложить ему данные в каталог data, а если не устанавливали - то не подкладывать, а то все попортим
ну и соответственно, если пользователь что-то случайно удалил - вернуть взад одним запуском плейбука
поиск только запуск adb что-то выдает, но такое можно и на баше навертеть
George
встречал ли кто-нибудь поддержку android в качестве целевого хоста ansible?
не на большой комп сходить и запустить на нем adb, а именно сразу пойти на android?
задача видится после factory reset восстановить рабочее окружение для сотрудника в определенном порядке
при этом, например, прежде чем установить второе приложение, нужно сначала запустить первое, чтобы оно свои данные создало
или после установки (перед первым запуском) подложить ему данные в каталог data, а если не устанавливали - то не подкладывать, а то все попортим
ну и соответственно, если пользователь что-то случайно удалил - вернуть взад одним запуском плейбука
поиск только запуск adb что-то выдает, но такое можно и на баше навертеть
А транспорт какой? Ssh, adb?
404
кмк на круг дешевле будет поднять ssh на целевом мобильнике, нежели экранировать adb shell
а вот с питоном там напряг, ssh-то и тот не настоящий
George
знаю. У меня есть 3 железных сервера на которые будут раскатываться компоненты кластера. каждый компонент раскатывается по 1 разу на 1 железный сервер. т.о.
physical1(component1.1, comp2.1, comp3.1 ),
physical2(component1.2, comp2.2, comp3.2 ),
physical3(component1.3, comp2.3, comp3.3 )
и если я хочу что-то раскатать на железные сервера и делаю delegate_to: "железный сервак на котором компонент", то у меня физические сервера встают несколько раз в итоговом плее
Я бы группы для "компонент" придумал так, чтобы делегация не конфликтовала. Тогда можно было бы в параллель. Если придумать не получается или динамически не перегруппировать, то тогда serial: 1
George
404
очень хочется не начать пилить свой велосипед, да еще и в такой шаткой области, если кто-то уже это делал
опрашиваю чятик, мало ли плохо гуглил
Denis
Ребят, кто-то использует для тестирования ansible ролей через молекулу goss?
Timur
inqfen
Denis
Testinfra
У меня сегодня с Testinfra проблемы возникли
Denis
Причем тестил потом в ручную без молекулы.
Denis
У меня проблема что сервисный порт висит на определенном интерфейсе и когда указываешь host.socket("tcp://3000") то testinfra фейлится
Отделение Bereke Bank
Denis
В доке написано что модуль socket использует netstan утилиту, но в современных дистрах ее нет. После дебага я увидел что он использует socket stat (ss).
inqfen
Denis
Всем привет! Подскажите пожалуйста, можно ли в testinfra передать переменные из ansible? Например:
def test_socket(host):
s = host.socket("tcp://{{ hostvars[inventory_hostname]['ansible_' + network_interface].ipv4.address }}:3000")
assert s.is_listening
Denis
Вот я спрашивал выше
Denis
В goss написал тесты и все ок работает
Denis
Denis
Denis
https://github.com/ansible-community/molecule-goss/issues/8
Denis
Уже откатывал версию молекулы, но все равно ловлю этот фейл
Denis
Timur
Aleksandr
Aleksey
некоторые вещи тоже можно делать ансиблом но госом удобнее.
Aleksey
я например начал для виртуалок укладывать файл спецификации госа, как онлайн верификатор хоста. этакий контракт того что должна делать виртуалка а что нет.
Aleksey
как только гос научится отдавать метрики это будет еще и часть стека для поверхностного мониторинга. сейчас приходится оборачивать гос через консуловский хелсчек
Aleksey
ну и цена создания тестов в госе существено ниже. намного проще и быстрее написать
goss aa nginx и он сделает 8 тестов, на юзера, на пакет, на порты, на сервис чем делать тоже самое через тестинфру или ансибл
Dmitry
Aleksey
да. но можно лучше.
Aleksey
пожалуйста нет
Dmitry
Aleksey
(чортов яндекс)
Aleksey
главное не опенсорсите
UglyKoyote
вопрос.. ансибл же на хост ходит, а госс?
Aleksey
Dmitry
(чортов яндекс)
На самом деле, если ты посмотришь на свои тесткейсы - там не так много будет, наверняка
UglyKoyote
ну то бишь надо ставить и прочее. ясно. я думал мне показалось. спасибо
Aleksey
UglyKoyote
не не, я к другому веду
UglyKoyote
вот есть у нас запущенный хост с сервисами и прочим. ансибл пришел проверил ушел, ничего не ставя. а госс - надо притащить, поставить, запустить..
UglyKoyote
и при наличии сесурности - это ещё и согласовать надо ведь будет?
UglyKoyote
я натыкался местами что сесурити ансиблу то мешают, всякими центрифаями
Dmitry
Dmitry
Проверить лежит ли файлик, апнут сервис, отдается 200
UglyKoyote
это очень напоминает, прости господи, шефовский тест инфры..
UglyKoyote
я бы предпочел ансибл, но меня вынуждают с руби страдать
Aleksey
Aleksey
ансибл может менять состояние хоста, а тут чисто тест.
UglyKoyote
я не говорю что фу фу.. я просто понять разницу хотел, и ответы показали эту разницу
Aleksey
ну и при рефакторах очень помогает ага да. ну это свойство тестов в целом
Игорь
А можно как то по созданию каталогов за счёт фильтра убрать такую вещь как {'url':' version} а оставить только каталоги которые идут дальше а то он создаёт это потом нормально или как в фильтр добавить что бы удалял что то такое а то я не представляю как можно
Игорь
А то у меня получаются каталоги так {'url':u' потом то что входит в поиск vars version и потом уже то что нужно
Игорь
Я предполагаю что в path нужно добавить фильтр и в loop из всего что думаю это Default
Aleksey
Vladislav 👻
Так ансибл и мониторинг это исключают...
Aleksey
конечно исключают (нет)
Aleksey
к тому же мониторинг скажет у тя хост валяется. иди на балансер и выключай трафик. и ты пойдешь.
Vladislav 👻
Я что-то все равно не пойму, как госс поможет?
Vladislav 👻
Какой-то практический пример хотя бы
Aleksey
у госа есть /heath endpoint
Aleksey
по запросу к нему гос прогонит все тесты и вернет 200 если успех.
Vladislav 👻
Надо потыкать 🤔
Aleksey
там тыкать после скачивания бинаря секунд 30. потом 10 минут в доку и поехали
Vladislav 👻
Я просто пока не понимаю, для чего и как это использовать, если есть ansible
Aleksey
ты ансибл рефакторишь ?