
Semyon
06.09.2016
10:56:15
целый ансибл цфг ради одного холодца резать не хочется

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

Александр
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) и т.д. где гарантия что это все гладко заведется на дебиане?

Stanislav
13.09.2016
13:07:51

??Dmitry????
13.09.2016
13:08:14
у нас гит, если даже и накосячу - все отследить можно

Stanislav
13.09.2016
13:09:26

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
почему?

Stanislav
13.09.2016
13:11:57

??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
Привет