
Vladimir
26.06.2018
11:15:54
Вот так это работает

Pavel
26.06.2018
11:15:57
Ну в документации же написано, что можно подгружать из гита?

Nklya
26.06.2018
11:16:29
вот так выглядит инфра репа, в которую подгружаются внешние роли из requirements.yml, в котором в свою очередь указано откуда брать роли
https://github.com/cndies/ansible-repo-example

Pavel
26.06.2018
11:16:47
А не понял тогда, а где ссылка на git например?

Google

Vladimir
26.06.2018
11:17:05
А где написано что можно из гита подгружать ? оО
Я может что то упустил

Pavel
26.06.2018
11:17:27
https://galaxy.ansible.com/intro
Да вот

bebebe
26.06.2018
11:17:41
а как ты устанавливаешь роль?
ansible-galaxy install -r ./requirements.txt

Vladimir
26.06.2018
11:18:04
А ты точно прочитал ? ))))

Pavel
26.06.2018
11:18:12

Vladimir
26.06.2018
11:18:25
Advanced Downloading это походу то что ты пытаешься делать ...

Pavel
26.06.2018
11:18:43
Хорошо, вот ещё
https://docs.ansible.com/ansible/latest/reference_appendices/galaxy.html?highlight=galaxy

Nklya
26.06.2018
11:19:21
конечно можно вытаскивать роли из гит реп

Pavel
26.06.2018
11:19:32
The complex form can also be used as follows:
dependencies:
- src: geerlingguy.ansible
- src: git+https://github.com/geerlingguy/ansible-role-composer.git
version: 775396299f2da1f519f0d8885022ca2d6ee80ee8
name: composer
И не работает(

Vladimir
26.06.2018
11:19:48
Но не денапически же ? А через ansible-galaxy install

Google

Pavel
26.06.2018
11:20:14

Vladimir
26.06.2018
11:20:27
Похоже да

Pavel
26.06.2018
11:21:04
И вот эти https://docs.ansible.com/ansible/latest/reference_appendices/galaxy.html?highlight=galaxy#dependencies

Vladimir
26.06.2018
11:21:06
Там ты просто указываешь насколько я сам понимаю(может и не так) откуда брать роль и он пройдется если надо по депенденсам и скачает их

Pavel
26.06.2018
11:21:08
Это не те зависимости?
Там прямо про meta/main.yml написано

Vladimir
26.06.2018
11:22:23
Ну допустим у тебя роль mysql зависит от другой роли другого человека и работает в паре с ней, тогда ты говоришь от чего она зависит
Но роли в любом случае надо скачать

Pavel
26.06.2018
11:23:30
Тогда могу лишь одно предположить, что сбивает с толку структура, а выполняться этот ямлик долен не ansible-playbook, a ansible-galaxy. Но как-то сомнительно, опять же. Он что, должен сначало пройтись по зависимостям, а потом ещё раз уже отработать?

Vladimir
26.06.2018
11:23:48
Стоп стоп
Вот смотри, ansible-galaxy это инструмент для того что бы скачивать роли и делиться через сайт galaxy.ansible.com

Pavel
26.06.2018
11:24:25
То есть всегда, сначала скачать, потом выполниться?

Nklya
26.06.2018
11:24:41
ansible-galaxy это не только галакси

Pavel
26.06.2018
11:24:59

Vladimir
26.06.2018
11:25:02
ansible-playbook это инструмет что бы выполнять эти роли !которые лежат в каталоге roles/ у тебя на машине где ты запускаешь ансибл
Ну там можно указать свой репозиторий
Это ничего сильно не меняет
Считай это как git и github

Pavel
26.06.2018
11:25:44
Я так и сделал жеж

Google

Vladimir
26.06.2018
11:25:54
Но код не будет выполняться на github.com

Pavel
26.06.2018
11:26:07
Ну да.
Мне нужно, чтобы он скачался и выполнился. И желательно в один присест.

Vladimir
26.06.2018
11:26:25
Ну так это все надо что бы скачать
У тебя не может быть роли в плейбуке с урлом

Pavel
26.06.2018
11:26:55
https://docs.ansible.com/ansible/latest/reference_appendices/galaxy.html?highlight=galaxy#dependencies
Тогда о чём речь в этой статье?

Vladimir
26.06.2018
11:27:10
ansible-galaxy install myrole.txt && ansilbe-playbook $playbook_name
Я же тебе сказал

Pavel
26.06.2018
11:28:00
Так они пишуте не о "myrole.txt" же, а о "meta/main.yml"

bebebe
26.06.2018
11:28:08

Vladimir
26.06.2018
11:28:35
Есть роль vasy.iptables есть твоя крутая роль me.mysql, и ей нужно настроить iptables тоже, так вот ты говоришь что твоя роль зависит от вася.айпитейблс и ее тоже надо скачать

Pavel
26.06.2018
11:28:41
Я же тебе сказал
В формате "ansible-galaxy install myrole.txt && ansilbe-playbook $playbook_name" работает без проблем.

Vladimir
26.06.2018
11:29:17
В мете как раз лежит то что надо установить

Pavel
26.06.2018
11:29:18

Vladimir
26.06.2018
11:29:23
В дополнение к этой роле!

Pavel
26.06.2018
11:29:28
И ссылка на GIT?

Vladimir
26.06.2018
11:29:45
Да

Pavel
26.06.2018
11:29:50

bebebe
26.06.2018
11:30:06

Vladimir
26.06.2018
11:30:15
И когда другой человек будет качать твою роль он еще к ней сразу будет скачивать все зависимости

Google

bebebe
26.06.2018
11:30:21
Докер? Из хост системы?

Pavel
26.06.2018
11:30:38

Vladimir
26.06.2018
11:31:04
Теперь стало яснее ?

Pavel
26.06.2018
11:31:05
Это не важно. Иногда в докере, но не в этом случае

bebebe
26.06.2018
11:31:24

Pavel
26.06.2018
11:31:55

bebebe
26.06.2018
11:33:32

Vladimir
26.06.2018
11:33:38
Еще раз, ansible-galaxy нужен для менеджмента ролей, установки в место где ты их будешь запускать, он умеет !скачивать роли !загружать на удаленный репозиторий и тп, он их не запускает

Admin
ERROR: S client not available

Vladimir
26.06.2018
11:33:57
А зачем ты их каждый раз загружаешь ?

Pavel
26.06.2018
11:33:58

Vladimir
26.06.2018
11:34:10
У тебя каждый запуск чистый диск ?
без этих ролей ?
Если у тебя не персист стор то да надо каждый раз их скачивать

bebebe
26.06.2018
11:34:53

Vladimir
26.06.2018
11:34:56
А если это на твоей локальной машине то достаточно 1 раз запустить

Pavel
26.06.2018
11:35:08
А зачем ты их каждый раз загружаешь ?
Дженкинс при каждом запуске создаёт новое виртуальное окружение, с необходимыми версиями, зависимостями, питоном и т.д. Потом скачивает нужную ветку и версию из локального гита. И т.д.

Vladimir
26.06.2018
11:35:10
А дальше играть плейбуки
А нахер тебе гелакси тогда ?!?!?

Google

Vladimir
26.06.2018
11:35:42
Если он и так из гита берет все что тебе надо

Pavel
26.06.2018
11:36:12
А нахер тебе гелакси тогда ?!?!?
Есть несколько ветов, в которых подтягивается одно и то же создание кластера БД, которая должна меняться не зависимо от изменений этих веток.

bebebe
26.06.2018
11:36:12
тут проблемы не с ansible, а с процессом имхо

Vladimir
26.06.2018
11:36:25
Тут проблема непонимания походу
Гелакси это такой же репозиторий как и твой гит

bebebe
26.06.2018
11:36:49

Vladimir
26.06.2018
11:37:01
Если все твои роли лежат в твоем гите, и дженкинс их сам скачивает то зачем тебе гелакси ?

Pavel
26.06.2018
11:37:32
Ребят, есть такая задача. В документации описана её реализация. Она реально всем поможет жить если заработает. Если нет, очень жаль, но нет так нет.

Vladimir
26.06.2018
11:38:07
А в чем проблема ?
У тебя для твоих ролей отдельный репозиторий же так ?

Pavel
26.06.2018
11:38:35
Так

Nklya
26.06.2018
11:38:37
ансибл написан на простом питоне. открой исходники и увидишь что хочешь какую-то дикую дичь

Pavel
26.06.2018
11:38:55

Vladimir
26.06.2018
11:38:57
Я просто с дженскинсом не работал, но разве ты не можешь описать в нем какую ветку тебе брать всегда ?
Да то что он говорит это задача для CI CD а не для ансибла

Pavel
26.06.2018
11:40:26

Vladimir
26.06.2018
11:40:29
Вопрос персистенса в системе версионирования в этом же проблема ? Или Я чего то уже не понимаю и запутался

Pavel
26.06.2018
11:41:02
Если есть встроенная возможность в Ансибл, почему ею не воспользоваться?
Мне тем и понравился Галакси, что один гит код может при запуске подгружать код из другого гита.

Vladimir
26.06.2018
11:41:45
Ну тогда ansible-galaxy install всегда

Pavel
26.06.2018
11:41:48
Без всяких Дженкинсов.