Anton
А он и для shell?
Anton
Стоит попробовать
Timur
Anton
Все равно не хочется делать из gitlab runner помойку
Timur
Anton
В общем можно просто инструкцию в статью. А сами люди буду сами решать
Timur
Не хотите делать из раннера помойку - не нужно пихать в ci говнокод с выставлением элементарных параметров вроде прав на файлы
Anton
Anton
Спс
Timur
Основной бест практис для любого ci - не пихать туда второстепенную логику и всякие костыли
Timur
В ci должно быть только самое необходимое - запуск ci скриптов (или в нашем случае - ансибл плейбук) с нужными параметрами
Timur
Ну и точно не стоит пихать в решение докер ради докера, особенно если не очень хорошо умеете с ним работать
Timur
Вешать на ci проброс ключей и паролей с записями в конфиг ssh - это тоже очень плохой подход
Timur
Фу так делать
Timur
А, ну и become: yes по умолчанию для разворачивания ролей - это тоже фу
Denis
Игорь
Привет! Народ, подскажите в чем ошибка?
{% for host in groups[name] %}{{ hostvars[host]['ansible_default_ipv4'] }}
FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'ansible.vars.hostvars.HostVarsVars object' has no attribute 'ansible_default_ipv4'"}
Timur
Игорь
собраны
Timur
А на остальных хостах группы?
Timur
Нигде не отключён сбор фактов?
Sergey
Sergey
То есть это не баг, это фича.
Vladislav 👻
А кто как инсталлит и контролит docker-compose?
Vladislav 👻
что-то меня разарвало на моменте, что бинарник положили в /usr/local/bin, а в PATH без интерактива его нет, так еще и root не видит
Dmitry
Dmitry
ты можешь сделать просто pip install docker-compose
Dmitry
Vladislav 👻
Vladislav 👻
а при пипе все пользователи будут видеть композ нормально?
Dmitry
Vladislav 👻
спасибо, пойду думать
Dmitry
ансиблируется это на раз-два
Vladislav 👻
первый вариант, как видно, не работает на раз два
Vladislav 👻
через пип сейчас буду смотреть
Dmitry
Dmitry
как жить? есть идеи? )
Vladimir
Поставить пакет, там же прям написано
Vladimir
pip install openshift
Dmitry
посоны, прочитайте плиз последнюю строку в выводе )
Tadeusz
таки, да, там поставь
Dmitry
а если я вам скажу что вызываю -i «127.0.0.1,»
Tadeusz
а dna это dead nigga association ? сорян за оффтоп
Vladimir
Либо поставить delegate to
Dmitry
Sergey
Ребят как заставить роль инклюдить варсфайл раньше чем идет gather_facts?
В роли есть необходимая переменная ansible_default_ipv4 которая вынуждает его использовать, а при gather_facts: true я не могу подключить варсфайл с паролем
Victor
Victor
У тебя варсфайл таском что ли подключается?
Sergey
У тебя варсфайл таском что ли подключается?
- name: Include {{ env }}-redis vars
include_vars: "{{ item }}"
with_items:
- "vars/{{ env }}-redis.yml"
- "vars/redis_main.yml"
when: hostgroup == "redis"
Sergey
ога
Vladislav 👻
Victor
Sergey
Victor
Или засунуть инклуд в претаски, он вроде бы идет до сбора фактов. Как третий вариант
Mik
Ребят, есть задача стянуть 11 джаву с оф сайта, но вот нод много и 50% вываливает о том что не могут установить из-за того что пакет битый. Можно както ансиблом сделать так чтобы оно проверяло что загрузило все, ну либо если не все делоло редовнлоад?
Vadim
можыд ты py2 вызываешь, а поставил в py3? В любом случае ansible его не видит
Dmitry
Sergey
Dmitry
хотя python по умолчанию во второй смотрит
Dmitry
ну и делегейт допишу чо уж
Vadim
делегейт ненужен, он должен стоять локально, на ремоуте он не нужен
NS 🇷🇺
Всем привет, а какие лучшие практики существуют выполнения кода в ансибл всего 1 раз на этапе деплоя например, и если бесконечно много раз перезапускать этот плейбук, данный кусок не выполнится более
Egor
NS 🇷🇺
да над таким вариантом думал
One
- name: Check OS family
debug: msg="This is my OS"
when: ansible_os_family == "Debian"
Vlad
Исправьте образ докера
Причина не в образе докера. Ansible с версии 2.6.5 стал проверять права на каталог. И из-за бага gitlab стала проявляться ошибка: https://gitlab.com/gitlab-org/gitlab-runner/issues/1736
Anonymous
Добрый день.
Подскажите пожалуйста, как в awx проекте в roles/requirements.yml правильно указать путь к роли, которая хранится в внутреннем gitlab'e ?
Т.е. awx project это репозиторий, в котором в roles/requirements.yml лежат пути к ролям в других репах
Пробовал, как указано тут - https://docs.ansible.com/ansible/latest/reference_appendices/galaxy.html#installing-multiple-roles-from-a-file, но таск стал падать с питоновской ошибкой - https://gist.github.com/RenderQwerty/0b3e21afc50d3b3dc9fbcbc8a0db3fbe
Вот пример requirements.yml, который не работает
- src: git@git.ppl33-35.com:PPL/Infrastructure/ansible-roles/users.git
scm: git
version: "master"
citius
Timur
Anonymous
Скорее всего, прав не хватает нужных
А какие credentials awx юзает, чтобы получить доступ к репе с ролью? Я тоже в эту сторону подумал, но у меня всего один source-control тип credential'ов. И на саму репу с ролями права для awx есть
George
Коллеги, привет. Напомните, пожалуйста, где брать самые лучшие отлаженные роли/плейбуки для ансибля. У меня, к сожалению, разыгрался склероз
simplemice.eth
галакси / гитхаб
Vlad
ни в гэлакси ни на гитхабе нет принудительного контроля качества. Соответственно поток говн зашкаливает. Нужно смотреть репы корпораций, с достаточным количеством экспертов, например redhat.
John
как ансиблом заменить ключ авторизации на всех машинах? ВРоде бы задача простая, но если часть (например половина) машин сейчас не доступны, то получится что пока я поменял ключи на второй половине = утратил управление.
не поменял на первой половине и заменил ключ ансибла - не смогу заменить с новым ключем на первой половине машин.
Tadeusz
почему они недоступны то?)
Andrey
John
почему они недоступны то?)
например канал отвалился, или тунель до них сломался. Не важно в принципе почему. Мы просто понимаем что они вернутся через какое-то время.