Рейтинг:0

Ansible with_items не зацикливается

флаг cn

Я думаю, что слишком долго занимался этим, но я не могу понять, почему мой второй with_items не зацикливается, как мой первый. Я уже пытался использовать json_query как и в первой задаче, которая не помогла.

Задача:

- имя: Установить backing_lunuuid
  set_fact:
    backing_lunuuid: "{{ item | json_query('guest_disk_info.*.backing_lunuuid') }}" 
  with_items: " {{ rdm_jsondata.results }}" 

- отладка:
    сообщение: " {{ backing_lunuuid }}" 

- имя: удалить начальный и конечный backing_lunuuid для установки disk.UUID  
  set_fact:
    rdm_uuid: "{{ элемент[10:-12] }}"
  with_items: " {{ backing_lunuuid }}" 

- отладка:
    сообщение: "{{rdm_uuid}}" 

Первый вывод отладки (для backing_lunuuid):

    ЗАДАЧА [отладка] **************************************************** ******************************************************* ******************************************************* ************************************************
хорошо: [локальный хост] => {
    "msg": " ['0200110000600507681081007e1800000000000053323134352020', '02000f0000600507681081007e1800000000000051323134352020', '0200150000600507681081007e1800000000000059323134352020', '0200130000600507681081007e1800000000000055323134352020', '0200140000600507681081007e1800000000000056323134352020', '0200240000600507681081007e1800000000000057323134352020', '0200420000600507681081007e1800000000000058323134352020', '0200100000600507681081007e1800000000000052323134352020', '0200120000600507681081007e1800000000000054323134352020']"

Второй вывод отладки (для rdm_uuid), который не зацикливается, как первый"

    ЗАДАЧА [Удалить начальный и конечный backing_lunuuid для установки disk.UUID] **************************************** ******************************************************* *************************************************
хорошо: [localhost] => (item=0200110000600507681081007e1800000000000053323134352020)
хорошо: [localhost] => (item=02000f0000600507681081007e1800000000000051323134352020)
хорошо: [localhost] => (item=0200150000600507681081007e1800000000000059323134352020)
хорошо: [localhost] => (item=0200130000600507681081007e1800000000000055323134352020)
хорошо: [localhost] => (item=0200140000600507681081007e1800000000000056323134352020)
хорошо: [localhost] => (item=0200240000600507681081007e1800000000000057323134352020)
хорошо: [localhost] => (item=0200420000600507681081007e1800000000000058323134352020)
хорошо: [localhost] => (item=0200100000600507681081007e1800000000000052323134352020)
хорошо: [localhost] => (item=0200120000600507681081007e1800000000000054323134352020)

ЗАДАЧА [отладка] **************************************************** ******************************************************* ******************************************************* ************************************************
хорошо: [локальный хост] => {
    "msg": "600507681081007e1800000000000054"

Любая помощь приветствуется.

Рейтинг:0
флаг br

Использовать regex_replace нарезать предметы в трубу

rdm_uuid: "{{ backing_lunuuid|map('regex_replace', regex, replace)|список }}"
регулярное выражение: '.{10}(.*).{12}'
заменить: '\1'
Рейтинг:0
флаг vn

Вы перезаписываете rdm_uuid каждой итерации цикла. Попробуйте что-то вроде этого:

- имя: удалить начальный и конечный backing_lunuuid для установки disk.UUID  
  set_fact:
    rdm_uuid: "{{ rdm_uuid | default([]) + [item[10:-12]] }}"
  with_items: " {{ backing_lunuuid }}" 

Изменить: первый делает то же самое, но последний элемент rdm_jsondata.результаты есть нужные вам данные. Попробуйте посмотреть на rdm_jsondata.результаты.

флаг cn
О да. Идеальный! Я понял, что либо слишком долго смотрел на это (Ansible), либо недостаточно концентрировался (из-за того, что пытался жонглировать слишком многими вещами одновременно). Большое вам спасибо!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.