Daniyar
Кто-нибудь подобное пилил?
Daniyar
wildfly, jboss
Александр
Сам не пилил, но спрошу: ты пробовал искать готовые роли или модули для управления WF?
Daniyar
Так этот модуль щимится по ssh, а у меня это дело запускается на gitlab ci при каждом коммите в gitlab, кроме ветки мастер
Daniyar
А в gitlab ci крутится докер контейнер
Daniyar
Докер контейнер поднимается из имэджа в артифактори, а допихивать в имедж кучу левого софта неохото, ведь артифактори тоже не резиновый
Александр
ты можешь держать в базовом контейнере только окружение, без твоих war/ear/jar
Александр
а эти *ar подкладывать в тома (volume)
Daniyar
в контейнере происходит только сборка приклада и юнит тесты, а из него непосредственно деплой на виртуалки через jboss-cli
Daniyar
пока на докер не переехали, поэтому чуть заморочка
Andrey
На мак через пип...
Лови наркомана
Daniyar
Если у кого есть опыт с этим буду рад, если кто поделится
Aleksey
нафига центос, если есть кошерный oracle linux 7 с ol7_addons?
потому что связываться с ораклом _всегда_ себе дороже.
Vladislav 👻
Лови наркомана
Для таких есть документация
Andrew
а мы ж можем в плейбуке закидывать сразу две группы в хосты через запятую?
Через двоеточие по-моему, еще можно амперсанд добавить
Andrew
Ну да, так и сделал. Печальненько конечно.
Пробовал when не в key=value, а в чистом ямле - с новой строки, отступ, лист айтем
Andrew
?
Andrew
А разобрались уже
Nazar
парни, я чет тут подвис немного. Есть у меня инвентори с группами [app] 10.0.10.12 10.0.10.13 10.0.10.14 10.0.10.15 [db] 10.0.20.30 10.0.20.31 10.0.20.32 10.0.20.33 Как мне выдернуть из группы эти айпишники?!
Nazar
что-то не хочет fatal: [217.xx.xx.xx]: FAILED! => {"changed": false, "failed": true, "msg": "AnsibleUndefinedVariable: ansible.vars.hostvars.HostVars object has no element [u'10.0.10.12', u'10.0.10.13']"}
Nazar
{% for host in hostvars[groups['app']] %}
вот так получилось: {{ groups['app'] | map('extract', hostvars, ['ansible_default_ipv4', 'address']) | join(',') }}
Nazar
но это не с работает, если нет фактов с хостов к которым не подключался еще
Dmitrii
Да. gather надо делать стабом в плейбуке без ролей
Константин
groups['app'] | join(',') в чем проблема то
Константин
не нужны никакие факты тут
Nazar
groups['app'] | join(',') в чем проблема то
так это будет список из всех символов
John
коллеги, подскажите пжлста как это вылечить: Pulling docker image git.domain.ru/domain/core ... ERROR: Preparation failed: Error response from daemon: Get https://git.domain.ru/v2/domain/core/manifests/latest: unauthorized: HTTP Basic: Access denied
John
причем это в гитлабе запускается пайплайн, который должен запустить докер, а я не пойму где-что сломалось, и как это чинить
Vadim
docker login мб перед docker pull?
Ievgen
Всем привет, парни, а есть кто плейбуки питоном запускает, ну кастомным скриптом, не через ansible-playbook? Есть вопрос, а то из документации нифига не понятно.
Ievgen
где подсмотреть, как мне сделать так чтобы при фейле таска кидался родной питоновский ексепшн?
Konstantin
причем это в гитлабе запускается пайплайн, который должен запустить докер, а я не пойму где-что сломалось, и как это чинить
Не про ансибл же, но если по шаблону ci - там уже есть строка авторизации через времкнный токен.
Даня
ребят, кто-нибудь разворачивал ssl серты и ключи из ansible vault? подскажите пожалуйста как надо оформить таск?
Gleb
ребят, кто-нибудь разворачивал ssl серты и ключи из ansible vault? подскажите пожалуйста как надо оформить таск?
ну заходишь в джиру и пишешь "нужно сделать что ssl серты и ключи разворачивались из ansible vault" ну и назнаешь отвественного, потом ждёшь пока он сделает
CMy3u🐈
А если ему такую задачу в жире поставили?
Gleb
тогда он знает что делать, не зря же его на эту работу взяли
CMy3u🐈
Если бы он знал, то не спрашивал бы?
CMy3u🐈
Даня
что именно нужно с ними сделать?
у меня есть ключ, я его зашифровал и нужно задеплоить его на сервер с nginx. мне просто не понятен сам механизм декрипта. нужно это прописать в таске? просто я нашел примеры, как чуваки делали через vars и вписывали контент
Даня
саму страницу с докой прочел, но там же вообще нет намеков на таски
🇷🇺 Роман
так и надо делать, только сам ключ в волт лучше писать не открытым текстом, а предварительно прогнав через base64
🇷🇺 Роман
писать ключи можно, например, так: - lineinfile: path: "~{{ ansible_user }}/.ssh/authorized_keys" line: "{{ rsa_public_key | b64decode }}" create: yes owner: user1 group: user1 mode: 'u=rw,go=' changed_when: false - copy: content: "{{ rsa_private_key | b64decode }}" dest: ~/.ssh/ansible.key mode: 'u=rw,go=' changed_when: false
🇷🇺 Роман
это не рабочий код, просто пример
Даня
окей. спасибо, попробую
🇷🇺 Роман
если не прогнать через base64, могут возникнуть нюансы в выводе содержимого ключа в файл
Vlad
в ansible 2.4 модуль file может копировать зашифрованные vault файлы. Нужно задать параметр decrypt.
Даня
Влад, спасибо, то что нужно
John
Коллеги, подскажите почему в строке 5 синтаксическая ошибка? Что ему не нравится?
Александр
лишняя кавычка в строке 6?
John
еще? (ее я уже заметил)) но делу не помогло)
Nklya
еще есть тройные кавычки
John
в смысле?
Nklya
в home: посмотри
John
ансибл ругается, а на что именно не понимаю. Примерно тоже самое говорят всякие YAML чекеры
John
ха) в хоум не видел твойной кавычки) сейчас уберу, спасибо) Но ругается он именно на строку 5)
Lev
лишний отступ
Lev
name - это строка, а не объект
Lev
(мб) 🙂
John
черт побери) ты прав!!! мне казалось я что уже все варианты перебрал))
Александр
в строке 5 и ниже - на один пробел больше, чем надо
John
не, сейчас код выглядит так, а ругается на строку 1)
Lev
а что это? roles/.../tasks/main.yml?
Lev
если да, то tasks: не нужен
Александр
выложи в gist или на pastebin - из скриншота не очень понятно, где есть пробелы, а где - нет
John
Парни, теперь Лев оказался прав. Спасибо большое) Скажите, если в плейбуке написано например инсталить mc при запуске плейбука ансибл каждый раз будет запускать apt-get install mc или он предварительно проверит надо оно или нет?
Lev
прочитай про модуль apt
Александр
или про package
John
у меня с коллегой спор вышел, я почему то уверен что ансибл лишний раз не будет пытаться сделать то, что уже сделано. А коллега все равно уверен что лишний раз тыркается в apt-get
Lev
через жопу всегда можно сделать, было бы желание
John
не хотелось бы :) Хочется логики, но что бы сделать логично, надо ее постичь)
Александр
http://docs.ansible.com/ansible/latest/glossary.html - Idempotency
John
одними манами сыт не будешь 😁 хочется и с людьми пообщаться 👍
Nklya
Конечно лучше спорить вместо чтения доки
John
не лучше. Одно другое не исключает ни разу
Александр
http://docs.ansible.com/ansible/latest/common_return_values.html#changed - одно из стандартных возвращаемых значений