Daniyar
Кто-нибудь подобное пилил?
Daniyar
wildfly, jboss
Александр
Сам не пилил, но спрошу: ты пробовал искать готовые роли или модули для управления WF?
Daniyar
Так этот модуль щимится по ssh, а у меня это дело запускается на gitlab ci при каждом коммите в gitlab, кроме ветки мастер
Daniyar
А в gitlab ci крутится докер контейнер
Daniyar
Докер контейнер поднимается из имэджа в артифактори, а допихивать в имедж кучу левого софта неохото, ведь артифактори тоже не резиновый
Александр
ты можешь держать в базовом контейнере только окружение, без твоих war/ear/jar
Александр
а эти *ar подкладывать в тома (volume)
Daniyar
в контейнере происходит только сборка приклада и юнит тесты, а из него непосредственно деплой на виртуалки через jboss-cli
Daniyar
пока на докер не переехали, поэтому чуть заморочка
Andrey
Andrey
Всем привет, ребят в общем сначала я не смог понять как сделать свою задачу на ансибл, в общем нахерачил питон-скрипт, который дёргает jboss-cli, получаю список деплойментов, пихаю это в список, в списке удаляю исключения типа ojdbc7 после через цикл for по списку раздеплоиваю весь оставшийся приклад, потом из папки собранных билдов копирую в папку оттуда war, ear, jar через ls получаю список, и провожу деплой по списку и после каждого деплоя проверяю в цикле появился ли приклад через jboss-cli, так соль в том, что в скрипте один ip везде прописан и мысля вытащить конфиг для добавления других серверов, но мне кажется я начал создавать велосипед и скорей всего это можно было сделать на ансибле, только не вкурю как
Так может есть для jboss, аналог wlst веблоджика? Мне кажется гораздо удобнее
Daniyar
Если у кого есть опыт с этим буду рад, если кто поделится
Aleksey
Andrew
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
Как мне выдернуть из группы эти айпишники?!
Dmitrii
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
но это не с работает, если нет фактов с хостов к которым не подключался еще
Dmitrii
Да. gather надо делать стабом в плейбуке без ролей
Константин
groups['app'] | join(',') в чем проблема то
Константин
не нужны никакие факты тут
Nazar
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
Ievgen
Даня
ребят, кто-нибудь разворачивал 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 - одно из стандартных возвращаемых значений