Vadim
контейнер
так кушай официальные - https://hub.docker.com/r/ansible/
Asgoret
по идее, я туда буду грузить написанные плейбуки и стартовать CI с тестами. если все оке, то плейбук будет передаваться дальше
Vadim
окей, тут поторопился - все они люто устарели
Bsod
у молекулы же вроде был lxd драйвер
Bsod
чоб не юзать
Asgoret
bebebe привет! у тебя есть контейнер с ansible на борту?
Vadim
тащемта сам собери из подручных штук - хочешь centos, хочешь убунту, + зависимости к твоим плейбукам
Asgoret
тащемта сам собери из подручных штук - хочешь centos, хочешь убунту, + зависимости к твоим плейбукам
так-то да, ток я пока не понял как таскать в эту CI локальные образы) по умолчанию она смотрит в докер хаб
Vadim
так-то да, ток я пока не понял как таскать в эту CI локальные образы) по умолчанию она смотрит в докер хаб
делай свой регистри для такого. У гитлаба вроде неплохой в коробке есть
Asgoret
а сорян...не туда смотрю
Славик
как раз в awx_task есть ансибл ) но это часть awx наверное там будет куча лишнего
Asgoret
2.6.1 вроде...это разве старая?
Nklya
у молекулы же вроде был lxd драйвер
Зачем lxd если докер нормально поддерживается?
Nklya
Молекула сама билдит образ с ансиблом
Mikhail
зачем lxd если lxc поддерживается?
Vadim
как будто что-то плохое
Nklya
Молекула сама билдит образ. Если нужно, можно и systemd добавить
Alex
Коллеги, у кого-нибудь есть собранный образ с ансиблом на борту?
Есть, у джефа герлинга докер контейнеры . Для дебиан 7 я тоже собрал.
Alex
# Ansible Role tests To run the test playbook(s) in this directory: 1. Install and start Docker. 1. Download the test shim (see .travis.yml file for the URL) into tests/test.sh: - wget -O tests/test.sh https://gist.githubusercontent.com/AlexGluck/67d7335621310548d1d5633b237799e6/raw/ 1. Make the test shim executable: chmod +x tests/test.sh. 1. Run (from the role root directory) distro=[distro] playbook=[playbook] ./tests/test.sh If you don't want the container to be automatically deleted after the test playbook is run, add the following environment variables: cleanup=false container_id=$(date +%s)
Alex
Вот тревис файл --- services: docker env: - distro: centos7 postgresql_version: 9.6 - distro: centos7 postgresql_version: 10 script: # Download test shim. - wget -O ${PWD}/tests/test.sh https://gist.githubusercontent.com/AlexGluck/67d7335621310548d1d5633b237799e6/raw/ - chmod +x ${PWD}/tests/test.sh # Run tests. - export container_id="$(date +%s)" - ${PWD}/tests/test.sh after_failure: # Check what happened on systemd systems. - 'docker exec --tty ${container_id} env TERM=xterm systemctl -l status ${daemon}' notifications: webhooks: https://galaxy.ansible.com/api/v1/notifications/
Alex
Если у кого для дженкинса есть что то готовое такое же, я бы взял ^^
Alex
Поддерживаются контейнеры: debian 7,8,9; ubuntu 14.04,16.04, 18.04; centos 6,7
Nklya
Это типа своя молекула из говна и баша?
Alex
Неа, это скрипт для CI который втыкается в бамбу, дженкинс или тревис или любой другой
Nik
А как в uri передать телом файл?
Pavel
А как в uri передать телом файл?
в смысле? может такое (последний пример): https://docs.ansible.com/ansible/latest/modules/copy_module.html?highlight=content#examples
Nik
вопрос два - можно ли запускать loop в ansible паралельно? (передаю ему список файлов пачкой, и он их по http паралельно отправляет). Или надо несколько раз зайти на один и тот же хост для этого?
Ievgen
https://docs.ansible.com/ansible/latest/user_guide/playbooks_async.html
Ievgen
там в конце есть примеры с асинхронным loop
Alex
@Sharmanshik спасибо
Nikolay
Блин, в 2.6 сломали win_reboot На это таске плейбук просто зависает, и не может достучаться до вернувшегося после ребута хоста. В 2.5 корректно отрабатывает
Alex
в 2.5 и 2.6 service модуль не зпускает сервисы на дебиан 7, баги наши спутники
Nikolay
А стейбл какая версия считается?)
Nikolay
А существует роадмап?
Anton
впросик по ансиблу. смотрю что в пределах таска хосты выполняются поочереди, а не паралельно. можно ли сделать паралельное выполнение?
Anton
говорят по дефолту должно быть паралельно
Alex
выше ответ же, 7 сообщений отмотай
Anton
но чет не наблюдаю
Anton
async?
Alex
через ключ --forks можно указать сколько хостов одновременно будут выполняться
Anton
так асинк нужен или нет?
Anton
или форк только достаточно
Anton
там про асинк ваще не об этом пишут. пишут что ансибл отрубается от хоста в момент выполнения. мне не это надо
Anton
полинг какой то
Anton
эт не то
Alex
async для параллельного выполнения тасков, форки для параллельного выполнения на нескольких хостах в рамках одного таска
Anton
есть еще какие то стратегии, фри, тоже не понятная тема
Alex
Я сам только прочитал, но почему то сам понял. А ты можешь меня терроризировать до посинения. Я всё равно пока не готов это объяснять.
Nik
я пока пробовал через инклуд ролей
Nik
и их сделать асинхронно
Nik
а там тупро не прбрасывается переменная
Nik
cat ansible.yml - name: запускаем тесты hosts: 127.0.0.1 connection: local tasks: - include_role: name: testSingle.yml vars: test: "{{ item }}" with_lines: - ls -lah */*.yaml | awk '{print $9}' cat testSingle.yml - name: testSingle uri: url: http://10.16.144.58:6650/testSingle method: POST timeout: 1800 body: "{{ lookup('file',test) }}" return_content: yes
Alex
ты пробовал ваще это или почитал только?
форки у меня стоят, это я пробовал. Асинк пока не успел, я только пол часа назад про него узнал\вспомнил.
Anton
форки у меня стоят, это я пробовал. Асинк пока не успел, я только пол часа назад про него узнал\вспомнил.
вот тут например птшут что ансибл и так по дефолту паралельный https://docs.ansible.com/ansible/latest/user_guide/playbooks_delegation.html#rolling-update-batch-size
Anton
ток чет это не так
Alex
вот тут например птшут что ансибл и так по дефолту паралельный https://docs.ansible.com/ansible/latest/user_guide/playbooks_delegation.html#rolling-update-batch-size
дефолтное значение переменной для форков 5. У меня тысячи хостов, я устану ждать пока он прогонит по ним плейбуки. Увеличил под проект от 20 до 50 значение.
Anton
а не все 20 разом
Anton
ну вот нехрена
Nik
именно так
Ievgen
если сделать free то будет между хостами ебошить как попало, по мере успевания
Anton
так и хотелось бы, но конекты идут поочереди
Nik
а я пытаюсь сделать паралельные таски
Nik
и вот никак
Anton
погдь. не помогай ему