kevit
можно через when: item.key ограничить
Денис
Всем привет! Кто-то пользуется awx? Как получить список job tagы?
Когда я делаю:
ansible-playbook -i stage rsyslog.yml --list-tags
playbook: rsyslog.yml
play #1 (rsyslog): rsyslog TAGS: []
TASK TAGS: [rsyslog_config, rsyslog_install, update_firewall]
Но когда пробую выбрать в tower получаю пустой список
GithubReleases
ansible/ansible was tagged: v2.5.0rc3
Link: https://github.com/ansible/ansible/releases/tag/v2.5.0rc3
Release notes:
New version 2.5.0rc3
kevit
рано я радовался вчера
kevit
project:
service1:
type: service
systemd_name: name1
service2:
type: service
systemd_name: name2
vars:
microservice: service1
- name: Ensure service is enabled
systemd: name="{{ item.systemd_name.value }}" enabled=yes
with_dict: "{{ project }}"
when: type == 'service' and item.key == microservice
kevit
recursive loop detected in template string все равно.
Vadim
Vadim
Можно попробовать через vars и заменять на omit если условие не выполняется
Vadim
Или через json_query получить список имен
kevit
я думаю что это из-за того что у меня переменные некоторые в group_vars прописаны как some_variable: "{{ another_variable }}" и мне надо как-то от этого уходить иначе я на джинжу буду попадать все время.
kevit
сейчас проверил с передачей в роль та же цветомузыка
kevit
https://github.com/ansible/ansible/issues/8603 тут в общем-то все написано
Vadim
Надо обновить баг тогда, на 1.7 им наплевать
John
Привет всем, у меня вопрос
John
У меня вопрос по ансиблю. У меня есть каталог, скажем, /1/ в нем лежит несколько rpm файлов. Мне надо, чтобы ансибль усановил все rpm из каталога. Пишу yum: name=/1/* (или /1/*.rpm), выдает ошибку, что пакет не найден. В доках написано, что можно ставить все пакеты символом *, но видимо это не относится к локальным файлам?
Nklya
Такое делать не надо
Nklya
Но если очень хочется, можно найти все rpm и по ним итерироваться
Nklya
Или втупую rpm -ihv *.rpm или как-то так
Vadim
John
да, я уже октазался от мысли использовать *, спасибо
Anonymous
ребята а что означает цифра [0] в записи
{{ hostvars[groups['clients'][0]]['ansible_hostname'] }}-fd
Anonymous
брать первый хост ? из групы
Vadim
Anonymous
спасибо так и думал
Andrew
О, а кстати, все элементы как получить без with items?
Dmitry
Не указывать переменную с [] ?
Andrew
Пля 😊
Artem
Привет, подскажите как вытащить значение переменной, например "dbname" с первой строчки, имея такую запись
Artem
database_conf:
- { dbname: 'test', dbuser: 'user1', dbpassword: '123456' }
- { dbname: 'test2', dbuser: 'user2', dbpassword: '123456' }
Artem
пробовал такой вид
Artem
- debug:
msg: "{{ item.dbname }}"
with_items: "{{ database_conf }}"
Artem
но в данном случае выдаёт сразу с двух строк
Konstantin
на 5 строчек выше обсуждается как со списками работать
Aleksey
@vrutkovs а нет ли хинтов как ускорить таск
- name: Register to RHN
redhat_subscription:
state: present
username: "{{rhel_register_rhel_subscription_username}}"
password: "{{rhel_register_rhel_subscription_password}}"
autosubscribe: true
environment:
http_proxy: "{{http_proxy}}"
register: register_done
он сейчас занимает около 49 секунд
Nklya
Поставить центос))
Aleksey
в роли для центоса этого таска нет.
Artem
FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dbname' is undefined\n\nThe error appears to have been in '..../tasks/main.yml': line 7, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- debug:\n ^ here\n\nexception type: <class 'ansible.errors.AnsibleUndefinedVariable'>\nexception: 'dbname' is undefined"}
Konstantin
database_conf[0].dbname
Mikhail
Всем привет!
Народ помогите, не могу сообразить уже часа два, как мне на хосте выполнить команду в докере или через docker-compose?)))
мб у кого-то есть шаблончик))
Денис
command в модуле docker_container, не?
Mikhail
- name: test-command
docker_container:
name: ohno
command: pwd
Mikhail
Как то так?
Денис
есть пример в документации и тут посложнее
https://serverfault.com/questions/818611/running-an-ansible-command-in-multiple-docker-containers
Денис
оно?
Vadim
Vadim
Он генерит сертификаты там, проверяет кучу всякой беды
Aleksey
49 секунд бро! :)
Womchik
а мог бы и все 50!
Денис
Участникам itgm удачи завтра 😉
Ilya
Коллеги, добрый вечер! Есть такой вопрос. В некой роли объявлена переменная со значение по-умолчанию, например, “{{ ansible_hostname }}”. Возможно ли через delegate_to узнать какое будет значение этой переменой на другом хосте? Собственно тут вопрос как зарезолвить значение перемнной в окружении другой машины.
Aleksey
в окружении исходной или целевой ?
Ilya
по умолчанию резовится в окружении текущего inventory_hostname. Хочется умудрится получить значение переменной для хоста который передан в delegate_to
Ilya
иметь возможность выбирать между исходной и целевой
Vadim
Vadim
Ilya
тут как раз вопрос в том что на delegated_host мы предположим вообще ничего не прокатывали. Например указанный хост выкинут через limit
Ilya
интересует как это сделать без сбора фактов при запуске с limit.
Vadim
Ilya
Vadim
Ilya
ну задача выглядит примерно так: есть роль сервиса конфиг, которого должен содержать хостнеймы и еще чуток информации с остальной сети. Но при этом есть желание иметь возможность прокатывать только настройки одной конкретной машины где есть этот сервис, а не всей сети. Если мы добавляем limit, то соответственно у нас нет доступа к данным остальной сети.
Пытаюсь придумать как это обойти.
Ilya
можно похоже просто fact'ы новые добавить. Тогда просто delegate_to и setup должны помочь.
Vadim
Aleksey
по наблюдениям оно работает так
Ilya
Vadim
Ilya
Ilya
Aleksey
да если она видна в хостварс она будет разименована в целевой системе
Aleksey
я не сильно морочился на эту тему но выглядит будто оно работает именно так
Александр
Кто-то использовал proxyjump в плейбуках для ssh?
Aleksey
делегейт вообще выглядит во многих местах странно