Sander
🤔
Sander
не хочет делать pull, с приватного репозитория из gitlab
Sander
обычный docker pull <name> работает, но через ansible не работает
Sander
а что насчет image pull? я могу спулить только новый image, но если надо подтянуть какие-то изменения в image, то он этого не сделает.
Sander
уже перепробывал разными вариантами
Sander
вот так прошло
Sander
- name: "PULL" docker_image: state: present name: "registry.gitlab.com/projects_images/site.ee" repository: registry.gitlab.com/projects_images/site.ee pull: True force: yes tag: latest
Dmitry
Докероебы захватили чят :)
Sander
😞
Pavel
Докероебы захватили чят :)
шо ж ты так - они в анзибле докерят
Dmitry
Надо юзать теги
Dmitry
Тогда новая версия приедет
Dmitry
При билде
Sander
у меня тег latest
Sander
тоже самое
Sander
оставил пока что, и если будет время то займусь
iF
я в свое время это не решил и забил
Все подтягивается. Если изначально расположение ролей, задач и прочего определно и они не прыгают в иерархии, то всё подключается и работает. Часто бывает так, что в самих задачах прибиты относительные пути, тогда при изменении каталога выходят ошибки. Этот момент если учитывать, то все работает.
Sander
не знаю, вчера долго пробовал, в итоге не вышло
Sander
все равно не работало и не подтягивало ничего
iF
ну видимо у меня волшебная страна )
Dmitrii
Я правильно понимаю, что поставить плагин из локального файла для 5го ластика http://docs.ansible.com/ansible/elasticsearch_plugin_module.html#options — отсос? (В прочем, как обычно)
Svyatoslav
Коллеги, а какие динамические инвентарки используете?
Alf 🙀
Коллеги, а какие динамические инвентарки используете?
был опыт с терраформом. но не долгий...
Dmitrii
Alf 🙀
Какахи из жопы рукой тоже можно доставать, да.
люблю аргументированное общение
niko
Попробуйте монгу
niko
Там она вечная может быть
Bogdan (SirEdvin)
https://www.elastic.co/guide/en/elasticsearch/reference/current/rolling-upgrades.html Лучше вот так
niko
3 часа ниачем
Bogdan (SirEdvin)
Для ansible можно написать просто отдельный скрипт, который будет обрабатывать не для всех нод одномоментно, а по одной
Bogdan (SirEdvin)
Алсо, elastic тоже можно весело подвесить на день шардинга)
Dmitrii
люблю аргументированное общение
Ну а какой смысл в таких советах?) Из разряда "скопируй плагином bash, обмажься changed_when/failed_when чтобы изобрести велосипед^Wидемпотентность"
Dmitrii
Так я тоже умею...
Bogdan (SirEdvin)
Так я тоже умею...
То, что делает этот плагин достигается через copy и force=no
Bogdan (SirEdvin)
Перезапуск то все равно самому делать
Alf 🙀
И как?
работало.
Svyatoslav
работало.
Недолго.. А потом отказались?
Alf 🙀
Ну а какой смысл в таких советах?) Из разряда "скопируй плагином bash, обмажься changed_when/failed_when чтобы изобрести велосипед^Wидемпотентность"
у вас есть другое знание того как устанавливать плагин в эластике? рестарт делать так или иначе. эластик не впилил динамиченого лоада плагинов, насколько я в курсе. ишью на это переходит из одной версии в другую и так ничего там и не изменилось, если я ничего не путаю. возможно у вас более свежие познания. поделитесь если так.
Alf 🙀
Недолго.. А потом отказались?
а потом отказались от облаков...
Alf 🙀
в последнем солре например есть возможность плагины пушить через рест ендпоинт. такого в эластике я не нашел...
Alf 🙀
но и после пуша плагина, все равно надо делать рестарт, релоада не достаточно, от того что джва класслоад динамично грузится только в платных версиях
Svyatoslav
а потом отказались от облаков...
И от ansible? Я ищу какое-то решение, чтоб не дублировать инвентарку ansible, zabbix и еще пары сервисов.
Alf 🙀
Знаний лучших нет. Просто написал, что плагин есть — а толку от него нихера нет.
а заносом новых нод в кластер с плагином и постепенным опусканием старых такое решить в вашем случае нельзя?
Dmitrii
Да на самом деле на данный момент любой вариант прокатит
Dmitrii
Просто не люблю велосипеды. А в мире ансибла кажется надо думать наоборот — сначала велосипед а потом плагин 😕
Dmitrii
Вообще этот модуль какой то странный. fatal: [default]: FAILED! => {"changed": false, "cmd": "/usr/share/elasticsearch/bin/plugin install analysis-phonetic --timeout 1m", "failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}
Dmitrii
Т.е. он как бы вообще не работает )
Dmitrii
Хотя из этой ошибки походу вытекает что бинарь куда то пропал в принципе
Alf 🙀
Просто не люблю велосипеды. А в мире ансибла кажется надо думать наоборот — сначала велосипед а потом плагин 😕
ну а где костылей(они же велосипеды) нет? профессия такая - костылями подпирать и велосипеды изобретать...
Sander
--- есть ansible, есть docker. меня интересует такой момент, как правильно версионировать с помощью docker версии, чтоб потом можно было откатиться. А так же, как потом при помощи инструмента Ansible, мне вытащить нужную мне версию? Не ужели после каждого deploy, мне придется менять конфиги в ansible? --- на данный момент я просто всегда тяну latest, для всоего приложения и все.
Alf 🙀
-e tag= делаешь и все
Alf 🙀
тэг скармливаешь при деплое через например jenkins
Sander
а как jenkins узнает какой тег?
Sander
jenkins же автоматически запускается
Sander
я сливаю в ветку git master, запускантся по хуку деплой
Sander
jenkins делает тесты и потом деплоит на prod
Sander
и ему надо как-то понять какую версию ему деплить
Alf 🙀
аа окей
Alf 🙀
тогда как у тебя идет тэгирование контейнера во время билда?
Sander
пока что никак, всегда latest, я просто думаю, было бы хорошо как-то версонировать, хотяб 5 последних версий/образов в registry держать
Sander
если что-то пойдет не так, можно было бы откатиться
Alf 🙀
ох
Alf 🙀
делаешь билд назначаешь ему аттрибут date который будет тэгом например
Sander
--- docker tag site.ee:latest site.ee:new docker push site.ee:new ---
Alf 🙀
этот аттрибут в виде енв вар передаешь в другую джобу которая деплоит у тебя
Sander
то есть build мне придется в ручную делать?
Alf 🙀
почему же
Sander
так как я думал что, на стороне дженкинса это будет, я хочу ток пушить в гит
Alf 🙀
да пожалуйста пушь, кто тебе не дает
Alf 🙀
просто делай тэг - дату и все
Alf 🙀
и делай ее енв вар
Sander
прочитал