@pro_ansible

Страница 499 из 625
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
а как ты устанавливаешь роль? ansible-galaxy install -r ./requirements.txt
Если так, то всё работат, но в той же статье ниже, написано. что можно и через мету

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
Но не денапически же ? А через ansible-galaxy install
Тоесть я не верно понимаю пример?

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 это не только галакси

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
В мете как раз лежит то что надо установить

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
Теперь стало яснее ?
Не очень. То есть, нужно всегда сначала запускать ansible-galaxy?

В Дженкинс добавьте сборку докер контейнера, запускайте плейбуку в нем где уже все депенды
Сейчас так и сделал, прямо через баш запускается галакси, requirements и т.д. всё работает. Но хочется реализацию проще.

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
А куда проще?
Чтобы не запускать ansible-galaxy каждый раз.

Vladimir
26.06.2018
11:34:10
У тебя каждый запуск чистый диск ?

без этих ролей ?

Если у тебя не персист стор то да надо каждый раз их скачивать

bebebe
26.06.2018
11:34:53
Чтобы не запускать ansible-galaxy каждый раз.
Ещё раз, соберите контейнер с ролями один раз и далее просто в нем запускайте

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
ансибл написан на простом питоне. открой исходники и увидишь что хочешь какую-то дикую дичь

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
Без всяких Дженкинсов.

Страница 499 из 625