2016-07-18 2 views
0

Я отлаживаю набор вложенных игр, которые помещают хосты в балансировщик нагрузки Rackspace.Использование доступных фактов в виде списков

- include create_servers.yml 
... 
- include add_to_load_balancers.yml 

в первой игре, я использую rax_clb модуль для создания серверов. Мы регистрируем переменную rax и использовать rax.success список в нем, чтобы добавить эти хосты к группе в create_servers.yml:

- name: create instances on Rackspace 
    local_action: 
    module: rax 
    image: "{{ IMAGE }}" 
    flavor: "{{ FLAVOR }}" 
    wait: yes 
    count: "{{ COUNT }}" 
    ... 
    register: rax 


- name: some other play 
    local_action: 
    ... 
    with_items: rax.success 


- name: register rax.success as rax_servers for later use 
    set_fact: 
    rax_servers: rax.success 

При использовании rax.success в другой игре, используя with_items, он работает. Но позже, когда я пытаюсь использовать rax_servers в add_to_load_balancers.yml:

- name: place new hosts in the load balancer 
    rax_clb_nodes: 
    address={{ item.rax_accessipv4 }} 
    state=present 
    ... 
    with_items: rax_servers 

Я получаю сообщение об ошибке, что не существует в пункте нет rax_accessipv4. Я должен, однако, так как это то, как я использую его в предыдущей игре (и это работает). Так я распечатать rax_servers:

TASK: [debug var=rax_servers] ************************************************* 
ok: [127.0.0.1] => { 
    "var": { 
     "rax_servers": "rax.success" 
    } 
} 

Я, очевидно, делает что-то неправильно, но я не могу показаться, чтобы выяснить из документации, что я делаю неправильно, когда либо хранение или ссылки на эту переменную. Обе пьесы запускаются с локального и на локальном хосте, поэтому он должен давать мне тот же список, нет?

Спасибо за подшипник с этим новичком, любая помощь приветствуется :)

ответ

0

Это должно быть:

- name: register rax.success as rax_servers for later use 
    set_fact: 
    rax_servers: "{{ rax.success }}" 

без двойных скобок в этом случае, «rax.success» это просто строка.

+0

Красивые - это, должно быть, одна из тех страшных «кавычек« ansible/jinja2 », которые мой босс предупредил меня. Сделаем еще немного чтения. Работает по назначению. Бесконечно благодарен! –

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