2016-04-26 3 views
9

Я думаю, что это часть игровой книги, которая порождает ошибку. Как мне переписать эту часть?Несущественный: [ПРЕДУПРЕЖДЕНИЕ О ДЕПРЕКАЦИИ]: использование голых переменных устарело

roles: 
- role: json-transform 
    json_transforms: '{{ clientValidation.json_transforms}}' 

Он выдает следующее предупреждение:

[DEPRECATION WARNING]: Using bare variables is deprecated. Update your playbooks so that the environment value uses the full variable syntax ('{{json_transforms}}'). This feature will be removed in a 
future release. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. 
+0

Какая версия Ansible вы используете? Этот синтаксис выглядит немного странным для меня, и обычно я бы пошел с чем-то вроде: '- {role: json-transform, json_transforms: '{{clientValidation.json_transforms}}'}', чтобы вы могли попробовать. – ydaetskcoR

+0

Я использую Ansible 2.0.1 Я уже пробовал то, что вы упомянули, и это не сработало. – anuiq

+0

Синтаксис не имеет значения. @ydaetskcoR использует синтаксис inline dict вместо расширенного синтаксиса yaml dict. Они в точности совпадают с анализируемым документом. – nitzmahone

ответ

11

Это не выглядит, как нет ничего плохого с вашей верхней LEVEL- это, вероятно, что-то внутри вашей роли. Устаревшие неактивные переменные обычно встречаются в цикле with_xxx; например:

- hosts: blar 
    vars: 
    items: 
    - one 
    - two 
    tasks: 
    - debug: msg="hi from {{ item }}" 
    with_items: items 

В этом случае, это говорит о том, что with_items: items должен быть with_items: "{{ items }}".

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