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
чо то не гуглится этот момент
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 уже есть такой, как и всегда
Alf 🙀
Aleksey
ERROR! 'serial' is not a valid attribute for a Handler
Aleksey
но почему ?
Aleksey
@lig11 в прекрастном стонике такого ведь нет ?
Арсен
мой багфикс два месяца шел до релиза
думаю, 90% эти пулреквестов - трэш и содомия
Serge
Serge
@lig11 в прекрастном стонике такого ведь нет ?
Нет. Такого нет:) Все пулреквесты рассматриваются сразу.
Ты чего меня подстебываешь этим постоянно? Ты считаешь, что я должен за два дня его написать, бесплатно, имея работу днём и семью?
Помощи ты не предлагал, насколько я помню.
Aleksey
:) очень уж эпическое было начало. Ладно извиняюсь если шутка затянулась.
Serge
Ну, ты глянь в репы, там есть POC ветка в Stonic и MVP ветка в Distonic.
Первое пока совсем в начале.
Второе может через месяц в 0.1 выйдет.
Serge
Арсен
Это недоказуемо. Треш - извинись и закрой.
очень жесткое требование
опенсорц не так работает. не нравится, что куча пулреквестов - пройдись по ним, и отпишись там "код не работает, я проверял"
тебе только спасибо скажут
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
Им нужен стабилизационный релиз. Причем, уже пол года как минимум.
Serge
Что бы сообщество не писало в каменты к PR, сколько бы не тестило, если ты закрываешь медленнее, чем они открываются - это приговор.
Арсен
вот это накал пафоса
попустись уже. отличный проект, где ты там приговор видишь. никто не идеален, и никто не обязан быть идеален
я два года поддерживаю дистрибутив, в котором 10К строк одного только ансибля. и за это время мне всего три бага попалось - один в вагранте, один я сам зафиксил, один - добрые люди
этот дистрибутив поставляется в мегафон, и тестируют там так, что любого разработчика до слез доведут
Арсен
так что как мне, так ансибл просто охуенный
особенно если сравнить с другими средами
Арсен
и если они поддерживают репо так, что там 900ПР незакрытых, значит это эффективно
Serge
Ваше мнение понятно
Serge
Я же не спорю, что ансибл хороший. Но поддерживают они его плохо. И последний год ещё хуже.
Любое хорошее начинание можно угробить.
Serge
И нет, то что они делают, не эффективно.
Постоянные регрессии, смена апи в минорных релизах.
И ты даже не можешь им помочь, потому что на PR никто не реагирует.
Serge
У меня три проекта развесистых на ансибл.
Serge
Все с воркэраундами со ссылками на открытые баги. И один с собственным патчем, взятым из PR.
Serge
Апгрейд версии ансибла, даже минорный, ещё ни разу ничего не ломал.
Womchik
хм. в django за месяц ни одного issue?