George
Может версии софта «плывут», ты же наверняка не сам операционку наливаешь? И это происходит в разные моменты времени?
Sova
Сервера постоянно создаются новые, удаляются старые - накатываются одним плейбуком, уже довольно долгое время
Sova
sudoers 1 в 1, ибо из шаблона генерится, даже не знаю уже, куда смотреть..
Sova
Гугл подсказал только то, что я не одинок - трабла такая еще у некоторых проявлялась, но решения так и не нашли\не выложили
George
George
Возможно селинукс или ещё какая-то срань, но если образы каждый раз разные, то сорян
Sova
Образ системы одинаковый, selinux отрубается по дефолту, софт накатывается одним и тем же плейбуком.. У меня уже идеи закончились, в какую сторону копать :(
George
Врубай отладочные режимы и вербозити
Sergey
Всем привет.
Уже некоторое время не могу понять, в чем лажа - буду крайне признателен, если кто подскажет.
Суть в чем - есть довольно много серверов у разных хостеров, авторизация по юзеру + ключу.
Все прекрасно работает у всех хостеров, кроме одного. Ансибл просто не выполняет комманды из-под рута, причем это не постоянно - а попадается один сервер из 5ти например, но только у этого хостера ( servers.com ). Т.е. изначально ансибл не может закинуть tmp файлы в /root/.ansible/ ( что логично, ибо он пытается это сделать из-под обычного юзера ), ну и на этом все. Причем, если вызывать команды через ansible -m shell -a "whoami" - получаем, что ансибл успешно становится рутом. Гуглил довольно много, испробывал разные варианты прописывания become, become_method - но ничего не помогло.
Единственное, на что могу грешить - delegate_to в плейбуках, но с другой стороны - проблема реально только у единственного хостера.
- name: Check NGINX config files
shell: nginx -t
register: nginx_retcode
delegate_to: "{{ item }}"
with_items: "{{ my_servers_list }}"
Слушай, что это за такое вообще? Это же башсибл! В плеях параметр hosts, интересно, для чего служит, как ты считаешь?
H
Добрый день всем
H
посоветуйте норм книгу,для подготовки к экзамену
Grek 🇺🇦
Aleksey
Ребята, кто нить уже в коллекции погрузился? есть чего почитать? а то я два раза уже пробовал без особого успеха.
то молекула не клеится то усы отклеиваются
Aleksey
@tnt4brain ? @gecube @tgadiev
Sergey
Aleksey
конечно 2.9
Sergey
Кому нужны коллекции?
Aleksey
мне нужен to_toml
Sergey
Aleksey
я сейчас его кладу в filter_plugins
Aleksey
но я хочу по красоте
Sergey
Ну вот да, я только хотел написать.
Sergey
По красоте - это именно так.
Aleksey
а я знаю что ты такое хочешь написать.
Sergey
😆👍
Aleksey
но по красоте это через колекции. иначе появляется в ci дурацкий шаг с pip3 install -r python_requirements.txt --no-cache-dir
Sergey
Ты затаскиваешь зависимость от внешней балалайки из Интернета, или у тебя локальный pypa-кэш есть?
Aleksey
артифактори. но речь не об этом правда да?
Aleksey
и в том и в другом случае нужно затаскивать библиотеку питона toml
Aleksey
вопрос в том кто это будет делать и как это будет обёрнуто
Aleksey
и кто будет менеджить версию этой библиотеки
Vlad
Vlad
Кроме https://docs.ansible.com/ansible/latest/user_guide/collections_using.html нет
Aleksey
только не спрашивай чо не получается. :) вопрос про доку а не про мою сборку.
Sergey
Aleksey
Потому что из Интернета жи.
а вот так из интернета или уже нет ?
requirements.yaml
collections:
- name: somename
scm: git
src: https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.xxx/
version: 0.1.2
Sergey
Aleksey
Aleksey
галакси сервер это витрина же
Aleksey
он ничего особого не делает
Sergey
А с чего ты взял вообще, что так должно работать, как ты написал?
Sergey
Я вот что вижу:
source: 'The Galaxy URL to pull the collection from (default: ``--api-server`` from cmdline)'
Vlad
Попробовал сделать requirements.yml
collections:
- name: community.general
scm: git
src: https://github.com/ansible-collections/community.general.git
version: 1.0.0
и успешно загрузил коллекции
ansible-galaxy collection install -r requirements.yml
Vlad
По-умолчанию загружаются в ~/.ansible/collections/ansible_collections/
Aleksey
да. пусть с этим умолчанием одна из хреней
Sergey
Aleksey
Aleksey
переменные окружения в requirements.yaml не работают. тоже решается
Aleksey
envsubst < ansible/requirements.tmpl > ansible/requirements.yaml
в ci.
только не надо тут что это кривота. альтернативы хуже
Sergey
путь можно поменять чо
Ты не понял. Даже с приведённым файлом ansible-galaxy полез в Интернет, на galaxy.ansible.com.
Sergey
Тут уже была такая история.
Aleksey
Sergey
Напиши в /etc/hosts 127.0.0.1 galaxy.ansible.com и запусти вот то, что там сверху было, и сделай так: O_o
Sergey
Лечится это понятием своего Galaxy-сервера :-D и указанием его в параметрах.
Sergey
Сильно лучше, чем "кинуть в filter_plugins" ?
Aleksey
дак кинуть не достаточно же
Sergey
Ну см. выше тогда - тебя ждёт увлекательная история с отламыванием вендорлока.
Vladislav 👻
А напомните пожалуйста, вроде же нельзя оперировать подменой файла на уровне инвентори? Т.е. только через переменную и темплейт делать?
Sergey
Vladislav 👻
ну например в роли есть example.txt, для каждого инвентори он должен быть свой
Vladislav 👻
ну или группы/хоста, в этом плане суть не меняется
Aleksey
интересно чо он от туда хочит
Aleksey
пойду почитаю
Sergey
Sergey
Aleksey
https://github.com/ansible/ansible/pull/69154
Aleksey
короч в 2.9 хрен
Aleksey
а в 2.10 должно
Aleksey
ERROR: No matching distribution found for ansible==2.10.0
чо ?
Aleksey
2.9.12, 2.10.0a1, 2.10.0a2, 2.10.0a3, 2.10.0a4, 2.10.0a5, 2.10.0a6, 2.10.0a7, 2.10.0a8, 2.10.0a9
Aleksey
ffffffuck
Aleksey
короче в 2.10 всё прекрасно ставится с
127.0.0.1 galaxy.ansible.com
namespace при этом берется из galaxy.yml
а вот версию из оного брать не получается. она берется по тегу git
Aleksey
прошлые мои попытки были на 2.9.9 и там ничо не работало.
Aleksey
на 2.9.12 всё ок. поведение идентичное 2.10