J
нет не подойдет
Lex
откуда Ты берешь этот хостнейм?
Lex
ну, если руками создавать, на основе чего создаешь?
Lex
Dmitry
я могу в ансибле добавить хост в инвентори если у хоста нету ДНС?
Dmitry
только IP
Magistr
можешь
Mikhail
разрешаем
Александр
Ещё и порт указать
Александр
А вообще в хостс примеры естт
Александр
Есть
Dmitry
у меня нету
Dmitry
все одмины в отпуске, я один, спросить некого, примеров нет))
Dmitry
а все, у меня ролькакая-то навороченная, не хочет работать с хостом, что я только что добавил((((
Dmitry
простая роль, которую я сам раньше написал - работает нормально
Dmitry
пришлось чуть роль пофиксить
nvkv
Пиздяночка
nvkv
fatal: [default]: FAILED! => {"changed": false, "failed": true, "msg": "Error: docker-py version is 1.10.2. Minimum version required is 1.7.0."}
nvkv
пофикшен два дня назад
Dmitry
подскажите плз
Dmitry
есть роль
Dmitry
в ней вот такое вот
Dmitry
roles:
- { role: java, tags: [ 'jre' ] }
- { role: mysql, tags: [ 'install' ] }
Dmitry
но проблема в том, что когда я ее запускаю, то из роли java аыполняются таски с тэгом install
Dmitry
а мне это не надо
Dmitry
че делать?
Dima
а когда запускаешь - то пишешь что? --skip-tags=install?
Dmitry
нет
Dmitry
мне надо выполнить тег инсталл для роли мускул
Dmitry
но не надо для роли ява
Dmitry
беда в том, что один и тот же тег есть в разных ролях
Dima
наследование тегов в ansible говорит, что если ты повесил тег на роль, то все таски в роли также получили этот тег.
Dima
http://docs.ansible.com/ansible/playbooks_tags.html
Dima
то есть, всё работает правильно. раздели теги на install_mysql и install_java
Dima
ну или вообще костыль: —skip-tags=jre
Dima
и тогда ни один таск из jre у тебя не выполнится.
Dmitry
Ты крутой!
Dmitry
но я теперь не понимаю почему это помогло
Dmitry
—skip-tags=jre почему это запрещает выполнение тега инсталл?
Dima
ну ты же метишь всю роль тегом, вот так: role: java, tags: [ 'jre' ] и каждый таск роли java получает тег jre
skip-tags говорит не выполнять таски (роли, плеи) в которых есть указанный тег. то есть ни один таск из роли jre не должен выполниться. если в роли mysql кстати есть тег jre внутри на каком-то таске - то тоже должен пройти мимо.
Dima
скомбинируй --tags=install --skip-tags=jre
Dmitry
да, это помогло
Dmitry
спасибо
Dmitry
>и каждый таск роли java получает тег jre
но в роли ява есть много тасков, некоторые из них имеют тэг как инсталл, так и жре
Dima
ну ты же задал только один tag в командной строке при выполнении плейбука, значит всё отработало по принципу “хотя бы одно совпадение”
Dmitry
магия..
Dmitry
если есть роль для убунту, етсь какие-то общие рекомендациии, как ее переколдовать под дебиан?
Artem
Но зачем?
Dima
поменять when: ansible_os_family == “Ubuntu” на when: ansible_os_family == "Debian”? :)
Pavel
Ну как минимум в дебиане нету ppa
Pavel
Если оттуда пакеты ставятся то надо поменять
Александр
Александр
Можно же просто or между ними сделать
Александр
when: ansible_os_family == “Ubuntu" or ansible_os_family == "Debian”
Pavel
Что-то мешает его подключить как в убунте?
Мешает желание не смешивать разные инструменты из разных дистрибутивов. PPA подключаются из разных версий убунты (trusty, precise) и т.д. где гарантия что это все гладко заведется на дебиане?
Stanislav
Dmitry
у нас гит, если даже и накосячу - все отследить можно
Stanislav
Stanislav
Закежь requirements.yml
Dmitry
ставлю
Stanislav
Или вы ansible-galaxy не юзаете?
Dmitry
почему?
Stanislav
Dmitry
я до такого еще не дошел
Stanislav
When defined железно работает
Stanislav
В отличии от тэгов ;)
Stanislav
Dmitry
а в чем проблема?
Stanislav
http://stackoverflow.com/questions/22494070/ansible-using-extra-vars-for-conditional-includes
Stanislav
Вот пример
Stanislav
По-моему намного логичнее чем наследование тэгов работает
Dmitry
и че там? как работает наследование тегов я вообще не понял :(
Stanislav
Завтра на работе конкретный usecase покажу, почему мы отказались от тэгов и начали юзать extra vars как тэги ;)
Alibek
условие в таске:
- 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}
Куда копать?
Alibek
снимается - натупил - объявил переменную, а ни в defaults, ни в playbook не прописал
Anonymous
Привет
Anonymous
Кто знает чатик про Chef?