@pro_ansible

Страница 547 из 625
Andrey
13.08.2018
22:33:50
без этого у меня на centos уходит в себя если есть пакеты, которые нужно собирать.

Andrey
13.08.2018
22:38:53
https://github.com/ansible/ansible/issues/29255 вот отсюда предпоследний ответ это, не вникал, может есть что-то нормальнее.

Google
Constantin
13.08.2018
22:41:18
https://github.com/ansible/ansible/issues/29255 вот отсюда предпоследний ответ это, не вникал, может есть что-то нормальнее.
Судя по тому, что таск бага закрыли без решения, думаю не скоро починят. Спасибо большое за помощь!

Andrey
13.08.2018
22:42:41
не подскажете, как принято?

подскажите пожалуйста, как принято генерировать конфиги для сервисов из yaml данных или класть шаблон и использовать template? в старых книжках и примерах я видел шаблонизацию конфиг файлов, а вот сейчас в ролях постоянно встречаю генерацию конфига на основе переменных, без шаблона. Есть какое-то устоявшееся мнение как стоит делать?

Constantin
13.08.2018
22:45:59
подскажите пожалуйста, как принято генерировать конфиги для сервисов из yaml данных или класть шаблон и использовать template? в старых книжках и примерах я видел шаблонизацию конфиг файлов, а вот сейчас в ролях постоянно встречаю генерацию конфига на основе переменных, без шаблона. Есть какое-то устоявшееся мнение как стоит делать?
У меня конфиги в JSON, и я их в большинстве своем собираю из темплейтов. Проблем с этим не встречал. C yml наверно тоже можно спокойно не париться и делать темплейтами, главное смотрите, чтобы jinja не наделал лишних отступов, он это может

Andrey
13.08.2018
22:47:04
ясно, спасибо.

Constantin
13.08.2018
22:47:55
А так, если плэйбук легко читать, легко поддерживать и вам комфортно с ним работать, можно использовать то, что нравится, и не deprecated в будущем, в самом Ansible

Alex
13.08.2018
22:50:59
подскажите пожалуйста, как принято генерировать конфиги для сервисов из yaml данных или класть шаблон и использовать template? в старых книжках и примерах я видел шаблонизацию конфиг файлов, а вот сейчас в ролях постоянно встречаю генерацию конфига на основе переменных, без шаблона. Есть какое-то устоявшееся мнение как стоит делать?
по ситуации. если нужно менять сразу много параметров - их проще шаблонизировать через jinja. если 1-2 параметра, можно lineinfile. но например для изменения конфигов опенстека мне вообще очень подошел ini_file модуль, удобно менять параметры такой вот таской - name: Populate cinder config file ini_file: path: /etc/cinder/cinder.conf section: "{{ item.section }}" option: "{{ item.option }}" value: "{{ item.value }}" with_items: - { section: "database", option: "connection", value: "mysql+pymysql://cinder:{{ os_cinder_mysql_password }}@controller/cinder" } - { section: "DEFAULT", option: "transport_url", value: "rabbit://openstack:{{ os_env_rabbitmq_openstack_password }}@controller" } - { section: "DEFAULT", option: "auth_strategy", value: "keystone" } - { section: "keystone_authtoken", option: "auth_uri", value: "http://controller:5000" } - { section: "keystone_authtoken", option: "auth_url", value: "http://controller:5000" } - { section: "keystone_authtoken", option: "memcached_servers", value: "controller:11211" }

единственный на мой взгляд недостаток шаблонов jinja для конфигов - можно упустить добавление какого-то нового параметра в конфиге с выходом новой версии пакета и не учесть это в шаблоне

Andrey
13.08.2018
22:58:50
ясно спасибо.

Денис
14.08.2018
11:45:49
всем привет, нужен совет, опыта пока маловато. разворачиваю виндовую машину из образа (пакер + терраформ), в этот момент на ней настроен winrm без шифрования, ансиблом хочу ввести в домен, и чтобы групповые политики настроили winrm на керберос (на сколько я понял, ансибл без костылей не настроит winrm). Возникает проблема, что модуль win_reboot успешно загоняет машину в ребут, а получить инфу о её поднятии не может (потому что тип подключения изменился при старте машины). В итоге ошибка, и плейбук ломается. Как лучше это решить? Пока думал над такими вариантами: - ввести в домен, а winrm настроить через костыль а не гпо (например, scheduled task) - ввести в домен, перезагрузить просто через powershell (тогда непонятно по ожиданию сколько ставить) - игнорировать ошибку модуля win_reboot (та же проблема с таймаутом) - Настроить гпо на определенную группу в домене, ввести в домен (не применяя пока настройки winrm), перезагрузить, запустить следующий таск с уже нормальными параметрами подключения, добавить хост в группу в AD, применить групповую политику. Последний вариант кажется мне наименее костыльным. Может кто делал уже подобное, и есть более красивый способ? Возможно на более ранних этапах что-то поменять (но планирую упарвлять все равно доменным пользователем)

Natalia
14.08.2018
12:05:07
привет. а какая у тебя цель? если подключение виндовых машинок к ансиблу и настройка winrm, то можно написать powershell скриптик на всю эту беду. для Authentication Options CredSSP никакие костыли не понадобились

Денис
14.08.2018
12:07:00
цель ввести машину в домен, ну и потом деплоить приложение На момент первого подключения ансибла там winrm уже настроен, проблема в том, что после входа в домен, меняются настройки winrm

Google
Денис
14.08.2018
12:08:08
из-за того что меняются настройки winrm, падает модуль win_reboot, потому что он начинает работать, когда включена basic authentication, а должен закончить, когда есть только керберос

точнее даже не так, получается цель: зайти на машину локальным пользователем, ввести машину в домен, перезагрузить чтобы изменения вступили в силу, поменять настройки winrm, дальше ходить всегда доменным пользователем

проблема на этапе перезагрузки, приходится какие-то костыли придумывать

Mikhail
14.08.2018
12:13:16
всем привет, нужен совет, опыта пока маловато. разворачиваю виндовую машину из образа (пакер + терраформ), в этот момент на ней настроен winrm без шифрования, ансиблом хочу ввести в домен, и чтобы групповые политики настроили winrm на керберос (на сколько я понял, ансибл без костылей не настроит winrm). Возникает проблема, что модуль win_reboot успешно загоняет машину в ребут, а получить инфу о её поднятии не может (потому что тип подключения изменился при старте машины). В итоге ошибка, и плейбук ломается. Как лучше это решить? Пока думал над такими вариантами: - ввести в домен, а winrm настроить через костыль а не гпо (например, scheduled task) - ввести в домен, перезагрузить просто через powershell (тогда непонятно по ожиданию сколько ставить) - игнорировать ошибку модуля win_reboot (та же проблема с таймаутом) - Настроить гпо на определенную группу в домене, ввести в домен (не применяя пока настройки winrm), перезагрузить, запустить следующий таск с уже нормальными параметрами подключения, добавить хост в группу в AD, применить групповую политику. Последний вариант кажется мне наименее костыльным. Может кто делал уже подобное, и есть более красивый способ? Возможно на более ранних этапах что-то поменять (но планирую упарвлять все равно доменным пользователем)
Там таймаут можно ставить и количество попыток

Денис
14.08.2018
12:13:35
ну он никогда не подключится, он же пытается все еще с basic, а он там уже выключен

Mikhail
14.08.2018
12:14:05
ну он никогда не подключится, он же пытается все еще с basic, а он там уже выключен
А. Слушай, я в шаблон виртуалки просто добавил настройку winrm при запуске

Денис
14.08.2018
12:14:06
я же не могу в середине выполнения модуля поменять ему настройки?

Maksim
14.08.2018
12:14:37
до ввода в домен всё ставить

Денис
14.08.2018
12:14:38
ну вот я тоже, только у меня в шаблоне как раз basic стоит, а после ввода в домен надо посекурней сделать

Maksim
14.08.2018
12:14:42
или накатывать через gpo

Mikhail
14.08.2018
12:15:11
до ввода в домен всё ставить
Не всегда так получается.

Maksim
14.08.2018
12:15:28
тогда gpo

иначе ССЗБ

Денис
14.08.2018
12:16:03
тогда gpo
именно winrm? ну я так и делаю, вопрос как аккуратно победить ошибку модуля ребута

Mikhail
14.08.2018
12:16:19
Денис
14.08.2018
12:17:27
Как вариант могу только костыль предложить
возможно он будет аккуратнее моего :)

Mikhail
14.08.2018
12:17:43
возможно он будет аккуратнее моего :)
Скрипт запускается на локальной машине с ансиблом

Вводит виндовую тачку в домен и настраивает винрм

Google
Mikhail
14.08.2018
12:18:25
Ансибл продолжает работу уже на удаленной тачке

Все в одном плэйбуке

По одному клику

Денис
14.08.2018
12:19:59
спасибо, попробую подумать в эту сторону, может получше будет

Udjin
14.08.2018
12:27:54
Парни, чёт я уже обгуглился вот такой таск - name: Getting current ruby version raw: "ruby -v" register: current_ruby_ver changed_when: true == false ignore_errors: true - name: Downloading ruby v.{{ruby_version}} archive get_url: dest: "/home/{{user}}/" url: "http://cache.ruby-lang.org/pub/ruby/{{major_ruby_version}}/ruby-{{ruby_version}}.tar.gz" when: current_ruby_ver.stdout is not defined or 'ruby {{ruby_version}}' not in current_ruby_ver.stdout оно работает но [WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: current_ruby_ver.stdout is not defined or 'ruby {{ruby_version}}' not in current_ruby_ver.stdout как красивее можно?

я так и не нашёл как можно задавать условие when без 'ruby {{ruby_version}}'

Kirya
14.08.2018
12:36:11
всем ку

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

Duke™
14.08.2018
13:00:11
Пока только так

Nikolai
14.08.2018
14:15:32
Всем привет Подскажите, есть ли такой же скрипт, только для GCE https://docs.ansible.com/ansible/2.5/user_guide/intro_dynamic_inventory.html#example-aws-ec2-external-inventory-script

не могу найти

Nklya
14.08.2018
14:17:35
Куча скриптов инвентори в репе лежит, в том числе гугловый https://github.com/ansible/ansible/blob/stable-2.6/contrib/inventory/gce.py

Nikolai
14.08.2018
14:18:51
ага, спасибо

Udjin
14.08.2018
14:22:06
Dovnar
14.08.2018
14:38:34
а вот тут, никто не подскажет?
Почитать документацию для начала

Фамилию
14.08.2018
14:39:14
roles: - geerlingguy.java - geerlingguy.nginx - geerlingguy.elasticsearch - geerlingguy.elasticsearc

Udjin
14.08.2018
14:39:26
Фамилию
14.08.2018
14:39:44
Что не нравится в синтаксисе?

Dovnar
14.08.2018
14:42:33
ммм, ты серьёзно?)
Да. This is easy to do in Ansible with the whenclause, which contains a raw Jinja2 expression without double curly braces (see Variables). 

Google
Udjin
14.08.2018
14:43:25
оно ошибку синтаксиса выдаёт если я уберу курли брейсес

я бы не пошёл сюда спрашивать

я ж написал

Парни, чёт я уже обгуглился

Dovnar
14.08.2018
14:44:34
оно ошибку синтаксиса выдаёт если я уберу курли брейсес
Посмотри в сторону конкатизации строк

Vadim
14.08.2018
14:44:41
name: "Downloading ruby v.{{ruby_version}} archive"

Admin
ERROR: S client not available

Udjin
14.08.2018
14:45:14
конкатизации конкатенации может?

Dovnar
14.08.2018
14:46:19
Udjin
14.08.2018
14:46:54
да может я чегото не знаю)

Dovnar
14.08.2018
14:49:29
Может добавить role: перед каждой ролью?

Фамилию
14.08.2018
14:50:19
А что хоть за ошибка?
Пишет ошибка синтаксиса Как обычно отступ но где я уже по разному перепробовал

Dovnar
14.08.2018
14:51:59
Немногое прояснилось

Nklya
14.08.2018
14:57:09
В последней строке неполное имя роли

Nikolai
14.08.2018
15:04:28
Ничего не могу понять При запуске GCE-inventory (contrib/inventory) выдает что не установлена библиотека ./gce.py --list GCE inventory script requires libcloud >= 0.13 хотя по факту установлена pip list |grep libcloud apache-libcloud 2.3.0 какую ему libcloud нужно установить? (платформа mac)

Udjin
14.08.2018
15:05:19
Суть понятна главное
короче я так и не понял в доках же - не переменная. А у меня переменная

Google
Udjin
14.08.2018
15:06:30
я могу написать типа - (ruby == "2.4") но это глупо

Nikolai
14.08.2018
15:06:56
хм, т.е. ему надо переменную окружения какую-то подсунуть?

Nklya
14.08.2018
15:10:07
Еще такое на макоси часто бывает, там много разных питонов есть

Fedor
14.08.2018
15:11:41
в первой строчке скрипта какой питон указан?

Nikolai
14.08.2018
15:17:57
в скрипте прописан #!/usr/bin/env python в системе python --version Python 2.7.10

щас попробую на 3-ку переключить

нет, не проканало

бред какой-то

Dmitriy
14.08.2018
15:24:19
Окружения посмотри

Nikolai
14.08.2018
15:25:43
pip -V pip 18.0 from /usr/local/lib/python2.7/site-packages/pip (python 2.7) gce.py юзает env python а значит такую же версию

Dmitriy
14.08.2018
15:28:59
pip -V pip 18.0 from /usr/local/lib/python2.7/site-packages/pip (python 2.7) gce.py юзает env python а значит такую же версию
Хз, я бы попробовал посмотреть окружения https://docs.ansible.com/ansible/2.5/reference_appendices/faq.html как варик написать pip install ansible, но если уверенность в том что все ок, то ок

Nikolai
14.08.2018
15:29:44
> pip install ansible ансибл так и установлен в данный момент

Dmitriy
14.08.2018
15:31:03
Whereis ansible?

alex
14.08.2018
15:49:26
locate ansible

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