Timur
В общем, если вам не нужен навороченный синтаксис в команде, лучше использовать command
Timur
Это best practice
Timur
А вообще и command и shell лучше всеми силами избегать
Egor
да я в курсе за бест практис, читал
Egor
но выбора нет пока-что
Отделение Bereke Bank
подскажите, а это нормально что хандлеры выполняются не в том порядке, в котором они указаны в notify?
Timur
Timur
Хотите несколько тасков подряд запустить хендлером?
Отделение Bereke Bank
Да
Отделение Bereke Bank
может я конечно чтото не так делаю, но таска меняет tuned profile - далее нужно применить профиль и перезапустить сервис. именно в таком порядке
Отделение Bereke Bank
не удивлюсь если у ансибла есть модуль для работы с tuned. хотя я чет не нашел
Timur
Да
Есть минимум два способа
Timur
Либо делать в хендлере import_tasks
Timur
Либо делать несколько хендлеров. И первый вызванный тригерит следующий и т.п.
Timur
Вполне надежная схема
Timur
Timur
Можете посмотреть как в некоторых наших ролях сделано
Отделение Bereke Bank
Спасибо 👍🏽
Ivan
Да
Вспоминается "Тачка на прокачку" и чувак с мониторами
Pavél
Отделение Bereke Bank
Pavél
V.
привет, кто может подсказать, иза чего такое может быть, когда плэйбук через крон выполняю, таски с модулями net_put net_get просто висят в фоне бесконечно долго, если руками из консоли плэйбук запустить то все ок
V.
Vladislav 👻
Подскажите, можно как-то судошнуться через конкретного пользователя?
А то у меня есть инсталл апликейшена одного, там надо из под рута, но пользователь берется из SUDO_USER
George
Vladislav 👻
Пока писал, осенило, что я могу просто env пробросить для SUDO_USER 😬
George
по ссш
Vladislav 👻
Maxim
как бы мне автоматом добавить группу хостов в гору инвентори-файлов?
Egor
гору перечисляете в листе и потом with_items фигачите lineinfile в конец файла
Egor
это прям навскидку
Egor
что-то вроде
- name: insert into files
lineinfile:
path: '{{ item }}'
line: 'Added Line 1'
insertbefore: EOF
with_items:
- '{{ fileslist }}'
Egor
либо можете юзать blockinfile по похожей схеме
Timur
Egor
щито поделать
Egor
:-)
Timur
Инвентари в каком формате?
Timur
Если yaml, то можно сделать проще
Sergey
Timur
Timur
Потому что задача добавлять хосты в инвентарные файлы выглядит странно
Timur
Непонятно, что мешает просто добавить ещё один инвентарный файл с нужными хостами
Sergey
Sergey
Aleksey
Кто-то знает способ получить ssh ключ хоста по его fqdn для known_hosts, без того чтобы дергать ssh-keyscan в command ? Может какой lookup плагин есть, а я его не нахожу.
Boris 🦍
Привет подскажите как в value doby модуля uri передать контент файла удаленной машины ?
- name: Load data
shell: "cat {{ local_ssl_dir }}/{{ pki_domain_name }}.key"
register: key_data
Пробую шеллом считываеть вызывать
- name: "main"
uri:
url: "{{ addr }}/v1/{{ envite }}"
method: POST
body: ' { "key": "{{ key_data.stdout | to_json }}" } '
body_format: json
Но получаю ошибку
Boris 🦍
пробовал slurp модуль для , но ловлю подобную ошибку
Timur
Timur
shell cat - сразу в топку
Boris 🦍
Брось бяку
а какие альтернативы для удаленной машины ?
Timur
Timur
Что в stdout выводится?
Timur
Boris 🦍
Какова исходная задача?
генерить сертификаты, складывать их в vault от hashicorp .... генерю с помощью consul_template сразу пачку
Boris 🦍
они валются на хосте, нужно их считать и записать в vault hashicorp
Sergey
Sergey
https://www.hashicorp.com/blog/certificate-management-with-vault
Boris 🦍
Boris 🦍
просто помимо генерации , еще их нужно положить в волт
Boris 🦍
в secret
Boris 🦍
Boris 🦍
Какова исходная задача?
т.е мой подход может быт ьне совсем правильный, но теперь уже просто хотелось бы разобраться, можно ли юзать контент и записывать его через api )
Boris 🦍
Что в stdout выводится?
- name: slurp data
slurp:
src: "{{ local_ssl_dir }}/{{ pki_domain_name }}.key"
register: mydata
- name: "main | write CA via API"
uri:
url: "{{ vault_addr }}/v1/{{ vault_secret_path }}/{{ pki_domain_name }}"
method: POST
body: ' { "key": "{{ mydata }}" } '
body_format: json
Вот так удалось записать данные. но они почемуто поехали, форматирование сбилось
Sergey
Boris 🦍
Boris 🦍
через cli без проблем все записывается и считывается
Sergey
было что-то похожее у меня, когда YML грузил в Consul, закончилось тем, что написал свой модуль.
Timur
Timur
Что в переменной mydata?
Timur
Условно говоря, если брать пример выше, то после slurp:
mydata.content|b64decode|from_json
Timur
Timur
Timur
Просто научитесь нормально данными оперировать
Boris 🦍
Покажите пример
- name: slurp data
slurp:
src: "{{ local_ssl_dir }}/{{ pki_domain_name }}.key"
register: mydata
- name: "main | write CA via API"
uri:
url: "{{ vault_addr }}/v1/{{ vault_secret_path }}/{{ pki_domain_name }}"
method: POST
body:
key: "{{ mydata.content|b64decode|from_json }}"
body_format: json