PsyDebug
George
Возьми первый элемент списка (нулевой)
Anton
тю. спасибо)
Anton
masterip | join('\n') решилось
Anton
ещё вопрос. нужно как то проверить есть ли коннект с одного хоста ко второму
К примеру пингануть через Shell могу, как то можно вернуть ответ есть ли коннект или нет ?
George
George
Возьми, сохрани в переменную, распарси. И лучше не пинг, а nc -vz IP PORT
Anton
точно) я же могу шелл вернуть стдаут
Timur
George
Timur
Модуль пинг и всякие wait_for отлично работают
George
https://t.me/pro_ansible/105988 я его упомянул, моя совесть чиста
Roman
Привет! Подскажите, можно ли указать ANSIBLE_SKIP_TAGS в inventory, чтобы для группы хостов не выполнялись шаги с определенным тегом?
Roman
через —skip-tags получается, но хотелось бы именно в коде задать
Pit
Roman
Oleg
столкнулся с проблемой
таска выполняется на хостах, но во время выполнения делегирует проверку наличия файла (указанного в переменной file_name) на другой хост и в случае отсутствия файла должна прекратиться
- name: Check uploaded file(s) exists
stat:
path: "/path/to/file"
delegate_to: 'host_with_file'
when: file_name != ''
register: Check_file
- fail:
msg: "Sorry file(s) is not exists"
when: Check_file.stat.exists == 'false' and file_name != ''но таска не прекращается(
Oleg
прошу помощи
Владимир
Сам столкнулся с этой же проблемой, модуль fail не отрабатывает, не завершает playbook. В чем дело пока не разобрался.
Yakov
Check_file.stat.exists == 'false а там точно стринг, а не False ?
Oleg
Check_file.stat.exists == 'false а там точно стринг, а не False ?
ну при -vvv вот какой результат:
{"changed": false, "stat": {"atime": 1551089569.0, "attr_flags": "", "attributes": [], "block_size": 65536, "blocks": 8, "charset": "us-ascii", "checksum": "c4a4bbf87fd9805e833fa42b5dc37bc472eeb0c0", "ctime": 1565775263.879804, "dev": 80, "device_type": 0, "executable": false, "exists": true, и тд и тд
Oleg
"exists": true ну или false
Yakov
ну да, он булевый, попробуй от этого плясать, и пока что убрать 2 условие
Владимир
Владимир
Владимир
У меня так
Oleg
Владимир
и тоже не отрабатывает
Anatoliy
Anatoliy
stats судя по выводу и так уже bool
Anatoliy
а сравниваете со строкой
Anatoliy
where .stats == false если исходный пример брать
Anatoliy
а 'false' == true на самом деле
Anatoliy
точнее так 'false' | bool == true
Anatoliy
ну как бы да, но он неявно приводит
Yakov
частности) в любом случае, вариант сравнения стринга с булом это не вариант)
Sergey
ну при -vvv вот какой результат:
{"changed": false, "stat": {"atime": 1551089569.0, "attr_flags": "", "attributes": [], "block_size": 65536, "blocks": 8, "charset": "us-ascii", "checksum": "c4a4bbf87fd9805e833fa42b5dc37bc472eeb0c0", "ctime": 1565775263.879804, "dev": 80, "device_type": 0, "executable": false, "exists": true, и тд и тд
Зачем гадать, достаточно посмотреть в исходники:
https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/files/stat.py#L467
Sergey
В исходниках bool
Timur
Владимир
Спасибо!
Oleg
Сейчас опробуем все варианты!
Ivan
Sergey
уффффф
лютый баян ты запросил.....
посмотрю дома.
Ivan
Denis 災 nobody
0xDEFACE
мужики привет
0xDEFACE
Подскажите пожалуйста у меня есть роль в которой есть дефолтные переменная словарь. мне нужно в плейбуке один из ключей словаря определить, но когда я пытаюсь это сделать перетираю своей переменной дефолтную
George
0xDEFACE
сейчас чтобы заработало поставил в ansible.cfg hash_behavior = merge
0xDEFACE
но я бы не хотел такое поведение глобально
George
1. Засунь словарь в переменную (другую)
2. Смержи словари (я написал - при помощи фильтра)
3. Укажи при вызове роли итоговую переменную
George
4. Отрефакторь
George
https://stackoverflow.com/questions/25422771/merging-dictionaries-in-ansible/33226471#33226471
Tadeusz
лол
Timur
Timur
Про фильтр combine сказано верно. Его вполне достаточно
Sergey
ага
внезапно
Извини, что-то я не нашёл файлика. Скорее всего, там было что-то не слишком интересное, так что стёр.
Ivan
Maksim
Всем привет
Maksim
Подскажите, как запустить из плейбука ансибла процесс в фоновом режиме
Sergey
Maksim
Какую задачу решаешь?
Мне надо запустить minio сервер.
Просто при запуске он ждет ввода, мне его либо в фоновый режим надо отправлять, либо делать в виде демона
Sergey
Gleb
а как же shell: nohup minio server &
Albert
либо контейнер: https://docs.min.io/docs/minio-docker-quickstart-guide.html
Maksim
Это для тествого задания, я, если честно, не очень хочу так заморачиваться. Максимум хотел в крон его впилить)
Maksim
Я про systemd unit, например
Maksim
Спасибо за советы, пошел читать
George
Viktor
Добрый день. В плейбуке есть такой блок:
vars:
creds:
- {user: aaa, pass: qwerty}
- {user: bbb, pass: asdfgh}
tasks:
- name: Ansible Template
template:
src: hello_world.j2
dest: out.txt
Все работает хорошо, и при добавлении новых данных в creds в исходящем файле создается соотвествующие записи. Но, мне еще нужно переменную для только первого юзера записать в другой файл. Подскажите, пожалуйста, как это можно сделать? Так не работает - "{{ var.username[0] }}"
Timur
Timur
Viktor
Спасибо большое! 🙂
Oleg
Коллеги, можно ли в Ансибл как то сделать сравнение имен файлов? Типо что введенная мною переменная (например, файл.тхт) соответствует названию файла, который лежит в целевом каталоге?