2015-09-19 2 views
0

Воспроизводимая игра с ошибкой__соединения с 3 уровнями.Простой игровой автомат with_subelements

My Config выглядит

--- 
Firstlevel: 
    - fl_number: fln1 
     fl_data: fld1 

     Secondlevel: 
     - sl_number: sln_f1_1 
     sl_data: sld_f1_1 
     Thirdlevel: 
     - tl_number: tln_s1_f1_1 
      tl_data: tld_s1_f1_1 
     - tl_number: tln_s2_f1_2 
      tl_data: tld_s2_f1_2 

пьесы анзибль является

>cat test_threelevels.yml 
--- 
- hosts: localhost 
    gather_facts: no 
    vars_files: 
     - ../vars/testConfig-var.yml 


tasks: 

    - name: DebugWorks 
     debug: msg="{{ item.1.Thirdlevel }}" 
     with_subelements: 
     - Firstlevel 
     - Secondlevel 

    - name: DebugDoesNotWork 
     debug: msg=" Sub element Thirdlevel test" 
     with_subelements: 
     - Firstlevel 
     - Secondlevel 
     - Thirdlevel 

Когда она выполняется с анзиблем-PlayBook -v test_threelevels.yml

задания "DebugWorks" работы но задача «DebugDoesNotWork» dosent.

Выход ЗАПРОС: [DebugDoesNotWork] *************************************** *************** со смертельным исходом: [локальный] => подэлементы поиск ожидает список из двух элементов, первый в Словаре или список, и второй строки

FATAL: all hosts have already failed -- aborting 

PLAY RECAP ******************************************************************** 

Нужна помощь в понимании, если это правильный способ и почему это не работает.

Открыт для любых предложений.

Спасибо.

ответ

1

Описание ошибки, по крайней мере, смутно говорит о том, что имеется в виду. :)

Refer to the code, чтобы увидеть здесь именно то, что означает ошибка. terms - это список, который вы передаете.

 if not isinstance(terms, list) or not 2 <= len(terms) <= 3: 

Короче говоря: Вы можете идти только 2 уровня, а не 3.

The documentation действительно говорит ясно:

При желании можно добавить третий элемент в списке подэлементов, что содержит словарь флагов.

Смежные вопросы