Danis
Есть переменные:
yo:
var1:
name: value1
var2:
name: value2
Как обратиться ко всем name?
Danis
Нужно что-то типа yo[*][name]
Danis
И даже не так, а вот так:
yo:
var1:
name: n1
surname: sn1
var2:
name: n2
surname: sn2
Danis
Нужно перебрать все name.
Vladislav 👻
with_items yo
item['name']
Vladislav 👻
вроде что-то из этой серии
Aleksey
господа, а есть какой то stdout_callback который позволяет сохранять результаты и потом их просаматривать ? про ARA знаю но оверкил. хочется писать в файлики
Vadim
Сам такой сейчас пишу
Aleksey
в паблик пустишь ?
Vadim
Оно где-то в пуллреквестах, завтра найду
Aleksey
@EKbfh ;)
Ivan
я уже прочитал и понял, о чём вы тут шушукаетесь и без этого
Timur
Egor
Victor
with_dict еще можно, или через мап/экстракт, в зависимости от того что и куда
Vadim
Alexander
Есть:
image: "{{ docker_registry_url }}/{{ docker_repo_name }}:{{ docker_image_version }}"
Хочу, чтобы {{ docker_registry_url }}/ (вместе со слешом!!) применялось только в случае наличия переменной docker_registry_url, иначе:
image: "{{ docker_repo_name }}:{{ docker_image_version }}"
Alexander
Как сделать это с меньшим количеством строк? Без when
Alexander
Иначе весь блок повторяться будет
Egor
Alexander
=))
Alexander
Он громоздко выглядит
Egor
А почему будет повторяться то? Уточни when несколькими условиями и все будет нормально.
Alexander
Так, а можно твой ответ с when увидеть? )
Victor
Egor
image: "{{ docker_registry_url }}/{{ docker_repo_name }}:§{{ docker_image_version }}"
when:
- docker_registry_url is defined
- $SECOND CONDITION
Или как указано выше только проверка должна быть на defined
Alexander
Alexander
Zhyhanov
Zhyhanov
и следуйщим ты можешь указать когда она defined
Alexander
Victor
Вместо тысячи слов
$ cat ./test3.yml
#!/usr/bin/env ansible-playbook
- hosts: localhost
connection: local
vars:
testvar:
- ""
- repo
tasks:
- name: include inc
debug:
msg: "{{ item + '/' if item else ''}}image"
with_items: "{{testvar}}"
ok: [localhost] => (item=) => {
"msg": "image"
}
ok: [localhost] => (item=repo) => {
"msg": "repo/image"
}
Anonymous
I have some problem with ansible
Anonymous
Anonymous
Anonymous
anyone know the solution to fix it?
Zhyhanov
Victor
Use template or file modules to save output to file instead of shell, but i didn't get what the error is.
Anonymous
mikrotik dont have sh, mb
"dont have sh & mb" mean what? I am newbie so please help me
I install ansible version 2.7 which support routerOS...I just write register to file like before but it got error
Zhyhanov
you need use command: bash -c and use scripts.rsc
Zhyhanov
https://github.com/zztopper/mikroansible/tree/master/roles/del-users
Zhyhanov
mb, help
Victor
Alexander
if docker_registry_url is defined тоже не работает
Anonymous
Victor
- name: undefined
debug:
msg: "{{ item + '/' if item is defined else ''}}image"
Victor
УМВР
Zhyhanov
thx, I will try it now
may in the new version and added another opportunity to configure the mikrotik
Alexander
Alexander
Привет всем, подскажите, почему он мне строчку сервис каждый раз добавляет?
Alexander
- name: Config
lineinfile:
path: /etc/systemd/system/report.service.d/var_test.conf
create: yes
state: present
regexp: "{{ item }}"
line: "{{ item }}"
register: report_var
when: report_exist is succeeded
with_items:
- "[Service]"
- "Environment=VAR={{ var}} "
# cat /etc/systemd/system/report.service.d/var_test.conf
[Service]
[Service]
[Service]
[Service]
Environment=VAR1=TEST
Victor
Victor
И я бы не советовал бы так составлять файлы, теоретически последовательность строк имеет значение и они могут перепутаться.
Victor
Victor
В твоем случае можно просто регекспу удалить и оно начнет вести себя как ты ожидаешь
Alexander
Victor
Victor
Или в конце концов там был какой-то модуль с ini
Alexander
А нельзя ли никак c docker_image просто tag навесить на docker image в своём репо, без пересборки?
Пока второй раз собираю (понятно дело, по хешам просто проскакивает сборка, но всё же) и пушу с тегом latest.
Хотелось бы просто навешивать тег, без пересборки.
Max
docker tag
Nikolai
Приветствую!
Как обновить facts-кеш, чтобы ансибл увидел изменения в интвентаре (он статический)
Суть проблемы в том, что был изначально запущен playbook, в котором есть импорт тасков по условию
when: "'volumes' in group_names"
Но самой группы в инвентаре не было
После того как добавил ее в инвентарь - ансибл как-будто это не замечает и продолжает skip-апь эти таски :(
Nikolai
- meta: refresh_inventory
вроде как должно срабатывать, но не помогает
Vadim
rm -rf неплохо очищает кэш фактов
Vadim
или fact_caching_timeout в ansible.cfg
Nikolai
хм, ок попробую
Nikolai
Vadim
в ~/.ansible на локальном хосте и /etc/ansible/facts на ремоуте, если fact_caching не менялся
Nikolai
спасибо
Victor
Alexander
А как у ансибла исполнить when: status.ok? По аналогии с changed,но только когда событие окей
Artur
на каком модуле ?
Max
но это не точно (с)
shine