V 🏴☠️
Почему то не прокатывало
V 🏴☠️
А, я понял почему не прокатывало. У меня были одинаково названы группы и хосты. Недавно переделал это
V 🏴☠️
Всё, спасибо
Alexander
Всем привет!
Подскажите, как в выражении ниже написать, чтобы tag_category воспринималась ansible-ом как переменная, а не строка?
set_fact:
tag: "{{ (item.tags | items2dict(key_name='category_name', value_name='name'))['tag_category'] }}"
Alex
Volodymyr
указать как переменную, а не строку
Alexander
спасибо, попробую
Отделение Bereke Bank
Нужен совет.
Было https://privatebin.net/?942e57538319f3f9#CnMMQ2d5ivDu4znvxLgWq5kstqeS1rfD4qrFvpPMcnGB
Таким образом я мог рестартить только нужный инстанс, а не весь луп.
Понадобилось сделать так https://privatebin.net/?a26e399315df2b5e#8kZjHz8HEuWwh55bdysgwbaonMXkH3Eo3MzhMkj3oZ2z
Теперь не могу допереть как реализовать рестарт только нужного инстанса. Как раньше через регистер и луп по результатам не получается.
Отделение Bereke Bank
@tnt4brain делал такое?)
Sergey
Нет, это в чистом виде странное. Но я бы сделал register, а потом по нему пробежал.
Sergey
Ну раз ты всё равно вместо кода на питоне пишешь странное на Ansible......
Отделение Bereke Bank
Отделение Bereke Bank
Anton
AlexShmel🐝
Привет, подскажите пожалуйста, хочу что бы плейбук завершал выполнение если переменная LUKS_PASS не задана
- name: Set variables
set_fact:
MODE: "{{ lookup('env','MODE') | default('new', true) }}"
RPI_ID: "{{ lookup('env','RPI_ID') }}"
RPI_DIR: "{{ lookup('env','RPI_DIR') | default('/tmp/raspi', true) }}"
RPI_ISO: "{{ lookup('env','RPI_ISO') | default('/opt/raspi.img', true) }}"
DISK_DEV: "{{ lookup('env','DISK_DEV') | default('mmcblk0', true) }}"
LUKS_PASS: "{{ lookup('env','LUKS_PASS') }}"
- name: Check is varriables set
fail:
msg: 'variable {{item}} not defined'
when: item is not defined
with_items:
- LUKS_PASS
- RPI_ID
Вместо ожидаемого выхода получаю
TASK [raspi_create : Set variables] *******************************************************************************************************************************************************************************
ok: [64.888888]
TASK [raspi_create : Check is varriables set] *********************************************************************************************************************************************************************
skipping: [64.888888] => (item=LUKS_PASS)
skipping: [64.888888] => (item=RPI_ID)
AlexShmel🐝
оно его просто скипает и продолжает выполнение
AlexShmel🐝
Добавил в ansible.conf
[defaults]
error_on_undefined_vars = True
Grek 🇺🇦
вызывай плейбук отдельно, с условием
Отделение Bereke Bank
Aleksey
Привет, подскажите пожалуйста, хочу что бы плейбук завершал выполнение если переменная LUKS_PASS не задана
- name: Set variables
set_fact:
MODE: "{{ lookup('env','MODE') | default('new', true) }}"
RPI_ID: "{{ lookup('env','RPI_ID') }}"
RPI_DIR: "{{ lookup('env','RPI_DIR') | default('/tmp/raspi', true) }}"
RPI_ISO: "{{ lookup('env','RPI_ISO') | default('/opt/raspi.img', true) }}"
DISK_DEV: "{{ lookup('env','DISK_DEV') | default('mmcblk0', true) }}"
LUKS_PASS: "{{ lookup('env','LUKS_PASS') }}"
- name: Check is varriables set
fail:
msg: 'variable {{item}} not defined'
when: item is not defined
with_items:
- LUKS_PASS
- RPI_ID
Вместо ожидаемого выхода получаю
TASK [raspi_create : Set variables] *******************************************************************************************************************************************************************************
ok: [64.888888]
TASK [raspi_create : Check is varriables set] *********************************************************************************************************************************************************************
skipping: [64.888888] => (item=LUKS_PASS)
skipping: [64.888888] => (item=RPI_ID)
set_fact тут зачем ? почему оно не в defaults ? почему оно не в required vars ?
Aleksey
{{ variable | mandatory }}
Aleksey
Aleksey
эта переменная должна быть задана до запуска плейбука
Aleksey
Что это ? Роль особая ? файл ?
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable
Aleksey
AlexShmel🐝
Спасибо пойду читать
Aleksey
Grek 🇺🇦
что не так? вынести все что должно выполняться при определенном условии в отдельный плейбук
Aleksey
@tnt4brain как же я тя понимаю бро.
Grek 🇺🇦
@freeseacher ну давай, как котенка - ткни в правильное
Aleksey
не буду я в глубокой прострации.
я не понимаю зачем использовать магию 5000 уровня когда можно обойтись подножкой
Aleksey
условный импорт плейбука это как раз она — магия 5000 уровня.
Aleksey
если вам она зачем то нужна наверное вы админите уберлегаси систему или стреляете из пушки по воробьям
Grek 🇺🇦
или не знаю как сделать правильно, никогда не стоит забывать что есть и такой вариант
Sergey
Grek 🇺🇦
вариантов как сделать то что он хочет явно больше 1, мне первым пришло в голову такое решение, а потом всякий треш типа фейлить таск если переменная не задана
Aleksey
а есть просто ключевое слово mandatory
Aleksey
которое ровно для этого придумано
Aleksey
но только в set_fact оно будет работать не корректно
Aleksey
потому что вся постановка вопроса не правильная
Lamobot
Sergey
https://t.me/pro_ansible/162238
^^^ +++
Aleksey
https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#defining-mandatory-values
Aleksey
вот описано что делать с такими вот вещами
Grek 🇺🇦
круто, но как ты сказал выше - тут ясно что ничего не ясно
Aleksey
вот примеры использования https://github.com/search?q=mandatory+filename%3Amain.yml&type=Code
Aleksey
поиск по github тоже очень простая магия. используйте её.
Grek 🇺🇦
дякс
Алексей
Anonymous
готов "выслушать" альтернативные точки зрения. мол, вот John, Вы ошибайтесь и можно реализовать через with_items кейс, описанный в документации https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#defining-inner-and-outer-variable-names-with-loop-var
Sergey
@John554 тебе показалось, я не выражал своего мнения по поводу твоего высказывания, и тем более никак не выражал своего желания что-либо с тобой обсуждать.
Anonymous
просто товарищ @gecube сразу начал тебя звать. а так были странные сообщения от @Lamobot: "Вопрос странный, такие темы уже были здесь и заканчивались обычно RO каких либо рьяных отстаивателей своего мнения :)"
Anonymous
хотя обсуждать нечего
Anonymous
with_items или loop это не вопрос "вкуса". а вопрос возможностей.
Anonymous
у loop возможности шире
Denis 災 nobody
Lamobot
Anonymous
Anonymous
Anonymous
⎈
Коллеги, а какие версии AWX поддерживаются/развиваются?
⎈
у меня 6.1.0 😞
manefesto
latest
manefesto
=)
⎈
у меня 6.1.0 😞
Нашёл
Early versions of AWX did not support seamless upgrades between major versions and required the use of a backup and restore tool to perform upgrades.
Users who wish to upgrade modern AWX installations should follow the instructions at:
https://github.com/ansible/awx/blob/devel/INSTALL.md#upgrading-from-previous-versions
⎈
Pit
Pit
с 6.10 если будешь обновляться - тебе нужна только база, и надо понимать что они наглухо переколбасили названия контейнеров и схему деплоя
manefesto
У меня какой то древний мамонт 3х годичной свежести.
Я просто использую его и не обновляю
⎈