Алексей
Ivan
Пррвиет!
Переменная строковая, содержит чёрти что, пример: http_proxy: http://user123:pass123@192.168.168.48:3128
Хочу таск в зависимости от наличия переменной.
Что-то лучше, чем :
when:
- http_proxy is defined
- http_proxy | bool
есть?
Timur
Ivan
раньше было без |bool, но ругалось, если переменная сложная, даже в каывках
Timur
Если просто наличие переменной, то http_proxy is defined вполне достаточно
Ivan
Наличие будет всегда, но она будет пустая
Aleksey
Timur
Или вам нужно убедиться, что она не пустая?
Ivan
то есть !="" надо обработать
Ivan
Aleksey
синтаксис | sucsess был. дропнули
Timur
when:
- http_proxy is defined
- http_proxy | length
Timur
В роли легко обеспечить присутствие параметра, просто задав его в defaults
Ivan
Спасибо за совет.
В дефолтах они есть и возможно я откажут от define, но пока оно не ломает, лишний раз трогать не буду.
Timur
В остальном - как выше написано. http_proxy | length
Timur
В версии 2.8 завезут фикс для bare vars
Timur
Тогда можно будет просто писать when: http_proxy
Timur
Как в питоне
Ivan
Timur
Любая непустая строка будет true
Timur
Есть вариант сделать переменную частью словаря
Timur
Например, param.http_proxy
Timur
Тогда можно и сейчас просто в питоновском стиле conditional юзать
Timur
when: param.http_proxy
Andrey
А не имеет же значения, где become указан? В начале или в конце...!?
- name: Intall Jenkins as a Service
become: yes
include_role:
name: mhutter.docker-systemd-service
Andrey
ругается что прав не хватает...
Ivan
Timur
Timur
Но что за странности с отступами?
Andrey
Что может быть, анзибл не может видимо скопировать файл, хотя я уже файл там создал и права ему поставил 777
Ошибка вот такая: Destination /etc/systemd/system not writable
Права на папку вот такие:
drwxr-xr-x 19 root root 4096 Feb 25 14:08 system/
become yes выставлен
George
selinux?
George
ты под каким пользователем-то ломишься?
George
может он на root не переключается
включи вербоуз моуд
Timur
Timur
Max
greydjin
есть на оф. сайте иерархия перегрузки переменных, т.е. список какая масть кроет какую.
Да, спасибо, прочитал. В моем случае, с аккаунтами, хотел чтобы в all были описаны имена дефолтных аккаунтов, а в подгруппах дописывать дополнительные аккаунты без указания дефолтных, но не получилось. Получается что список из групп перезаписывает список all. Я ничего не упустил, нельзя ведь в группах добавлять элементы в список all?
Nikita
Всем привет, подскажите, можно ли в ansible замутить вывод с конкретной таски?
Timur
Nikita
Результата. У меня есть 2 таски, одна ищет файлы, другая их удаляет. При удалении выводится результат по каждому файлу, и вывод занимает очень много места в логах
Timur
Timur
Nikita
Да никаким, просто аутпут. ansible запускается в тимсити, и лог тимсити становится нечитабельным
Timur
Nikita
Никаких, просто плейбук и 2 таски
Nikita
https://pastebin.com/raw/B1tMBnby
Nikita
Нет, есть поддиректории
Timur
Это неважно. Удаляете всю директорию?
Timur
Или только определенные файлы выборочно?
Nikita
Нет, у меня эксклюд стоит на тип файлов
Nikita
- name: find files into {{ dir }}
find:
paths: "{{ dir }}"
excludes: "*logs*"
recurse: yes
file_type: any
register: app_files
- name: clear app directory {{ dir }}
file:
state: absent
path: "{{ item.path }}"
with_items:
- "{{ app_files.files }}"
Timur
А если вот так?
NINJA ENERGISING, [25.02.19 19:21]
- name: find files into {{ dir }}
find:
paths: "{{ dir }}"
excludes: "*logs*"
recurse: yes
file_type: any
register: app_files
- name: clear app directory {{ dir }}
file:
state: absent
path: '{{ item.path }}'
loop: '{{ app_files.files }}'
no_log: True
Nikita
Вывод укороченный получается, но он есть
Nikita
Я уже пробовал
Timur
Можно добавить в конфиг ансибла stdout_callback=selective
Timur
Попробуйте
Timur
И еще
bin_ansible_callbacks=True
Nikita
Ну тогда у меня по всем задачам не будет аутпута
Nikita
А мне нужно по конкретной
Oleksandr
Башсибл с find -delete ;)
Timur
Timur
Вы можете выбирать - для каких тасков делать аутпут, а для каких - нет
Nikita
Да, извиняюсь, с full_skip перепутал
Timur
Подходит вариант?
Timur
В режиме дебага и с этим плагином вывод будет виден для всех тасков
Nikita
Не знаю ещё, сейчас разберусь как он работает и проверю
Timur
К таскам, которые хотите видеть, добавляете:
tags: [print_action]
Nikita
В принципе да, а для gather facts как его выставить?:)
Timur
Nikita
ну первой такской же идет сбор фактов и её результат тоже скипается в выводе
Timur
Там все равно ничего важного
Nikita
Ладно, попробую, спасибо за помощь!
Timur
Если очень нужно, можете добавить явным образом:
- setup:
tags: [print_action]