Sergey
Спасибо всем ) я пока учиться но вопросами приду експерты 😉🙏
Твоей тяге к знаниям - уважение. К сожалению, некоторые твои фразы носителям стандартного русского могут быть непонятны. Если планируешь задавать вопросы в этом чате, то предлагаю хотя бы проверять перевод в гугле, иначе рискуешь в ответ получать молчание. Такое бывало, кстати, и с носителями языка, которые не утруждают себя формулировкой мыслей, либо не доверяют спеллчекеру. Прошу рассматривать это не как личный выпад, но, скорее, как некоторые соображения, которые помогут сделать твоё участие в чате результативным в хорошем смысле.
Sergey
Спасибо. Это опыт.
Антон
коллеги, а кто-нибудь сталкивался с такой проблемой что сразу же после добавления windows server 2019 при попытке в ssh сессии сделать runas ансиблом происходит отлуп? (пишет что не может найти пользователя) при этом второй раз просто катишь плейбук - все хорошо становиться
Maksim
Это вообще законно?
Антон
Это вообще законно?
быть таким выдержанным? )))
ㅤ
Кто может помочь с регуляркой в ансибле ?
Maksim
ну кидай, глянем
Sergey
Это вообще законно?
Звезда = ответственность 😊
ㅤ
ну кидай, глянем
В общем нужно найти все что начинаеться с k8s_ фрагмент stdout: \\\": stat /bin/sh: no such file or directory\\\": unknown\\r\\n\", ", " \"unreachable\": true", "}", "k8s_kube-proxy_kube-proxy-64mp7_kube-system_dfc447f5-307a-465f-91ea-625ff3fb9725_1 | FAILED! => {", на данный момент вывожу только одну строку "value": "k8s_" с помощью: - set_fact: value="{{ results.stdout | regex_search('^k8s_', multiline=True) }}"
ㅤ
Уже лучше: "value": "k8s_POD_kube-proxy-64mp7_kube-system_dfc447f5-307a-465f-91ea-625ff3fb9725_1 | UNREACHABLE! => {" } но мне нужно вывести всё что с k8s там 4 поды должно вывести, а выводит первую
ㅤ
Ну и без | UNREACHABLE! => {" }
Maksim
А что именно ты хочешь сделать? Мне кажется для твоих задач надо копать ансибловые модули для кубера https://docs.ansible.com/ansible/latest/modules/k8s_info_module.html например
ㅤ
Тоже думал про них, но тут задача выводить контейнеры не зивисимо кубер или нет, уже дело принцыпа написать регулярку)
Maksim
Тоже думал про них, но тут задача выводить контейнеры не зивисимо кубер или нет, уже дело принцыпа написать регулярку)
Ну, смотри, регулярка точно рабочая, можешь сам это проверить через какие нибудь грепы и прочее По поводу вывести результат без статуса, могу ошибаться, но здесь вроде поможет results.stdout_lines
Алексей
ребят не могу сообразить из-за чего вылетает fatal: [10.2.81.64]: UNREACHABLE! => {"changed": false, "msg": "argument must be an int, or have a fileno() method.", "unreachable": true}
Алексей
такое ощущение что ip приходит не int
Alex
А с каких пор ip стал int?
Alex
Ну и сам таск неплохобы увидеть
Алексей
А с каких пор ip стал int?
Вот и я не понимаю, таск покажу чуть позже. Это ошибка когда я ансибл запускаю в пайплайне гитлаба
Sergey
Вот и я не понимаю, таск покажу чуть позже. Это ошибка когда я ансибл запускаю в пайплайне гитлаба
Это же у тебя вполне конкретный таск, вот его с логами - и в студию.
Алексей
ну фейлится на такой таске
Алексей
сама таска
Алексей
если я локально запускаю то все ок, как только в пайплайне гитлаба так падает
Алексей
при запуске и локально использую один и тот же образ
Vladislav 👻
Включи сбор фактов, ради интереса...
Алексей
не соовсем вас понял ?
Алексей
вы про -vvv?
Vladislav 👻
Gather_facts
Алексей
ах! блин ага
Алексей
ок
Отделение Bereke Bank
Алексей
Алексей
конфиг файла нема)))
Алексей
а тут вроде соединяется
Алексей
возможно это проблема гитлаба
Sergey
а тут вроде соединяется
А почему, кстати, Paramiko, а не OpenSSH?
𝚔𝚟𝚊𝚙𝚜
подскажите, а как можно установить vars, только в случае если переменная известна? Пример чего хочу: - import_role: name: some_role vars: | ip: "{{ res.ip }}" {% if res.deploy_ip is defined %} deploy_ip: "{{ res.deploy_ip }}" {% endif %}
inqfen
А чем default не подходит?
inqfen
Тут ты не совсем правильно делаешь, что устанавливаешь одну переменную из другой
𝚔𝚟𝚊𝚙𝚜
А чем default не подходит?
А что в default передавать, None?
inqfen
И именование типа ip в ролях - плохо
inqfen
У тебя может быть 5 ролей и везде ip
Vladislav 👻
Рекомендую всегда называть переменные внутри роли по шаблону <role>_<var>
inqfen
почему неправильно?
Потому что если ты в роли сделаешь переменную типа на уровне плейбука component_ip и установишь её на уровне плейбука - vars не понадобится
inqfen
И вот эти условия тоже, есть переменная - прокинулась в роль, нет - юзается из defaults
𝚔𝚟𝚊𝚙𝚜
Потому что если ты в роли сделаешь переменную типа на уровне плейбука component_ip и установишь её на уровне плейбука - vars не понадобится
А если я хочу вызывать одну и ту же роль, но несколько раз и с разными параметрами в пределах одного плейбука - тоже неправильно?
inqfen
И там есть loop var
inqfen
Каждую итерацию значение меняется
inqfen
А переменная та же
inqfen
А если это на разных хостах - то это переменная хоста /группы
inqfen
И опять же на каждой группе значение может быть свое, а название одинаковое
𝚔𝚟𝚊𝚙𝚜
нет, хост один, но мне хочется сгруппировать набор tasks в обособленную роль, чтобы просто вызывать её с нужными параметрами
𝚔𝚟𝚊𝚙𝚜
грубо говоря использовать роль как модуль
𝚔𝚟𝚊𝚙𝚜
В прочем наверное и default(None) сойдёт, только проверку внутри роли нужно поправить
inqfen
В прочем наверное и default(None) сойдёт, только проверку внутри роли нужно поправить
Ну да, в итоге как и в модуле валидация аргументов внутри и поведение в зависимости от этих аргументов
Алексей
А почему, кстати, Paramiko, а не OpenSSH?
ну я не трогал эти настройки, но видимо в этом дело
inqfen
Ну с default я про это и говорил, да
𝚔𝚟𝚊𝚙𝚜
я просто не знал что оно умеет в omit
David
есть какой-то способ переустановить пакет через модуль ансибла? чтобы не юзать shell: apt-get install —reinstall package ?
Anonymous
Сделать удаление и установку
David
по другому никак ?
Алексей
@tnt4brain переключил на ssh и получаю, в плейбуке просто логин в реджистри и пул образа, ни и debug и как видно он отработал
David
https://docs.ansible.com/ansible/latest/modules/apt_module.html
я видел, но там нет принудительной переустановки
Vladislav 👻
я видел, но там нет принудительной переустановки
Но можно сделать удаление, а потом установку, вместо баша
Vladislav 👻
Хотя, если честно, впервые вижу кейс, где надо делать именно реинсталл...
Ruslan
Коллеги, если пишешь несколько строк в YAML вот так include_newlines: | exactly as you see will appear these three lines of poetry можно как-то переменную вставить, например: include_newlines: | exactly as you see will appear these three {{ ansible_fqdn }} lines of poetry
Ruslan
?
inqfen
Да
inqfen
Только переносы так не ломай
Oleg
всем привет, делаю первые шаги в ансибле. Подскажите, пож-та, не получается пингануть первый сервер. Он находится в сети, доступ по ssh, с помощью логина и пароля. Второй сервер на aws, проблем с пингом нет(доступ по ssh key).