Alexandr
Всем привет. Бэкаплю сеть через routeros_command и asa_command, может быть натолкнет кто то на мысль как прикрутить в zabbix мониторинг этого дела?
например, на хосте с которого делается бэкап, ставишь заббикс-агент. в бэкап добавляешь сохранение результата в файл. парсишь файл заббикс-агентом.
Kolya
В том смысле что в бук с бэкапом дописать задачу на парсинг вывода zabbix агентом и отправку на сервер
Alexandr
а таском это решить можно? Не хотелось шедулить агента
думаю, да. можно вызывать агента с ключем -t и включить это в таску.
Alex
Идемпотентный
хмм, может я делаю что то не так, но у меня каждый раз при запуске получаю измнения. Использую такой таск - name: Set join key become: yes lineinfile: path: "{{ jfmc_docker_compose_config }}" regexp: '^JF_SHARED_SECURITY_JOINKEY.+' line: 'JF_SHARED_SECURITY_JOINKEY={{ jfmc_join_key }}' Каждый раз получаю TASK [itests/jfmc : Set join key] *** changed: [jfmc_master] => changed=true backup: '' msg: line replaced
NS 🇷🇺
шо за спам
Timur
Спамер отправился в бан
Timur
Смотрели на результат после выполнения?
Vladislav 👻
Две переменные, одна VAR, а вторая VARXZ
Vladislav 👻
Регулярка обе возьмет
Игорь
Всем привет, хочу попробовать ансиблом установить виндовый msi, прочитал статью https://docs.ansible.com/ansible/latest/modules/win_package_module.html#examples не совсем догоняю как правильно использовать синтаксис....получается такая команда sudo ansible windows -i /etc/ansible/windows/hosts -m win_package path "\\путь к msi" подскажите где ошибся?
Alex
Знак равенства добавь в регулярку
не помогает, все равно каждый раз меняет, только теперь пишет TASK [itests/jfmc : Set join key] *** changed: [jfmc_master] => changed=true backup: '' msg: line added вместо line replaced
Vladislav 👻
точка плюс в конце не должны быть
Vladislav 👻
Vladislav 👻
вот пример
Alex
все равно меняет каждый раз
Alex
- name: Set join key become: yes lineinfile: path: "{{ jfmc_docker_compose_config }}" regexp: '^JF_SHARED_SECURITY_JOINKEY=' line: 'JF_SHARED_SECURITY_JOINKEY={{ jfmc_join_key }}'
Vladislav 👻
запусти с ключом --diff вроде
Vladislav 👻
он покажет, что было, что стало
Vladislav 👻
возможно еще где-то меняется потом переменная
Alex
ничего не меняется
Alex
# diff -u env-1st-pass env-2nd-pass пусто
Timur
ничего не меняется
Тогда что меняется при каждом запуске?
Timur
Файл как выглядит?
Vladislav 👻
Alex
Тогда что меняется при каждом запуске?
в этом собственно и вопрос :)
Alex
Файл как выглядит?
обычный .env файл, который используется в docker-compose # tail -5 env-2nd-pass JF_ROUTER_SERVICEREGISTRYURL=http://10.0.7.41:8081/access JF_SHARED_SECURITY_JOINKEY=df3...3de JF_ROOT_DATA_DIR=/opt/mission-control/
Alex
changed: [jfmc_master] => changed=true backup: '' diff: - after: '' after_header: /opt/installers/docker/jfmc-compose-4.0.0-m009/.env (content) before: '' before_header: /opt/installers/docker/jfmc-compose-4.0.0-m009/.env (content) - after_header: /opt/installers/docker/jfmc-compose-4.0.0-m009/.env (file attributes) before_header: /opt/installers/docker/jfmc-compose-4.0.0-m009/.env (file attributes) invocation: module_args: attributes: null backrefs: false backup: false content: null create: false delimiter: null directory_mode: null firstmatch: false follow: false force: null group: null insertafter: null insertbefore: null line: JF_SHARED_SECURITY_JOINKEY=df3...3de mode: null owner: null path: /opt/installers/docker/jfmc-compose-4.0.0-m009/.env regexp: ^JF_SHARED_SECURITY_JOINKEY= remote_src: null selevel: null serole: null setype: null seuser: null src: null state: present unsafe_writes: null validate: null msg: line replaced
Alex
выхлоп с -vvv
Volodymyr
Коллеги, а есть возможность в j2 преобразовать к base64 конкатинацию переменных и текста?
Alex
Коллеги, а есть возможность в j2 преобразовать к base64 конкатинацию переменных и текста?
я так делал - name: Prepare npm auth credential set_fact: npm_auth_base64: "{{ (admin_username + ':' + admin_password) | b64encode }}"
Sheridan
Камрады, пните, пж, в нужном направлении... В каталоге есть еще кучка каталогов. Нужно получить имя самого молодого каталога, желательно об lookup()
Nikita
Только в пайпе нужно ещё первую строку взять
Nikita
То есть можно просто нужный баш конвеер собрать и в pipe плагин передать
Sheridan
а, вариант вполне, спасибо
Sheridan
Модуль find чем не устраивает?
чому не устраивает? Я ж пика просил, это как раз и есть пинок )
Timur
Он делает все что нужно
Timur
Делаете register и фильтруете результаты как хотите
Nikita
Зачем этот башсибл?
Попросили через lookup:) А так да, find + register + filter
Nikita
А вот подскажите мне пожалуйста. Есть хост, который участвует в нескольких группах. В 2 из этих группах определена переменная на уровне group_vars. В одном случае она пустая. Но при выполнении плея берутся переменные из другой группы, не пустая, хотя плей выполняется на группу, где эта переменная пустая
Игорь
Коллеги , подскажите на что ругается?
Volodymyr
Коллеги , подскажите на что ругается?
на win_package или ошибка в имени, или не знает такого модуля
Игорь
на win_package или ошибка в имени, или не знает такого модуля
а как проверить модуль знает или нет?
Sergey
Коллеги , подскажите на что ругается?
На синтаксис. В плее у тебя должен быть раздел tasks.
Игорь
На синтаксис. В плее у тебя должен быть раздел tasks.
ясно понял пошел курить синтаксис...
Sergey
в пине в правилах есть ссылки
Игорь
в пине в правилах есть ссылки
ага спс... а то время 1с пришло обновлять ...решил вот попробовать
Oleg
Здравствуйте! Подскажите, есть хост с именем в инвентори oleg_dev, есть переменная, передаваемая плейбуку в экстраварсах prefix=oleg.dev Как сделать чтобы в екстраварсах в такой конструкции "remote_host_ip_address": "{{ hostvars['{{ host }}']['ansible_host'] }}" host был равен oleg_dev переменной?) чтобы в prefix заменить oleg.dev на oleg_dev в общем
Timur
Что конкретно нужно сделать?
Timur
Получить в переменную имя хоста из инвентаря?
Oleg
Получить в переменную имя хоста из инвентаря?
да, из другой переменной префикс
Oleg
"remote_host_ip_address": "{{ hostvars['{{ prefix | regex_replace(''\.dev'', ''_dev'') }}']['ansible_host'] }}"
Oleg
не катит(
Timur
да, из другой переменной префикс
Имя хоста (точнее - группы) из инвентаря получается переменной inventory_hostname
Timur
Не очень понимаю суть проблемы, если честно
John
Тимур, а подскажи пожалуйста. Есть плейбук, который по сути запускает скрипт (не спрашивай детали, черт ногу сломит). Есть ли возможность запускать скажем по 10 хостов, и после каждой 10-ки ждать 6 минут перед запуском следующей 10ки хостов?
Oleg
- hosts: localhost tasks: - add_host: name: "{{ remote_host_ip_address }}" ansible_user: 'centos' groups: devservers пытаюсь из динамического инвентори вытащить хост и добавить его к инвентори, не разрушив текущие плейбуки, задача конечно странная но нужно как можно меньше изменить в текущей структуре)
John
что загуглить что бы найти решение?)
Timur
В конце плея делать таск с задержкой
Timur
wait_for
Timur
По 10 хостов - см. rolling updates
R
Привет, комьюнити! Как вы считаете, управление серверами Windows по типу Linux используя cygiwin на клиентаx, вместо предлогаемой схемой управления Windows средствами ps в Ansible, это адекватно?)