Tim
И все получится!
Sergey
да вот как раз разбираемся тут, и у нас и так и так не пашет) пытаюемся понять суть)
Vegas
2 примерно)
Tim
Боярышником запаслись?)
Sergey
скоро надо будет))
Roman
у вас проблема может быть в том, что в ваших плейбуках не определен транспорт. попробуйте с самым простым вариантом cli vars: cli: host: "{{ inventory_hostname }}" username: cisco password: cisco transport: cli - name: configure top level configuration ios_config: lines: hostname {{ inventory_hostname }} provider: "{{ cli }}"
Sergey
пробовали
Sergey
пробуем уже к тому же ios_command
Sergey
банально fatal: [br-ekb2]: FAILED! => {"changed": false, "failed": true, "msg": "failed to connect to br-ekb2:22"}
Sergey
хотя пароль стопроцентно верный
Roman
так а на ансибл хосте данное имя br-ekb2 должно же быть разрезолвлено
Roman
с ансибл хоста работает ping br-ekb2?
Vegas
круто, походу помогло)
Vegas
спасибо тебе большое :)
Roman
не за что
Sergey
хм) круто) реально походу ansible просто имя отдавал на ssh, а не адрес)
Sergey
реально спасибо, а то мы тут давно бьемся с этим)
Roman
круто, походу помогло)
чтобы сохранить имена без модифицирования hosts файла (если нет днс), то можно добавлять в инвентори ansible_host [adam-hyper10] dc1vsd-demo ansible_host=10.170.0.171
Vegas
странно, на самом деле, inventory выглядит так: [routers] R2 ansible_host=10.255.1.2 ansible_user=ansible ansible_ssh_pass=ansible
Sergey
→ cat /etc/ansible/hosts| grep br-ekb br-ekb ansible_host=10.1.247.254
Sergey
у нас так и есть)
Sergey
но так не прокатывает судя по всему)
Sergey
возможно особенность ios_command
Sergey
→ ansible —version ansible 2.2.0.0 config file = /etc/ansible/ansible.cfg configured module search path = Default w/o overrides
Vegas
2.3.0
Roman
должно работать =) хз, почему у вас сразу не завелось
Sergey
притом так везде, у меня на 2.0 такде было, и на фре, и на дебе
Roman
может это связано с connection:local но я не настоящий сварщик
Elinka22
А подскажите пожалуйста, почему после перехода с 1.9 на 2.2 перестал работать вот этот второй таск: - name: Check if we have any unmanaged repo configs, except custom.repo shell: grep -r '^[^#]' -l /etc/yum.repos.d | grep -Ev '/custom.repo$' || true register: repo_unmanaged changed_when: repo_unmanaged.stdout_lines tags: [ "custom_repo" ] - name: Comment all lines in unmanaged repo configs replace: dest={{ item }} regexp="^([^#])" replace="#\1" when: repo_unmanaged.stdout_lines != "" and repo_unmanaged is defined with_items: repo_unmanaged.stdout_lines tags: [ "custom_repo" ] Выдаёт ошибку: TASK [custom_repo/2.3 : Comment all lines in unmanaged repo configs] *********** failed: [mysql.ru] (item=repo_unmanaged.stdout_lines) => {"failed": true, "item": "repo_unmanaged.stdout_lines", "msg": "Destination repo_unmanaged.stdout_lines does not exist !", "rc": 257} to retry, use: --limit @/home/ansible/playbooks/auto/mysq.retry Такое чувство, что перестал работать со списком.
Lev
попробуй stdout.split()
Elinka22
Ща, я тут вычитал в changelog изменение
Elinka22
Removed Deprecated: ... with_ 'bare variable' handling, now loop items must always be templated {{ }} or they will be considered as plain strings. ... Ругаться перестало, буду тестить, работает ли ваще, а то как то странно сработало.
Lev
with_items: "{{ variable_name }}"
Elinka22
with_items: "{{ variable_name }}"
Да-да, я так и сделал, но получил неожиданный результат TASK [custom_repo/2.3 : Check if we have any unmanaged repo configs, except custom.repo] *** ok: [rmysql.ru] TASK [custom_repo/2.3 : Comment all lines in unmanaged repo configs] *********** TASK [custom_repo/2.3 : Generate custom.repo file] ***************************** ok: [mysql.ru] В этом таске не отобразился хост.ё
Lev
ну так у тебя ж там какое-то условие
Elinka22
Но оно бычно пишет skipped, ok или changed. Ну и там error. А тут - просто таск как будто ни к одному хосту не применился
Elinka22
аааа, кажется я понял. Это потому что в первом таске условие не выполнилось - он и просто скипает остальные. Значит всё ок.
Albert
Появилось надобность запускать один плейбук раз в день на 3000+ серверов. Как мы знаем обычно бежать с одного мастера уж очень душно. Поэтому смотрю на ansible-pull. Кто нибудь с этим работет? Запускаете каждый день? Хотелось бы услышать кто как с этим работает
Dmitry
о, скоро saltstack :D
Alf 🙀
о, скоро saltstack :D
А есть чатик про солтстэк? Кроме как в слаке
Dmitry
не знаю :)
Serge
Из хостов
Serge
Пачками гонять на параллельных процессах
Albert
А ну да.. Но я думаю нам легче будет если каждый хост будет сам обращатся к нам. Допустимо даже создание нового хоста - а он уже сам обратится - нам не придется его добавлять
Dmitry
короче, salt :D
Denis 災 nobody
Д
Albert
Ну мне только один плейбук так запускать, не буду же я еще одну систему вносить
Dmitriy
а время выполнения важно?
Dmitriy
просто если нет - то запускать утром с некоторыми ограничениями (не больше 50 коннектов единовременно, например) и спокойно ждать, пока прососётся
Elinka22
А подскажите пожалуйста, тут вообще реально обойтись без проверки if defned? command[check_ntp_time]=/usr/lib64/nagios/plugins/check_ntp_time -H {{ ntp_master_servers | default('0.centos.pool.ntp.org 1.centos.pool.ntp.org 2.centos.pool.ntp.org') | join(" ") }} -w {{ nrpe_client_plugins.ntp.warning | default('5') }} -c {{ nrpe_client_plugins.ntp.critical | default('10') }} Там проблема в том, что если переменной нет, то дефолт срабатывает, но его join раскатывает тоже, получается после каждого символа пробел. А если ставить join между переменной ntp_master_servers и default - то если переменная не задефайнена шаблон вываливается с ошибкой.
Maxim
коллеги, какие есть best practices при работе с inventory > 3000 хостов?
Maxim
допустим да
Volodymyr
допустим да
мои соболезнования
Pavel
ну хосты же можно группировать регулярками
если вы применили регулярки, поздравляем, теперь у вас на одну проблему больше (с)
Lex
допустим да
динамическая inventory?
Maxim
нет, пока статика
Maxim
в inventory нельзя делать include файлов? поискал, такой фишки не нашел
Lex
нет, пока статика
это был как-бы в некотором роде намек
Maxim
понял, посмотрим в сторону динамических, спасибо
🏳️ Phil
Кстати, а как там у нас Stonic поживает?
🏳️ Phil
Ну там он явно не живой. Может где-то идет активная разработка, а мы не знаем?
Aleksey
да, тоже итерсно
Aleksey
@lig11 @demeliorator
Aleksey
давайте уже 0,0,1альфа технолоджи превью
Lex
ну у них gitignore есть
Lex
и ридми
Lex
и таски
Pavel
а на чем пишут? на go? nim? elixir?
Pavel
clojure? kotlin?
Aleksey
php
Pavel
Ну если так то я буду комитить
Aleksey
есть на рубях и на питоне. уверен есть поделки не перле