Sander
подскажите пожалуйста как решить следующую проблему. Я через ansible, создаю docker container (mysql), но сам контейнер полностью не поспевает запуститься, а ansible, уже идет на следующие таски. Поэтому у меня появляется проблема, с тем что, следущий таск делает mysql import, но так как контейнер mysql, еще не совсем поднялся, то import не срабатывает. --- надо как-то сделать так, чтоб docker container(mysql), не прыгала сразу же на след. таск, пока программа в контейнере не будет полностью функционировать.
Арсен
подожди пока порт будет открыт
Арсен
- name: Check port is open wait_for: host: "{{ item }}" port: "{{ ui_web_port }}" state: started timeout: "{{ port_timeout }}"
Sander
@mkwardakov а разве нормально делать порт mysql на ружу? этот порт случаем не будет доступен вне localhost? ---
Sander
чтоб при сканировании портов, 3306 не было
Арсен
а при чем тут наружу? вы описание модуля посмотрели?
Sander
===== я сейчас что-то такое пытаюсь сделать, но не уверен что это хорошая идея. - name: "Wait for database" command: "docker exec -it <> bash -c '<mysql -u -p>' " register: result until: result.stdout.find("mysql_native_password") != -1 retries: 10 delay: 3
Sander
да
Sander
но надо чтоб поррт наверное смотрел наружу? у mysql
Sander
я на хост машину не отдаю 3306
Sander
🤔
Арсен
да, целая проблема. вы правы, надо что-то придумать
matt
проверяй локалхост, ты же наверняка -p 127.0.0.1:3306:3306 делаешь
matt
wait_for: host: 127.0.0.1 port: 3306
Sander
- name: "Create MariaDB (container)" docker_container: name: mariadb_container image: "{{ image__mysql }}" state: started restart_policy: unless-stopped volumes: - /var/lib/mysql/:/var/lib/mysql/:rw env: MYSQL_DATABASE: "{{ a }}" MYSQL_USER: "{{ a }}" MYSQL_PASSWORD: "{{ a }}" MYSQL_ROOT_PASSWORD: "{{ a }}"
matt
а как приложение потом в базу ходит?
matt
или оно в другом слинкованном контейнере?
Sander
docker network
Sander
с другими контейнерами через network
Sander
я прсото лишнее решил обрезать
Sander
networks: - name: php_network - name: database_network
matt
можно накастылить на самом деле - name: wait 2 minutes pause: minutes: 2
Sander
да я не хочу костылять
Sander
)
Sander
надо делать правильно
Sander
)
matt
так оно и pause и с command выглядит костыльно. разница лишь в том, что с pause меньше кода, а c command понадежней
Aleksey
народ а можно как то ансиблу сказать что бы он писал меньше букав ? skipping: [mweb01] skipping: [mweb02] хочу что бы вместно одного хоста в строке он писал точки там или сгруппировано как то
Aleksey
чо то не гуглится этот момент
Aleksandr
чо то не гуглится этот момент
http://docs.ansible.com/ansible/intro_configuration.html#display-skipped-hosts
Aleksey
а если я не только skipped хочу ?
Aleksandr
тогда я не понял что ты хочешь
Aleksey
хочу так вот TASK [node : Create user] ************************************************** ok: [mdb01fm, mdb02fm, mdb03fm] skipped: [mdb05fm] failed: [web01, web02]
Aleksandr
а
Aleksandr
так нельзя)
Aleksandr
ну либо анс под себя пилить)
Aleksey
хостов вдруг стало много и они перестали помещаться на экран. хочу видеть хотя бы в пределах одного таска
Aleksandr
ну по сути он в конце ж вывод кидает
Aleksandr
что у кого как прошло
Aleksandr
правда не по именам да..
Aleksey
я честно не знаю _зачем_ я это хочу. но почемуто хочу
Арсен
@freeseacher посмотри https://gist.github.com/cliffano/9868180
Serge
я фигею с этих ребят! а сколько было обещаний про "щас мы смержим всё вместе и тогда то разберемся со всеми PR-ами" https://twitter.com/lig1/status/840194938679787520
Serge
никогда такого не было и вот опять. баг висит с 16 ноября. воспроизводится у меня везде https://github.com/ansible/ansible/issues/18475
Serge
и вот пошел бы пофиксил, но уверен, что PR уже есть такой, как и всегда
Serge
Там в описании бага пижня какая то. Ну какой апт в центоси?
Да срать, там еще докер. Реакции ноль. Баг с when и такой ошибкой воспроизводится.
Aleksey
ERROR! 'serial' is not a valid attribute for a Handler
Aleksey
но почему ?
Aleksey
@lig11 в прекрастном стонике такого ведь нет ?
Арсен
мой багфикс два месяца шел до релиза думаю, 90% эти пулреквестов - трэш и содомия
Serge
@lig11 в прекрастном стонике такого ведь нет ?
Нет. Такого нет:) Все пулреквесты рассматриваются сразу. Ты чего меня подстебываешь этим постоянно? Ты считаешь, что я должен за два дня его написать, бесплатно, имея работу днём и семью? Помощи ты не предлагал, насколько я помню.
Aleksey
:) очень уж эпическое было начало. Ладно извиняюсь если шутка затянулась.
Serge
Ну, ты глянь в репы, там есть POC ветка в Stonic и MVP ветка в Distonic. Первое пока совсем в начале. Второе может через месяц в 0.1 выйдет.
Арсен
Это недоказуемо. Треш - извинись и закрой.
очень жесткое требование опенсорц не так работает. не нравится, что куча пулреквестов - пройдись по ним, и отпишись там "код не работает, я проверял" тебе только спасибо скажут
Serge
очень жесткое требование опенсорц не так работает. не нравится, что куча пулреквестов - пройдись по ним, и отпишись там "код не работает, я проверял" тебе только спасибо скажут
Ну ты почитай пулреквесты, каменты. И баги. Там кое всё сделало сообщество про большей части. Чуваки из Ansible не смотрят ничего почти. И опенсорс работает именно так - тебе прислали contribution, ты им занимаешься. Иначе, нет смысла лезть в это. Проще просто код закрыть. Это хотя бы честно будет. В Ansible всем по хер на сообщество. Впервые такое вижу, вообще, в открытом проекте. Там же не так много этих пуллреквестов в среднем в неделю. Они из просто накопили. Причем, они же вообще красавцы, смержили код из core modules и такой же бардак там оставили. Но очень быстро получили такой же бардак и тут. Потому что заниматься надо.
Serge
Вот, например, найдите 10 отличий https://github.com/django/django/pulse
Serge
https://github.com/ansible/ansible/pulse Неделя - ни одного мержа
Serge
Да, у всех разное количество багов. Ансибл менее стабильный. Будет время burndown chart сделаю. Как-то я раньше не догадался, жаль.
Арсен
о даа
Арсен
Арсен
не занимаются
Serge
не занимаются
Они автоматом закрываются ботом многие. И по старым версиям. Тут не видно сколько смержено.
Serge
Ну и там видно, что на этой неделе они только закрывали. И сколько там? А сколько новых открыто?
Serge
Очевидно же, что они не справляются.
Serge
Им нужен стабилизационный релиз. Причем, уже пол года как минимум.
Serge
Что бы сообщество не писало в каменты к PR, сколько бы не тестило, если ты закрываешь медленнее, чем они открываются - это приговор.
Арсен
вот это накал пафоса попустись уже. отличный проект, где ты там приговор видишь. никто не идеален, и никто не обязан быть идеален я два года поддерживаю дистрибутив, в котором 10К строк одного только ансибля. и за это время мне всего три бага попалось - один в вагранте, один я сам зафиксил, один - добрые люди этот дистрибутив поставляется в мегафон, и тестируют там так, что любого разработчика до слез доведут
Арсен
так что как мне, так ансибл просто охуенный особенно если сравнить с другими средами
Арсен
и если они поддерживают репо так, что там 900ПР незакрытых, значит это эффективно
Serge
Ваше мнение понятно
Serge
Я же не спорю, что ансибл хороший. Но поддерживают они его плохо. И последний год ещё хуже. Любое хорошее начинание можно угробить.
Serge
И нет, то что они делают, не эффективно. Постоянные регрессии, смена апи в минорных релизах. И ты даже не можешь им помочь, потому что на PR никто не реагирует.
Serge
У меня три проекта развесистых на ансибл.
Serge
Все с воркэраундами со ссылками на открытые баги. И один с собственным патчем, взятым из PR.
Serge
Апгрейд версии ансибла, даже минорный, ещё ни разу ничего не ломал.
Womchik
хм. в django за месяц ни одного issue?