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
Bruno
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
Alf 🙀
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
сработало, не туда писал
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