@pro_ansible

Страница 509 из 625
jidckii
10.07.2018
08:45:54
господа подскажите, почему ансибл меняет кавычки и как этого избежать?

передаю env при деплое докер контейнера

и ансибл меняет " " на ' '

вход: - name: Install consul in docker include_role: name: consul vars: consul_container_options: recreate: "yes" env: CONSUL_BIND_INTERFACE: "eth1" CONSUL_LOCAL_CONFIG: { "skip_leave_on_interrupt": true } command: ["agent", "-server", "-bootstrap-expect=3", "-client=0.0.0.0"] tags: ["consul"]

Google
jidckii
10.07.2018
08:47:26
выход : docker inspect -f '{{ .Config.Env }}' consul [CONSUL_LOCAL_CONFIG={'skip_leave_on_interrupt': True} CONSUL_BIND_INTERFACE=eth1 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin CONSUL_VERSION=1.2.0 HASHICORP_RELEASES=https://releases.hashicorp.com]

так как по сути это JSON парсер ругается на не валидность и консул собственно не стартует

Sergey
10.07.2018
09:00:56
господа подскажите, почему ансибл меняет кавычки и как этого избежать?
Только потому, что ты НЕ передаёшь ему никаких кавычек. Ты передашь список (квадартные скобки), закавычивая элементы списка. В сами элементы списка кавычки, естественно, не входят.

Так же, как и в названия ключей в словарях (фигурные скобки).

jidckii
10.07.2018
09:02:59
так а как правильно то сделать ?

что бы это CONSUL_LOCAL_CONFIG: { "skip_leave_on_interrupt": true } не превращалось в это [CONSUL_LOCAL_CONFIG={'skip_leave_on_interrupt': True}

Sergey
10.07.2018
09:06:52
тебе нужен JSON - так об этом и скажи ансиблу, там же у Jinja есть фильтр специальный to_json

ShadoWalkeR
10.07.2018
10:13:58
Господа, нужна помощь. Ансиблом раскатывают хост. Часть пакетов ставится, часть нет через модуль apt. Ошибка всегда: "dpkg: warning: 'ldconfig' not found in PATH or not executable", "dpkg: warning: 'start-stop-daemon' not found in PATH or not executable", "dpkg: error: 2 expected programs not found in PATH or not executable", "Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin" Сделал echo PATH там /sbin нет, но если я залогинюсь под собой и сделаю sudo - $PATH нормальный. Плейбук вызываю с ключом —become

ShadoWalkeR
10.07.2018
10:18:22
https://help.ubuntu.com/community/EnvironmentVariables
Это не объясняет почему он часть пакетов поставил

cent
10.07.2018
10:19:46
Это не объясняет почему он часть пакетов поставил
Ставится от разных юзверей? Где-то become=root, а где-то другой пользователь?

ShadoWalkeR
10.07.2018
10:20:15
Все установки в рамках одного плейбука выполняются

Sergey
10.07.2018
10:21:02
Это не объясняет почему он часть пакетов поставил
Объясняет. У тебя же в выхлопе написано, что части пакетов требуется всякая фигня в скриптах, которую система нифига не находит.

Google
ShadoWalkeR
10.07.2018
10:21:14
В том то и дело, что они есть

Sergey
10.07.2018
10:21:31
ShadoWalkeR
10.07.2018
10:21:52
И ldconfig и start-stop-daemon которые он найти не может

Sergey
10.07.2018
10:22:43
для того сочетания uid/gid/переменных окружения, которые получаются в момент установки пакета - не может.

Pavel
10.07.2018
10:35:04
для того сочетания uid/gid/переменных окружения, которые получаются в момент установки пакета - не может.
... еще и параметры подключения к удаленному хосту могут свое накладывать

Alexander
10.07.2018
11:08:34
Как описать джинжа шаблон,4 надо чтобы он вхял все файлы из директории, и в шаблон подставить первым словом имя этого файла, и чернз пробел содержимое файла. Список файлов я получаю и имя вывожу, не могу понять как рядом содержимое подставить

Alexander
10.07.2018
11:21:40
https://docs.ansible.com/ansible/2.5/plugins/lookup/file.html
Я это видел. Но он когда проходит по файлам, каждый раз конечный файл перезаписывсет

eucariot
10.07.2018
12:35:39
Привет. Подскажите, в новом ansible 2.6 для коннекта к huawei какой использовать Connection? network_cli требует указания OS, но Huawei там нет. Local - пытается подконнектиться, как я понимаю, к хосту, но точно не лезе по ssh.

Sergey
10.07.2018
12:38:31
Я это видел. Но он когда проходит по файлам, каждый раз конечный файл перезаписывсет
Это фильтр лукапа - он не может перезаписывать ничего, он только читает.

eucariot
10.07.2018
12:49:40
Привет. Подскажите, в новом ansible 2.6 для коннекта к huawei какой использовать Connection? network_cli требует указания OS, но Huawei там нет. Local - пытается подконнектиться, как я понимаю, к хосту, но точно не лезе по ssh.
Хотя вопрос, наверно, другой. При попытке поставить ssh/paramiko_ssh он все свои дела выполняет, но сессию не закрывает - так и висит. Как заставить?

Vladimir
10.07.2018
15:41:22
привет, народ помогите понять, как быть с шаблоном? уменя используются хостварсы в которых параметры домена один из параметров webroot чтобы указать нестандартный home для vhost-а соответственно логика в шаблоне vhost-а {% if "{{ item.webroot }}" %} DocumentRoot /var/www/html/{{ item.webroot }} {% else %} DocumentRoot /var/www/html/default {% endif %} но не работает. всегда отрабатывается первый вариант в шаблонизатор отдается дикт (item={u'webroot': None, u'email': u'alex@alch.com', u'name': u'lve'}) перепробованs варианты: {% if "{{ item.webroot }}" is defined %} {% if "{{ item.webroot }}" != '' %} {% if "{{ item.webroot }}" != None %} понятно что is defined проверяет переден ли такой параметр и предохраняет от отсутствия его, а как быть если он есть, но пустой?

Sergey
10.07.2018
15:46:11
не стоит заниматься странным: {{ item.webroot | default('default') }} вывозит

Vladimir
10.07.2018
15:46:54
и правдв странным )) спасибо )

Sergey
10.07.2018
15:47:30
Vladimir
10.07.2018
15:53:31
а где подробно можно прочитать? кажется оно считает что значение есть - подставляет пустое значение

Sergey
10.07.2018
15:55:55
Ну и да - у тебя не просто значение, а значение, хранящееся по ключу в словаре.

а, всё верно, туплю уже к вечеру.

Vladimir
10.07.2018
16:16:15
Не нашел подходящего ((

Google
Alex
10.07.2018
16:32:52
https://github.com/ansible/ansible/issues/7984

Vladimir
10.07.2018
17:49:48
все равно не работает предлагается делать так: {% if foo is defined and foo %} но вот так не работает {% if "{{ item.webroot }}" is defined and "{{ item.webroot }}" %} (без кавычек вылетает с руганью на синтаксис)

fck.... убрал фигурные скобки из проверки, сработало

рабочий варик {% if item.webroot is defined and item.webroot %} DocumentRoot /var/www/html/{{ item.webroot }} {% else %} DocumentRoot /var/www/html/default {% endif %}

Alexander
11.07.2018
05:31:17
Хотя вопрос, наверно, другой. При попытке поставить ssh/paramiko_ssh он все свои дела выполняет, но сессию не закрывает - так и висит. Как заставить?
Если включен ssh multiplexing - это нормально. Надо смотреть в значения ControlPersist либо руками закрывать мастер: ssh -O stop hostname

Vladimir
11.07.2018
06:30:02
в продолжение темы с отдельным web root folder в шаблон запихано, отрабатывает т.е. у меня для хоста есть хоствар sites: - email: mail.server.com name: domain.name webroot: web_folder в таске проверяется так: - name: Creating subdomain folders file: path=/var/www/html/{{ item.webroot }} state=directory with_items: - "{{ sites }}" when: item.webroot is defined отрабатывает норм даже если вебрут есть, но пустой создает только те у которых есть значение

ShadoWalkeR
11.07.2018
07:15:44
Господа, а как в переменной забэкслэшить спецсимволы?

Dovnar
11.07.2018
07:16:18
обратным слешем )

не понятен до конца вопрос

ShadoWalkeR
11.07.2018
07:17:14
Ну у меня есть переменная, в которую попадает символ !. Как мне его забэкслешить?

Alexander
11.07.2018
07:19:06
одинарные кавычки?

ShadoWalkeR
11.07.2018
07:19:18
Пробовал - не очень работает

Если добавляю \! то ансибл превращает это в \\!

eucariot
11.07.2018
07:38:28
А что делать, когда ансибл ргуается так: "msg": "Could not find imported module support code for ce_command. Looked for either ComplexList.py or utils.py"

ShadoWalkeR
11.07.2018
07:56:47
Вот это дичь. Если на диске есть уже гит репозиторий то модуль гит с —check опцией падает с ошибкой. Если нет репозитория, то он отрабатывается ок. Без —check он отрабатывается независимо от наличия репозитория. Логичный вывод что в режиме —check он не может делать update вместо clone...

inqfen
11.07.2018
09:45:40
всем привет

Глупый вопрос

Как в with_items list засунуть?

Google
Albert
11.07.2018
09:46:43
А ты ман по loop читал?

inqfen
11.07.2018
09:46:47
Типа list: ['1', '2'] - name: test shell: echo {{ item }} with_items: {{ list }}

Robert
11.07.2018
09:46:53
with_items: - {{ list }}

Albert
11.07.2018
09:47:06
inqfen
11.07.2018
09:47:13
о, внезапно

Спасибо

Это я от балды написал

Admin
ERROR: S client not available

Sergey
11.07.2018
10:08:19
with_items: - {{ list }}
так ты передашь список, первым элементом которого является искомый спсиок.

Maksim
11.07.2018
12:18:46
Привет Как вы относитесь к include в ролях ?

Artem
11.07.2018
12:18:59
Люблю

Maksim
11.07.2018
12:19:08
В чем прикол ?

Роль на подроли разделять ?

Artem
11.07.2018
12:19:24
Не люблю партянки

Сергей
11.07.2018
12:20:07
Привет Как вы относитесь к include в ролях ?
в роли в таске main файл в который инклюдятся файлы исходя из окружения допустим

ну отдельны йдля редхата, от дельно для дебиана или другой вариант разделения

Maksim
11.07.2018
12:21:58
не совсем понимаю зачем люди мешают классический yaml и однострочные портянки

- name: Disable SELinux selinux: state: disabled - name: disbale on firewalld on boot service: name=firewalld enabled=no

Nklya
11.07.2018
12:22:41
потому что они не знают что это плохо

Vadim
11.07.2018
12:23:12
тяжелое наследие царского режима

Google
Dmitry
11.07.2018
12:43:42
копировали со stackoverflow

ShadoWalkeR
11.07.2018
12:44:32
копировали со stackoverflow
Из вопросов или из ответов?))))

Maksim
11.07.2018
12:44:32
да там много чего копировали как я понял

Dmitry
11.07.2018
12:45:28
Из вопросов или из ответов?))))
какая разница, если работает? ¯\_(ツ)_/¯

Maksim
11.07.2018
12:45:54
так и появляюются девопсы

Alexander
11.07.2018
12:50:48
а я думал это все Чак Норрис

Artem
11.07.2018
12:51:44
доброго времени суток, а никто не знает способа динамической групировки хостов по назначеным на хост ансибл ролям? Официального способа не нашел. Как вариант- в роли делать кастомный факт и групировку по нему, но если потом убрать эту роль с хоста(плейбука)- факт не удалится и групировка жу ебудет неверной.

Max
11.07.2018
13:06:31
кто нибудь сталкивался с create_host_config() got an unexpected keyword argument 'init' в модуле docker_container ?

Vit
11.07.2018
14:17:10
А что насчёт --- - name: Include OS-specific variables. include_vars: "{{ ansible_os_family }}.yml"в начале роли. Ансибл 2.5 матерится, что мол [DEPRECATION WARNING]: Specifying include variables at the top-level of the task is deprecated. Please see: http://docs.ansible.com/ansible/playbooks_roles.html#task-include-files-and-encouraging-reuse for currently supported syntax regarding included files and variables. This feature will be removed in version 2.7. URL естественно невалидный, и в чём трабла / как исправить - не понятно

Nklya
11.07.2018
14:35:56
ну geerlingguy так же делает, значит это не сильно проблема https://github.com/geerlingguy/ansible-role-awx/blob/master/tasks/main.yml

Artem
11.07.2018
14:42:44
ansible dynamic inventory?
Есть примеры?

No1
11.07.2018
14:45:53
Есть примеры?
https://www.google.com/search?q=ansible+dynamic+inventory&oq=ansible+dyn&aqs=chrome.1.69i57j0j69i61j69i60j0l2.4401j0j7&sourceid=chrome&ie=UTF-8

Artem
11.07.2018
14:46:24
No1
11.07.2018
14:46:53
усложняете себе жизнь

вот что я понял из вопроса ?

Artem
11.07.2018
14:47:46
и не смогли пройти мимо и н еповые.... , а я к сожелению, не смог это "спокойно" воспринять)

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