Vadim
Asgoret
Vadim
контейнер
так кушай официальные - https://hub.docker.com/r/ansible/
Asgoret
по идее, я туда буду грузить написанные плейбуки и стартовать CI с тестами. если все оке, то плейбук будет передаваться дальше
Vadim
окей, тут поторопился - все они люто устарели
Vadim
Bsod
у молекулы же вроде был lxd драйвер
Bsod
чоб не юзать
Asgoret
bebebe привет! у тебя есть контейнер с ansible на борту?
Vadim
тащемта сам собери из подручных штук - хочешь centos, хочешь убунту, + зависимости к твоим плейбукам
Vadim
Asgoret
Asgoret
а сорян...не туда смотрю
Славик
как раз в awx_task есть ансибл ) но это часть awx наверное там будет куча лишнего
Asgoret
2.6.1 вроде...это разве старая?
Nklya
Молекула сама билдит образ с ансиблом
Mikhail
зачем lxd если lxc поддерживается?
Bsod
Vadim
как будто что-то плохое
Nklya
Молекула сама билдит образ. Если нужно, можно и systemd добавить
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
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
А стейбл какая версия считается?)
Sergey
Nikolay
А существует роадмап?
Anton
впросик по ансиблу.
смотрю что в пределах таска хосты выполняются поочереди, а не паралельно. можно ли сделать паралельное выполнение?
Anton
говорят по дефолту должно быть паралельно
Alex
выше ответ же, 7 сообщений отмотай
Anton
но чет не наблюдаю
Anton
async?
Nikolay
Alex
через ключ --forks можно указать сколько хостов одновременно будут выполняться
Anton
так асинк нужен или нет?
Anton
или форк только достаточно
Anton
там про асинк ваще не об этом пишут. пишут что ансибл отрубается от хоста в момент выполнения. мне не это надо
Anton
полинг какой то
Anton
эт не то
Alex
async для параллельного выполнения тасков, форки для параллельного выполнения на нескольких хостах в рамках одного таска
Anton
есть еще какие то стратегии, фри, тоже не понятная тема
Anton
Alex
Я сам только прочитал, но почему то сам понял. А ты можешь меня терроризировать до посинения. Я всё равно пока не готов это объяснять.
Nik
Nik
я пока пробовал через инклуд ролей
Nik
и их сделать асинхронно
Nik
а там тупро не прбрасывается переменная
Anton
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
Anton
ток чет это не так
Alex
Anton
Anton
а не все 20 разом
Ievgen
Anton
ну вот нехрена
Nik
Nik
именно так
Ievgen
если сделать free то будет между хостами ебошить как попало, по мере успевания
Anton
так и хотелось бы, но конекты идут поочереди
Nik
а я пытаюсь сделать паралельные таски
Nik
и вот никак
Ievgen
Anton
погдь. не помогай ему
Nik