manefesto
ну вот у всех закрытые инфраструктуры блин
Alex
Я в госах, тут бывает такая практика
Vadim
Суй в RPM и/или контейнеры
Vadim
Тот же satellite тебе будет хранить и рпмки и имаджи - склонировал из апстрима и разливай где хош
Alex
Понятно, клон реп надо делать и всех артефактов для плейбука. Это напряжно.
Alex
А для Сальта, папета и других так же криво всё?
Aleksei
это не у ансибла криво, а в госе
Vadim
Не знаю откуда тогда сольт должен рожать код
Vadim
И чем полная копия "напряжно", это скорее "повторяемо"
Nikita
Всем привет, кто-нибудь с помощью ансайбла управляет маршрутами в linux?
Nikita
https://docs.ansible.com/ansible/2.4/net_static_route_module.html
ХМ…ок, попробую. nmcli не мешает?
Eduard
Nikita
Сейчас проверим
Nikita
https://docs.ansible.com/ansible/2.4/net_static_route_module.html
Сюдя по всему это только сетевых девайсов модуль
mrgreyves
Всем, здрасти! ansible 2.6.1 Ubuntu 16.04 на всех нодах, пытаюсь закинуть файлик при помощи модуля template и выдает вот что stage-0 | FAILED! => { "changed": false, "msg": "src and dest are required" } Сама команда для ansible ansible stage-0 -b --extra-vars "nginx_ver=latest php-fpm_ver=latest" -m template -a "src=docker-compose.yml.j2 dst=/docker-compose.yml" Файл шаблона лежит в папке из которой дергаю ansible.
Alex
Ну значит неправильно путь указал. Поставь "./" В src
Nikita
"src and dest are required" а эти параметры указаны?
Nikita
Естественно)))
Таску в студию
mrgreyves
ansible stage-0 -b --extra-vars "nginx_ver=latest php-fpm_ver=latest" -m template -a "src=docker-compose.yml.j2 dst=/docker-compose.yml"
Sergey
это не таска, это странное.
Sergey
дело в том, что далеко не всякий модуль поддерживает запуск командой
mrgreyves
Парни, таска из плейбука высыпает точно такую же ошибку)
mrgreyves
это не таска, это странное.
tasks: - name: Copy from template file template: src: docker-compose.yml.j2 dst: /docker-compose.yml
Sergey
Парни, таска из плейбука высыпает точно такую же ошибку)
потому что в ней точно такая же ошибка
Sergey
dest и dst - две разных вещи
Sergey
как-то так
Alex
Src он ищет не там
Alex
Полный путь воткни и увидишь как всё заработает
Nikita
Sergey
Полный путь воткни и увидишь как всё заработает
Не заработает. Параметр для указания целевого имени называется "dest", а не "dst".
mrgreyves
Парни тут прикол в другом)) Как оказалось я слепошарый, и надо писать DEST)))
mrgreyves
Проглядел, дааааа)
mrgreyves
Спасибо, ребят!)
Старый
Не заработает. Параметр для указания целевого имени называется "dest", а не "dst".
кстати я мож доку не оч правильно понимаю, а почему dest более не удаляет директорию указанную для распаковки?
Sergey
Проглядел, дааааа)
какбэ тебе ансибл об этом сам говорил 😊
mrgreyves
ну так, слепошарый)))
Старый
Sergey
unarchive
ах да - и версию ансибла в студию, пожалуйста
Sergey
В доке на 2.5 английским по белому написано, что dest - это каталог файловой системы, в который будет распакован архив. Каков смысл его удаления? Распаковать и стереть? O_o
Старый
- name: prometheus wget unarchive: src: https://github.com/prometheus/prometheus/releases/download/v2.3.2/prometheus-2.3.2.linux-amd64.tar.gz dest: /opt/prometheus remote_src: yes по итоггу мы получаем ./prometheus/prometheus-2.3.2.linux-amd64/prometheus
Sergey
Угу, и? У тебя каталоги содержатся в архиве. Если нужно часть этих путей дропать - это уже ближе к самому вызову разархиватора, ансибл же наперёд не знает, что там в твоём архиве внутри, а ты не хочешь ему сказать 😊
Sergey
просто не оч понятно как тогда лучше делать, получается 2 пустые директории на пути
Тогда уж не "пустые", а "содержащие единственный подкаталог".
Sergey
Это нормально, твоя проблема в данном случае - отследить уровни вложенности в этом архиве и распаковывать куда-нить в /tmp
Старый
кстати есть где ресурс с готовыми регулярками под regeexp, чтот гуглил гуглил не нашёл, просто есть файлы с разными форматами, и тем же блокфайлом или лайн инфайлом не сделаешь без регулярки в regeexp
Sergey
кстати есть где ресурс с готовыми регулярками под regeexp, чтот гуглил гуглил не нашёл, просто есть файлы с разными форматами, и тем же блокфайлом или лайн инфайлом не сделаешь без регулярки в regeexp
Не надо так, уважай себя. Вот есть https://regex101.com/ - место для "поиграть в регулярки". Потом без изменений практически можно в Asnible переносить.
Sergey
просто получается проще подготовить готовый конфиг yml\xml, чем использовать регулярки
Строго говоря - да. Ну и по принципу единственной точки ответственности - да, лучше генерить конфиг из шаблона.
Старый
Строго говоря - да. Ну и по принципу единственной точки ответственности - да, лучше генерить конфиг из шаблона.
у меня просто многие конфиги бывают содержат ip адрес до 20 раз, в среднем 6-8, при этом ещё идёт перечисление других ip кластера в этом же конфиге
Старый
а локалхост писать нельзя, не будет работать
Sergey
Ты это не хуже меня знаешь, если мои впечатления о тебе соответствуют действительности.
Александр
Кто-то переоценивает хрычевского
Старый
Это значит, что нужно сделать нормально один раз - предусмотреть все перечисления и т.д.
ну ранее у меня получилось, что проще сделать конфиг на машине, а его разнести, а потом по отделности везде пройтись плейбуком
Старый
для доработки
Александр
Шта? Бля
Старый
то есть при установе почти готовый конфиг улетал на хосты. а потом по отдельности менялись параметры узкие
Nikolay
конфиг в темплейты засунь
Sergey
host_vars, вот это вот всё.
Александр
Старый
host_vars, вот это вот всё.
попробую осилить, в прошлом году я делал copy(модуль) конфига с моего хоста, на хосты кластера, а потом редактировал 8 нужных мне уже строк по отдельности, тк ip адреса у хостов были разными, говорили про модуль ip_v4 чтот там, но тогда времени не было его осиливать, сейчас попробую
Старый
в идеале конечно было бы модуль, который смотрел бы адресс хоста, и модменял localhost на него, в принципе такое можно как то и регуляркой извратить
Alex
Ох не хочу после таких работ хрыча это всё поддерживать