@pro_ansible

Страница 55 из 625
Semyon
06.09.2016
10:56:15
кури ansible.cfg
это сделал уже как бы

целый ансибл цфг ради одного холодца резать не хочется

Dmitry
06.09.2016
12:08:17
не пох ли, если в этом же репозитории лежит прям рядом с ролями

Dmitrii
06.09.2016
17:20:29
А при использовании модуля ec2 можно как то получить текущий контекст переменных для новых в которой идет выполнение?

Google
Magistr
06.09.2016
17:22:30
James
07.09.2016
08:05:13
ребята не бейте тапками, как в плейбуке сделать путь универсальным. есть с десяток серваков нужно копировать файл по пути /var/www/core.dynamicname как задать в плей буке такой путь аля /var/www/core.~%

Magistr
07.09.2016
08:06:40
dest="/var/www/core.{{ your-var }}"

James
07.09.2016
08:09:09
оо спасибо а что нужно в your-var писать?

ну типа у меня полное имя так /var/www/core.hostnam1

и вот это хостнейм и номер меняется

Magistr
07.09.2016
08:10:27
положи в переменную этот хостнейм или в словарь

в доках глянь циклы

James
07.09.2016
08:11:04
а у меня много хостов это что для каждого описывать надо?

Magistr
07.09.2016
08:11:38
ну да, хостнейм из инвентори можно взять как варинт

Semyon
07.09.2016
08:11:39
{{ ansible_host }} не подойдет тебе?

James
07.09.2016
08:18:12
нет не подойдет

Alex Milushev
07.09.2016
08:19:42
откуда Ты берешь этот хостнейм?

Google
Alex Milushev
07.09.2016
08:19:56
ну, если руками создавать, на основе чего создаешь?

??Dmitry????
08.09.2016
16:18:06
я могу в ансибле добавить хост в инвентори если у хоста нету ДНС?

только IP

Magistr
08.09.2016
16:19:49
можешь

Robert
08.09.2016
16:20:39
разрешаем

Александр
08.09.2016
16:21:07
Ещё и порт указать

А вообще в хостс примеры естт

Есть

??Dmitry????
08.09.2016
16:23:59
у меня нету

все одмины в отпуске, я один, спросить некого, примеров нет))

а все, у меня ролькакая-то навороченная, не хочет работать с хостом, что я только что добавил((((

простая роль, которую я сам раньше написал - работает нормально

пришлось чуть роль пофиксить

Semyon
12.09.2016
05:52:38
Пиздяночка

fatal: [default]: FAILED! => {"changed": false, "failed": true, "msg": "Error: docker-py version is 1.10.2. Minimum version required is 1.7.0."}

пофикшен два дня назад

??Dmitry????
12.09.2016
13:15:02
подскажите плз

есть роль

в ней вот такое вот

Google
??Dmitry????
12.09.2016
13:15:09
roles: - { role: java, tags: [ 'jre' ] } - { role: mysql, tags: [ 'install' ] }

но проблема в том, что когда я ее запускаю, то из роли java аыполняются таски с тэгом install

а мне это не надо

че делать?

lastsky
12.09.2016
13:16:45
а когда запускаешь - то пишешь что? --skip-tags=install?

??Dmitry????
12.09.2016
13:17:07
нет

мне надо выполнить тег инсталл для роли мускул

но не надо для роли ява

беда в том, что один и тот же тег есть в разных ролях

lastsky
12.09.2016
13:19:43
наследование тегов в ansible говорит, что если ты повесил тег на роль, то все таски в роли также получили этот тег.

http://docs.ansible.com/ansible/playbooks_tags.html

то есть, всё работает правильно. раздели теги на install_mysql и install_java

lastsky
12.09.2016
13:21:13
ну или вообще костыль: —skip-tags=jre

и тогда ни один таск из jre у тебя не выполнится.

??Dmitry????
12.09.2016
13:22:27
Ты крутой!

но я теперь не понимаю почему это помогло

—skip-tags=jre почему это запрещает выполнение тега инсталл?

lastsky
12.09.2016
13:27:37
ну ты же метишь всю роль тегом, вот так: role: java, tags: [ 'jre' ] и каждый таск роли java получает тег jre skip-tags говорит не выполнять таски (роли, плеи) в которых есть указанный тег. то есть ни один таск из роли jre не должен выполниться. если в роли mysql кстати есть тег jre внутри на каком-то таске - то тоже должен пройти мимо.

скомбинируй --tags=install --skip-tags=jre

??Dmitry????
12.09.2016
13:30:36
да, это помогло

Google
??Dmitry????
12.09.2016
13:30:42
спасибо

>и каждый таск роли java получает тег jre но в роли ява есть много тасков, некоторые из них имеют тэг как инсталл, так и жре

lastsky
12.09.2016
13:32:35
ну ты же задал только один tag в командной строке при выполнении плейбука, значит всё отработало по принципу “хотя бы одно совпадение”

??Dmitry????
12.09.2016
13:36:03
магия..

если есть роль для убунту, етсь какие-то общие рекомендациии, как ее переколдовать под дебиан?

Kuroi
13.09.2016
11:57:49
Но зачем?

Admin
ERROR: S client not available

lastsky
13.09.2016
12:46:23
поменять when: ansible_os_family == “Ubuntu” на when: ansible_os_family == "Debian”? :)

Pavel
13.09.2016
12:48:03
Ну как минимум в дебиане нету ppa

Если оттуда пакеты ставятся то надо поменять

Kuroi
13.09.2016
12:52:25
Ну как минимум в дебиане нету ppa
Что-то мешает его подключить как в убунте?

Александр
13.09.2016
12:53:15
Можно же просто or между ними сделать

when: ansible_os_family == “Ubuntu" or ansible_os_family == "Debian”

Pavel
13.09.2016
12:56:38
Что-то мешает его подключить как в убунте?
Мешает желание не смешивать разные инструменты из разных дистрибутивов. PPA подключаются из разных версий убунты (trusty, precise) и т.д. где гарантия что это все гладко заведется на дебиане?

??Dmitry????
13.09.2016
13:08:14
Лучше не трожь!
да все в порядке, запилил две роли, ща третью пилю

у нас гит, если даже и накосячу - все отследить можно

Stanislav
13.09.2016
13:09:26
пришлось чуть роль пофиксить
А версионирование? Dependency hell будет ;)

Google
Stanislav
13.09.2016
13:10:04
Закежь requirements.yml

??Dmitry????
13.09.2016
13:10:13
ставлю

Stanislav
13.09.2016
13:10:27
Или вы ansible-galaxy не юзаете?

??Dmitry????
13.09.2016
13:11:02
почему?

??Dmitry????
13.09.2016
13:12:08
я до такого еще не дошел

Stanislav
13.09.2016
13:13:25
When defined железно работает

В отличии от тэгов ;)

??Dmitry????
13.09.2016
13:15:29
а в чем проблема?

Stanislav
13.09.2016
13:16:03
http://stackoverflow.com/questions/22494070/ansible-using-extra-vars-for-conditional-includes

Вот пример

По-моему намного логичнее чем наследование тэгов работает

??Dmitry????
13.09.2016
13:18:25
и че там? как работает наследование тегов я вообще не понял :(

Stanislav
13.09.2016
13:46:59
Завтра на работе конкретный usecase покажу, почему мы отказались от тэгов и начали юзать extra vars как тэги ;)

Alibek
13.09.2016
14:42:00
условие в таске: - name: "cmake configure" command: chdir='{{ app_work_dir }}/{{ app_extract_dir }}/build' cmake -DCMAKE_INSTALL_PREFIX={{ app_install_prefix }} .. При выполнении: skipping: [test-candidat] => {"changed": false, "skip_reason": "Conditional check failed", "skipped": true} Куда копать?

снимается - натупил - объявил переменную, а ни в defaults, ни в playbook не прописал

Игорь
14.09.2016
12:38:43
Привет

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