Alexandr
Тебе нужна одна *nix like машина она же control. На машинах где должно что-то произойти с помощью ансибла, нужен питон для *nix, powershell от 3 версии для windows(+настройка winrm). Дальше лупишь плейбуками/адхоками по своим машинам
Павел П.
Всем привет.
Не решал ли кто проблему удаления сервера на заббиксе из определенной группы хостов?
Добавлять в одну группу, не удаляя из остальных удобно, включив force:no в модуле zabbix_host.
А вот удаление не пойму как сделать не прибегая к программированию на ямле..
Sergey
inqfen
Павел П.
В целом - согласен. явно описать в каких группах должен быть хост - оно правильнее. Попробую решить административно а не технически)
Womchik
Womchik
а модуль типа не через api работает 😊
Sergey
Павел П.
получить список всех групп где лежит хост, сохранить в дикт какой, удалить ненужную, добавить по-новой
Sergey
Sergey
Павел П.
челленджево)
Sergey
Rasim
Привет, ребята, помогите пожалуйста.
есть такой кусок group_var
zabbix_interfaces:
- { type: "1", port: "10050" }
- { type: "4", port: "8686" }
и есть кусок handler
interfaces:
- type: "{{ item.type }}"
main: 1
useip: 0
dns: "{{ ansible_fqdn }}"
port: "{{ item.port }}"
loop: "{{ zabbix_interfaces }}"
выдает '<' not supported between instances of 'str' and 'int'\n
пробовал так, не помогло:
- type: "{{ item.type|int }}"
port string, type int, судя по документации к api
где может быть ошибка?
Anton
Господа, есть кто компетентный в AWX? Создание smart inventory по переменным у хоста?
Не нравится мне подходить к созданию смарт инвенторя через
variables.regex:<имя переменной>.*<значение переменной>
есть какой-то более рабочий вариант?
Vladislav 👻
Vladislav 👻
да и порт тоже
Rasim
Gleb
https://github.com/ansible/ansible/issues/33067
https://github.com/ansible/ansible/issues/24425
есть идеи как с этим жить? | string не особо помогает
Vadik
Всем привет ))
Такой вопрос можно ли подключить один файл со всеми пееменными для ролей типа у меня есть ^
---
- hosts: master
become: yes
remote_user: root
become_method: su
roles:
- { role: package }
- { role: postgres }
Хочу к ним подключить все переменные чтобы не писать в каждой роли по отдельности в file package/vars ?
Pavel
Vadik
можешь кинуть пример небольшой
я до этого просто использовал внутри плейбука все, а тут уже не получается так
greydjin
кто-то пользуется ансибл ролью публичной, для разворачивания постгре мастер-слейв?
greydjin
может в галакси что покажите или статью где описана роль. хочу роль с отзывом. пока нашел такое
https://opensourceforu.com/2019/02/devops-series-configuring-a-postgresql-master-slave-setup-using-ansible/
Sergey
Gleb
а если я перед этим упорото попрограммировал на джиндже такой дичи как
[servers.attributes]
{% for k,v in service.servers.attributes.items() %}
{{ k }} = {{ v | to_nice_json }}
{% endfor %}
Gleb
даже вот так
Sergey
Да без разницы.
es]x
доброго подскажите по чему после подключения перемыных через файл
include_vars:
file: vm_names_ips.yml
говорит что переменая не определенна
name: yum update packages
yum:
name: '*'
state: latest
update_only: True
become: True
delegate_to: "{{ item.1 }}"
es]x
туплю простите, забыл про loop
A
Всемм привет! Какую версию yaml использует ansible? что то немогу найти...
Timur
YAML 1.1
es]x
Αλέχ
уже и YAML 1.2, судя по референсам в официальной доке
https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
A
Αλέχ
более точно сказать тяжело, но из того, с чем мне приходится постоянно сталкиваться, синтаксис получается комбинированный: yaml 1.2 + вкрапления jinja фильтров + python словари
Старый
http://dpaste.com/0838NZ2 кто юзает ансибл для firewalld 7
Anonymous
http://dpaste.com/0838NZ2 кто юзает ансибл для firewalld 7
1. В чём вопрос?
2. Зачем в этом примере rich rule?
Если твой пример не работает (нет возможности проверить), то вот так оно работает у меня
---
- name: open scylla ports
firewalld:
port: "{{ item }}/tcp"
permanent: yes
immediate: yes
state: enabled
zone: public
loop:
- 9180
- 9100
- 9042
Старый
Старый
а руль нужна, чтобы ipv4\ipv6 ставить
Отделение Bereke Bank
Отделение Bereke Bank
rich_rule: rule family="ipv4" source address="{{ hostvars[item]['ansible_default_ipv4']['address'] }}/32" accept
типа так
Старый
😕чтот стрёмно выглядит
Sergey
Александр
так
Александр
господа
Александр
если я хочу сделать when на принадлежность к группе в hosts
Александр
как мне это прописать?
Отделение Bereke Bank
when: "'something' in group_names"
Sergey
или в роль делаешь переменную hostgroup
и ссылаешься when: hostgroup == 'group1'
Sergey
- hosts: "{{ hostgroup }}"
roles:
- node-exporter
become: true
Александр
ок спасибо
Timur
Александр
разве?
Александр
есть большой плейбук, содержащий полтора десятка ролей
Oleksandr
тебе намекают, что вместо when сразу указать где применять
Oleksandr
а так да - технически ты можешь это сделать
Александр
всмысле в плейбуке при запуске роли?
Oleksandr
ну да
Oleksandr
зачем проверять и скипать если можно не проверять и не скипать
Oleksandr
как-то так
Александр
логично
Александр
:D
Александр
ну, там от масштаба зависит, имхо
Александр
если из целой роли одна команда, то можно и в роли
Александр
а если всю роль, то проще в плейбуке
Oleksandr
es]x
подскажите пож в модуль command использую /bin/someapp —password={{ password }} конце пароля стоит стмвол - и в такой консрукции он отбрасывается одинарные и двойные ковычки не помогли, как быть?
Sergey
Отделение Bereke Bank
Αλέχ
чойта странное? вполне отличное решение для шаблонов/фильтров jinja
Отделение Bereke Bank
Я так у тасок делаю когда ее нужно запустить в подгруппе группы 🤔
Sergey
Потому что отбор хостов из всего инвентори делается через "hosts: group_foo", Карл, понимаешь? Через hosts!
Sergey
Для этого делается ещё одна группа.
Αλέχ
не вижу смысла плодить дополнительную группу под единичный таск или роль, когда я могу сделать выборку по префиксу в названии группы, например, или сделать эксклюд по ней