Terry
ребята, а есть чего почитать с примерами для ansible awx для вхождения ?
Lamobot
Василий
Василий
как бы:
for i in services:
for s in SERVICE[i]:
Василий
loop: '{{ a + c }}'
Немного сложнее если вы хотите передавать это снаружи
Так он просто объеденит списки.
Если я хочу итерировать например только одну переменную, было бы примерно так:
var:
SERVICE:
a:
-1
-2
-3
b:
-4
-5
-6
c:
-7
-8
-9
- debug:
var: SERVICE['item']
loop:
- "{{ SERVICE['a'] }}"
В данном случае будет итерирован список a. Но что ели я хочу итерировать каждый раз разные списки в зависимости от того что я передам на вход плею. Соответствено мне нужно каким-то образом ввести переменную вместо 'a', например это будет список [a,c] и мне нужно чтобы ключ словаря SERVICE менялся каждый раз после очередного прохода цикла.
- debug:
var: SERVICE['item']
loop:
- "{{ SERVICE[service] }}"
Василий
в данном случае service будет являтся той переменной которую мы будем задавать через extra-vars
Lamobot
Sergey
with_dict присмотрись :-)
Lamobot
Тогда в with_dict передавай просто repository
Mentat
никто не мешает делать yum_repository: {{ item }}
Sergey
Всем привет! Я новичок в ansible.
как запустить/импортировать role, если отработала предыдущая?
Sergey
Sergey
А привязать запуск роли к изменению (changed) одного из тасков предыдущей как-то можно?
Vladislav 👻
Vladimir
а я так понимаю include_tasks не очень приветствуется ?
Vladislav 👻
это почему? о_0
Lamobot
Anonymous
Знатоки добрый день! подскажите пожалуйста, есть shell таск, который отдает то true то false, я его register затем как мне в другом таске сделать when true then run?
Vladislav 👻
Игорь
подскажите, я определяю extra-vars="foo=bar", но в плейбуке
debug: var=foo выдает "foo: VARIABLE IS NOT DEFINED"
что я делаю не так?
Grek 🇺🇦
Using Variables — Ansible Documentation
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html
Игорь
Aleksey
Я чот с тупым. а как понять что я сейчас root ?
я делал так вот
when:
- ansible_user is defined
- ansible_user == 'root'
но это не работает
Aleksey
а оно чот вдруг не совсем тупое почему то
Diana
привет! а кто-нибудь hashicorp vault с ансиблом дружил? не могу залогиниться на хост с паролем, который получила из vault-а. Пароль получила по инструкции https://docs.ansible.com/ansible/latest/collections/community/general/hashi_vault_lookup.html#examples
tutunak
Diana
кусок ямла в студию
в echo вижу что пароль забрал. в inventory пытаюсь использовать переменную ansible_password и получаю что она undefined
Diana
tutunak
Diana
где?
tutunak
tutunak
- hosts: app_servers
vars:
app_path: {{ base_path }}/22
Pit
Diana
а, это там переделывала, отступ был
Diana
Diana
предположительно что-то делаю сильно не так... но не могу понять что именно
Pit
забей на родной хашикорповский плагин, он днище
Pit
ну или вот авторизация аппроли
- name: авторизуемся в vault.tcsbank.ru
uri:
url: "https://vault.domain/v1/auth/approle/login"
method: POST
return_content: false
body:
role_id: "{{ role_id }}"
secret_id: "{{ secret_id }}"
body_format: json
status_code: 200
register: auth
check_mode: false
Diana
https://pypi.org/project/ansible-modules-hashivault/
Diana
это этот модуль, да?
Ждун
ansible.windows.win_command: "C:\\Scripts\\extend-vm-due.ps1 -ComputerName \"{{computer}}\" -DueDate \"{{due}}\" >> C:\\Scripts\\ansible-task.log"
fatal: [srv-mgm]: FAILED! => {
"changed": false,
"msg": "Get-AnsibleParam: Missing required argument: _raw_params"
}
```
Ждун
моете подсказать в каком направлении читать?
Ждун
переменные заполняются правильно
Ждун
отдельно в винде такая команда срабатывает, пользователь от которого ансибл запускается права имеет, до этого команда win-copy тоже отрабатывает... сам скрипт powershell имеет 2 параметра, если это важно
Aleksey
я очень люблю питон (нет)
Aleksey
задалбало.
Aleksey
сколько можно то уже ansible_python_interpreter блин
Ждун
это мне ответ?
Ждун
какого?
Ждун
который я указываю в win_command? я win_shell Тоже пробовал, тоже самое
Ждун
такого параметра нет в моем скрипте, это что-то ансибливское
Ждун
единственное гугление показало что такая ошибка может возникать когда по пути нету скрипта, но я предыдущим таском его по этому пути копирую и как написал могу эту строчку на машинке виндошной исполнить
Pit
это этот модуль, да?
да, это тот модуль. Он не умеет писать в волт, только лукапить секреты в переменные
Pit
и делает это несколько специфично
Pit
Diana
Который днище)
Pit
Diana
Pit
не забудь hvac поставить
Diana
Угу...
Ruslan
всем привет, подскажите как быть в такой ситуации?
FAILED! => changed=false
msg: |-
Command failed rc=1, out=, err=[0;1;31mSystem has not been booted with systemd as init system (PID 1). Can't operate.[0m
[0;1;31mFailed to create bus connection: Host is down[0m
fatal: []: FAILED! => changed=false
msg: |-
Command failed rc=1, out=, err=[0;1;31mUnknown command verb.[0m
самый обычный модуль hostname на debian c systemv
просто пытаюсь установить hostname
Ruslan
- name: сonfigure hostname
hostname:
name: "{{ hostname_name }}"
tutunak
Ruslan
buster
Anonymous
Düster
tutunak
buster
О, а дебиане модно выбирать и не ставить systemd ибо вроде свежий
Николай
Дебиан доводит до суицида
V 🏴☠️
(нет)
Ruslan
https://docs.ansible.com/ansible/2.9/modules/hostname_module.html
как этот use параметр в модуле заиспользовать?
- name: сonfigure hostname
hostname:
name: "{{ hostname_name | default(inventory_hostname) }}"
use: generic
FAILED! => changed=false
msg: |-
Command failed rc=1, out=, err=[0;1;31mUnknown command verb
Ruslan
ansible --version
ansible 2.9.9
Lamobot
Ruslan
Lamobot
Ну и странно, что вы используете generic, когда там есть debian
Ruslan