Max
А зачем?
Bruno
автоматизировать машину
Bruno
https://www.jeffgeerling.com/blog/2017/using-ansible-through-windows-10s-subsystem-linux
Max
Max
запускается
hackru
так ансибл ж умеет нативно в windows, нет?
Albert
Не как мастер
Denis 災 nobody
Там же питон. Через актив питон не работает?
Футуристичный
Ребяты, есть учебник по ансибл на русском?
hackru
лол
hackru
а домашку дать списать?
Max
Гы
🏳️ Phil
А чо как у нас со Stonic?
hackru
со Stoya?
🏳️ Phil
http://stonic.io/
Aleksandr
Stonic is in early development state now
Aleksandr
этого достаточно что бы закрыть страницу
Aleksandr
ну а вообще вот сюда вопросы задай). @demeliorator
Dan
http://stonic.io/
жара огонь
Bruno
со Stoya?
stoya.io
Dmitry
stoya.io
поймут не только лишь все, мало кто :)
Sander
Всем привет
Sander
У меня есть проверка (которая проверяет, ставить ли laravel или нет): - { role: "kit/php/laravel", when: "'laravel' == platform__phpfpm", } Проблема в том что, я у меня переменная всегда должна быть создана и иметь значение string. Но мне бы хотелось, чтоб в некоторых случиях этой переменной не было в конфигах. Если у меня ее нет, то в этом случаи, он так же не будет ставить Laravel, если там undefined variable. Но на данный момент он выдает ошибку и цепочка тасков останавливается.
Sander
Есть ignore ошибки, но может все токи, как-то можно проверку сделать через when, это было бы лучше.
Volodymyr
@sander92 http://docs.ansible.com/ansible/playbooks_conditionals.html
Volodymyr
ищи defined
Sander
уже смотрел не 1 раз
Sander
и пробывал
Sander
таск все равно запускается
Sander
так 5 сек
Sander
все окай
Sander
спасибо
M
Привет всем
M
{{ '172.16.106.20/255.255.255.0' | ipaddr('prefix') }}=24
M
{{ '{{ansible_default_ipv4.address}}/{{ansible_default_ipv4.netmask}}'| ipaddr('prefix') }}=False
M
как такое можно записать ?
M
всмысле первое дает 24 а второе выводит False
Арсен
кавычки одинарные убери а если в when, то и скобки фигурные
Artemiy
Народ, как в j2 массив из YAML преобразовать в строку, где каждый итем в кавыках и через запятую. Пробую так, но без кавычек ставит... {{ yaml_list | map('quote') | join(', ') }}
Dmitry
untested, терпеть такое не могу :) {{ yaml_list | map('regex_replace', '^(.*)$', '\"\\\\1\"') | join(', ') }} я бы наверное фильтр написал
Dmitry
что-нибудь типа quoted_list: "'{{ \"', '\".join(yaml_list)}}'" можно попробовать
Artemiy
Понял, спасибо
Artemiy
Пытаюсь такое-же со списком IP сделать :D Но список может быть пустым
Artemiy
Делаю {{ test_list | ipaddr | ipwrap }}
Artemiy
Всё круто
Artemiy
Если список не пустой
Artemiy
А вот если пустой, то False возвращает
Artemiy
А хотелось бы [ ]
Artemiy
Как достичь?
Dmitry
{{ test_list | default([]) | блабла }} ?
Artemiy
@cadmi, аналогично False
Alf 🙀
@cadmi, аналогично False
вам надо сделать пустой лист в него concatenate второй лист так что в любом случае у вас будет лист на выходе. как то так.
Artemiy
@beastea Хах, ну да, интересная идея. Я остановился на to_json 😃😃 Работает отлично, только проверки нет на то что IP это IP...
Artemiy
Поэксперементирую потом с конкатенацией. Спасибо!
Alf 🙀
Поэксперементирую потом с конкатенацией. Спасибо!
да не за что. тот еще костыль так то.
Dmitry
можно как-то в ансибл сделать так, что бы степ в плейбуке не выполнялся одновременно для всех серверов, а только по очереди?
Sander
Всем привет,
Sander
можете подсказать, может я что-то не правлиьно делаю, а возможно все правильно, но иначе оно не работает. Разделяю stage, production, делаю по этому примеру: inventories/ production/ hosts # inventory file for production servers group_vars/ group1 # here we assign variables to particular groups group2 # "" host_vars/ hostname1 # if systems need specific variables, put them here hostname2 # "" staging/ hosts # inventory file for staging environment group_vars/ group1 # here we assign variables to particular groups group2 # "" host_vars/ stagehost1 # if systems need specific variables, put them here stagehost2 # "" http://docs.ansible.com/ansible/playbooks_best_practices.html --- в таком случаи мне приходится делать вот такие комманды: ansible-playbook -i inventories/staging test.yml ansible-playbook -i inventories/production test.yml удобней было бы если, было бы вот так: ansible-playbook -i staging test.yml ansible-playbook -i production test.yml или но такой вариант, скорей с моей архитектурой не подойдет, потому что будет путаница где dev, а где prod. ansible-playbook test.yml ansible-playbook test.yml
Dmitry
например я кастую плейбук на несоклько серверов, и в одном из степов я открываю порт в IPTABLES на внешнем сервере и он одновременно не может несколько рулов добавлять, надо только по-очереди
Арсен
@guglez strategy
Dmitry
спасибо
Dmitry
эх
Dmitry
unsupported parameter for module: strategy оно по ходу только для хоста? мне только для одного степа надо
Dmitry
{"changed": false, "failed": true, "msg": "unsupported parameter for module: serial"}
Dmitry
Ж(
Dmitry
мне можно плейбук параллельно выполнять, но кроме одного степа
Dmitry
может задать рандомный слип?
maniac
дерни iptables через shell
maniac
колбасой из &&
maniac
рандомный слип - рандомные последствия
Dmitry
сработало, не туда писал
Alf 🙀
сработало, не туда писал
так а что именно сработало? и что не то писал?
Dmitry
я структуру ямла плохо знаю
Dmitry
вечно отступы пропускаю
Dmitry
- name: open port on bitbucket server iptables: chain: FORWARD action: insert out_interface: vmbr0 protocol: tcp destination_port: 443 source: "{{ ansible_eth0.ipv4.address }}" destination: x.x.x.x/28 ctstate: NEW,ESTABLISHED jump: ACCEPT comment: "added by ansible ncpa_agent role" async: 10 retries: 25
Dmitry
вот правильно
Dmitry
а сначала я две последние опции на том же уровне, что и все остальное вписал
hackru
https://www.ansible.com/open-tower