Kolya
Kolya
В том смысле что в бук с бэкапом дописать задачу на парсинг вывода zabbix агентом и отправку на сервер
Kolya
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
Timur
Смотрели на результат после выполнения?
Vladislav 👻
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
Файл как выглядит?
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
George
Alex
выхлоп с -vvv
Volodymyr
Коллеги, а есть возможность в j2 преобразовать к base64 конкатинацию переменных и текста?
Volodymyr
Sheridan
Камрады, пните, пж, в нужном направлении...
В каталоге есть еще кучка каталогов. Нужно получить имя самого молодого каталога, желательно об lookup()
Nikita
Nikita
Только в пайпе нужно ещё первую строку взять
Nikita
То есть можно просто нужный баш конвеер собрать и в pipe плагин передать
Timur
Sheridan
а, вариант вполне, спасибо
Timur
Timur
Timur
Он делает все что нужно
Timur
Делаете register и фильтруете результаты как хотите
Nikita
А вот подскажите мне пожалуйста. Есть хост, который участвует в нескольких группах. В 2 из этих группах определена переменная на уровне group_vars. В одном случае она пустая. Но при выполнении плея берутся переменные из другой группы, не пустая, хотя плей выполняется на группу, где эта переменная пустая
Sergey
Nikita
Игорь
Коллеги , подскажите на что ругается?
Игорь
Volodymyr
Игорь
Sergey
в пине в правилах есть ссылки
Oleg
Здравствуйте! Подскажите, есть хост с именем в инвентори oleg_dev, есть переменная, передаваемая плейбуку в экстраварсах prefix=oleg.dev
Как сделать чтобы в екстраварсах в такой конструкции
"remote_host_ip_address": "{{ hostvars['{{ host }}']['ansible_host'] }}"
host был равен oleg_dev переменной?) чтобы в prefix заменить oleg.dev на oleg_dev в общем
Timur
Timur
Что конкретно нужно сделать?
Timur
Получить в переменную имя хоста из инвентаря?
Oleg
Oleg
"remote_host_ip_address": "{{ hostvars['{{ prefix | regex_replace(''\.dev'', ''_dev'') }}']['ansible_host'] }}"
Oleg
не катит(
Timur
Не очень понимаю суть проблемы, если честно
Timur
John
Тимур, а подскажи пожалуйста.
Есть плейбук, который по сути запускает скрипт (не спрашивай детали, черт ногу сломит).
Есть ли возможность запускать скажем по 10 хостов, и после каждой 10-ки ждать 6 минут перед запуском следующей 10ки хостов?
Oleg
- hosts: localhost
tasks:
- add_host:
name: "{{ remote_host_ip_address }}"
ansible_user: 'centos'
groups: devservers
пытаюсь из динамического инвентори вытащить хост и добавить его к инвентори, не разрушив текущие плейбуки, задача конечно странная но нужно как можно меньше изменить в текущей структуре)
Timur
John
что загуглить что бы найти решение?)
Timur
В конце плея делать таск с задержкой
Timur
wait_for
Timur
По 10 хостов - см. rolling updates
R
Привет, комьюнити! Как вы считаете, управление серверами Windows по типу Linux используя cygiwin на клиентаx, вместо предлогаемой схемой управления Windows средствами ps в Ansible, это адекватно?)
Sergey
Dr. L.S.Dee