Gleb
в гитлабе артифакт это результат выполнения стейджа упакованный в зип архив
Prostotak
я гуглил в документации
Gleb
Prostotak
пока не особо
Gleb
я гуглил в документации
гуглить лучше в гугле https://github.com/vyuldashev/ansible-role-gitlab-pipeline-artifacts/blob/master/tasks/main.yml
Prostotak
о спасибо! это уже очень похоже
Gleb
да, плюс минус оно, ну там разной степени странности реализации попадаются, но выдача вся релевантная
https://gitlab.com/chstudio/ansible/gitlab-artifacts/-/blob/master/tasks/main.yml даже вот такое нашлось
Никита
при установке ансибла, не создается папка /etc/ansible
Никита
как фиксить
Vladislav 👻
Буду капитаном - создать папку
Tadeusz
Tadeusz
у меня нет таких "папок"
Tadeusz
ansible.cfg храни прям в корне, где роли, плейбуки, инвентарь
inqfen
Тем более он для каждого проекта свой, так что пусть в коде и живёт
Sergey
Никита
а тут нету
Sergey
Никита
Anonymous
Доброго утра!
Коллеги, есть задача которую никак не могу решить.
Необходимо через ansible на удалённой машине в docker-контейнере выполнить плейбук.
И у меня получается какая-то хрень.
Всю ночь уже бьюсь с этой задачей и никак не выходит.
Перечитал по-моему про все модули, связанные с docker. Но решения не нашёл.
Есть удалённый хост 192.168.10.200
Из файла inventories
office:
hosts:
192.168.10.200:
Вот часть плейбука
- name: Create db and users for PgSQL
hosts: "{{ TARGETS }}"
remote_user: username
become: no
vars:
ansible_connection: docker
ansible_docker_host: postgresql
roles:
- local.env.postgres
Запускаю так
ansible-playbook -vvv playbooks/ent.bumq.env --extra-vars "TARGETS=office"
Понимаю, что не много криво, но пока тестирую.
На выходе получаю лог
Pipelining is enabled.
<192.168.10.200> ESTABLISH DOCKER CONNECTION FOR USER: username
<192.168.10.200> EXEC ['/usr/bin/docker', 'exec', '-u', u'username', '-i', u'192.168.10.200', u'/bin/sh', '-c', u"/bin/sh -c '/usr/bin/python3 && sleep 0'"]
fatal: [192.168.10.200]: FAILED! => {
"changed": false,
"module_stderr": "Error: No such container: 192.168.10.200\n",
"module_stdout": "",
"msg": "MODULE FAILURE\nSee stdout/stderr for the exact error",
"rc": 1
}
То есть к хосту он подключается, но ищет контейнер с именем хоста как в hosts прописано.
То есть ansible_docker_host он игнорирует
Если заменить на ansible_host, то начинает подключаться к локальному докеру на машине с ansible.
Подскажите, как эту задачу решить правильно
Я решил проблему )))
Если кому-то интересно, то делюсь
- name: Create db and users for PgSQL
hosts: localhost
connection: docker
vars:
ansible_host: postgresql
ansible_docker_extra_args: "-H=tcp://192.168.10.200:2375"
roles:
- local.env.postgres
Здесь, в качестве ansible_host указывается имя контейнера
Kirill
Кто-нибудь замеряет производительность ансибла на регулярной основе?
Я тестирую апгрейд с 2.8.6 до 2.9.6 и у меня по времени выполнения деградация на 26%. Такое чувство что на модуле template но пока что это не точно.
Aleksandr
#/etc/ansible/ansible.cg
callback_whitelist = profile_tasks
и замерь между версиями
Kirill
Точно спасибо - пойду рут коз искать
Kirill
https://github.com/ansible/ansible/issues/68763
Kirill
🙁
Alex
With v2.9.5 it takes about 15 seconds to render a file. With v2.9.6, it takes about 9 minutes
та это жесть какая то просто
inqfen
Сергей
Кто-то может подсказать как в такой ситуации отлавливать хендлеры по изменяемым внутри цикла файлам?
- include_tasks: "tasks.yml"
loop: "{{ files "}}
Kirill
inqfen
Sergey
Сергей
Понятно. Печально.
Спасибо 🙂
Sergey
Вот же пример: https://github.com/patchandpray/ansible-callback-plugin/blob/master/callback_plugins/example_callback_plugin.py
Сергей
Спасибо за пример.
Просто плагин - это время на написание и отладку.
Sergey
Не так и много. Вот имя нужного хэндлера: https://github.com/ansible/ansible/blob/v2.9.7/lib/ansible/plugins/callback/__init__.py#L391
Sergey
Иначе придётся делать вид, что Ansible - язык программирования. А это прям дно вообще.
inqfen
ᴅⁱᵐⁱᴅʳ0ˡ
коллеги, всем добрый день
ᴅⁱᵐⁱᴅʳ0ˡ
не могу ни как сообразить как в цикле обрабатывать темплейты и на выходе иметь разные файлы
applications:
- app1:
var: var1
var1: sdf
- app2:
var: par2
var1: sdf
- app3:
var: dfg
var1: fdg
Sergey
ᴅⁱᵐⁱᴅʳ0ˡ
inqfen
Sergey
inqfen
Но в данном случае да, эта вложенность не нужна
Алексей
Алексей
ну или куда копать
inqfen
Ну так в ошибке написано
inqfen
Аргумент не того типа
Алексей
я читать умею
inqfen
Ну и ворнинги, что ты не bool через is проверяешь
^_^
вчера начал учиться ансибл на ех294 редхад docs.ansible и эту группу ребята есть ещё то где поможет мне здават екзам спасибо заранее 🙏
Антон
^_^
^_^
вопрос у меня такой docs.ansible портал помогает чисто учиться ансибл и готовится на екзамен?
Антон
аэм...
Антон
у вас вопрос настолько странный что даже не знаешь что на него отвечать
Антон
если без размышлений отвечать на вопрос - да, помогает
^_^
^_^
Спасибо
Антон
пожалуйста, но вы бы подумали зачем вы это делаете. вам экзамен нужен ради экзамена или вы хотите "работать по профессии"?
^_^
Антон
^_^
для меня оба нужны
Sergey
Антон
сдача экзамена говорит только об одном - вы сдали экзамен. это как правило очень слабо соотноситься с работой в проде
Антон
Антон
@mamedoff89 вам бы еще русский подучить...
^_^
мы не рождаемся експертами)) мне не надо русский учиться мне и так хорошо умник😉
Sergey
@mamedoff89, без обид - твой первый продакшн будет страдать.
^_^
Антон
)) ничего страшного
вам то да, в крайнем случае вас уволят. а вот люди, которые будут пользоваться сервисом, который вы с делали в целом ни в чем не виноваты. а они страдать будут. и сильно
Sergey
@mamedoff89 @Dr_Wut мы здесь обсуждаем не друг друга, а инструмент - даже сегодня, в пятницу 😊)))
^_^
^_^
Спасибо всем ) я пока учиться но вопросами приду експерты 😉🙏