Timur
Timur
У вас докер-имеджи собираются 12 часов?
/warn
Ага
UglyKoyote
неткрекер что ли?
Timur
/warn
Timur
ыыыы
/warn
Opencontrail
Можете вгуглить, может вы хоть поймёте что это такое, а то я с этим работаю, но сам не понимаю)
Timur
В общем, я не очень понимаю, как здесь может помочь ансибл
/warn
Ну, моя задача - впихнуть файлы в контейнер. Если не ансиблом, то не знаю чем еще это делать.
Точно не через jenkins ssh plugin.
/warn
И я никогда не работал с докером с помощью ансибла, поэтому не очень знаю как это правильно сделать
Pit
Господа вопрос по молекуле. Есть роль раскатки всяко-разных репозиториев. типа положим в /etc/apt/sources.list свои файлы. Начинаю обмазывать тестами. Запилил в молекуле такое:
def test_spacket_install(host):
os_version = (host.ansible("setup")
["ansible_facts"]["ansible_os_family"])
if os_version == 'debian':
os.system("apt update && apt install mc")
Беда в том что таска выполняется, но по её результатам - никаких ошибок, даже если выполнить её в центе. Вопрос - как вытаскивать состояние этого выполнения, и по нему принимать решение о наличии ошибки? Оффдока по молекуле не помогает
Артём
Артём
https://pastebin.com/21cmrx1i
Pit
легче не стало
Артём
Артём
Ну ок. Можно добавить
def test_mc_package(host):
    pkg = host.package(‘mc’)
    assert pkg.is_installed
Артём
И ожидать, что если пакет поставить не удалось (и мы не упали в результате той ошибки, которая помешала его поставить), то будет ошибка в тестах.
Pit
Артём
В смысле, не проверять конкретное состояние конкретного элемента, а ловить все возможные ошибки при работе команды?
Pit
Артём
То есть интересует нас команда update и её exit code.
Pit
Артём
в первую очередь - да
Тогда может подойти run и его rc
https://testinfra.readthedocs.io/en/latest/modules.html
George
Pit
George
у тебя Dockerfile ансибл собирает? или наоборот?
Sheridan
Камрады, а можно ли в инвентарь положить файл, который надо на remote копировать? Это чтототипа лицензии и под каждый инвентарь оно своё должно быть...
Никита
Sheridan
можно конечно в base64 и в строку в переменную а потом copy: content: , но хотелось бы более наглядно..
Anonymous
Коллеги а может кто нить поделиться примером таска docker-compose pull с. приватной репы ?
Timur
Sheridan
Timur
Timur
Инвентарь - это просто текстовый файл с конфигом
Timur
С набором переменных
Timur
Что вы туда закидывать собрались еще?
Sheridan
Т.е.?
файл относится к роли, но для каждого интвентаря должен быть свой. Как быть?
Timur
Timur
Если непонятно где лежит - откуда вы его хотите брать?
George
Anonymous
логин само собой сделан
Anonymous
больше интересует таск где пулиться композ, для обычного то докера мне все понятно
George
Зачем компоуз? Кто компоуз? Где компоуз?
Anonymous
ну вот начальось))
Anonymous
мопедне мой, я просто разместил объяву)
Anonymous
хотя мб пойду по пути обычного докера
kevit
добрый день, господа, помогите мне с напавшим тупняком
kevit
- name: "Start and enable services"
become: true
systemd:
name: "{{ item }}"
enabled: true
daemon_reload: true
state: started
with_items:
- "service.target"
- "service-worker.service"
- "service-server.service"
kevit
есть вот такая конструкция, таргет, два сервиса
kevit
в каждом сервисе такое
kevit
[Service]
Restart=on-failure
RestartSec=10
kevit
когда конфигуришь сервис ансиблом ничего не встает, а перегружает сервис раз в 10 секунд
George
Больше фактуры
kevit
например?
George
Ну, все логично - сервис падает, перезапускается. Вероятно, какая-то зависимость неудовлетворена
George
Полный юнит файл покажешь ? Лог ошибок ?
kevit
все сервисы запускаются руками
kevit
сейчас я проверю одну идею что это из-за таргета, возможно таргет нельзя в том же лупе конфигурить
George
В этом нет логики
George
И включи вербозный режим ансибла
kevit
что смотреть? сервисы кладутся, таргет кдадется, ансибл пробегает успешно, только все флапает в результате
kevit
.target loaded active active
kevit
-worker.service loaded activating auto-restart
kevit
если виртуалку ребутнуть то все встает без проблем. если таргет перегрузить после прохода ансибла то не встает
UglyKoyote
а юнит файлы не трогаешь в процессе пробега ансиблом?
kevit
я их кладу из темплейтов
UglyKoyote
я просто когда подкладываю их/правлю - дергаю вот такую таску
- name: Daemon reload
systemd:
daemon_reexec: yes
а уже потом стартую, может оно?
UglyKoyote
а то похожая ситуация была, не стартуют сервисы и всё тут после ансибла
kevit
о, значит есть там стуки
kevit
щас проверю
Alex
подскажите, а как то можно динамически генерировать имя переменной? Например у меня есть
app1_installer_type: type1
app2_installer_type: type2
....
appN_installer_type: typeN
и мне надо в переменную app_installer_type записать значение в зависимости от того, что пользователь передал в app_type. Например
app_type=app1, то в app_installer_type мне надо получить type1. Т.е. грубо говоря
app_installer_type={{ {{app_type}}_installer_type }}