Ошибка шаблона при шаблонизации строки: неожиданный символ u - Ansible - PullRequest
0 голосов
/ 21 февраля 2020

При выполнении playbook для запуска команды на удаленном хосте и передачи вывода с помощью оболочки, получая ошибку ниже.

fatal: [master1]: FAILED! => {} MSG: ошибка шаблона при шаблонной строке: неожиданный char u'a 'в 4. Строка: {{54aa7fda16833bff8358b6bd1157df2d9caa26b2}}

Ниже приводится содержание моей пьесы

- name: 'Play1' 

  hosts: master 

  tasks: 

   - name: 'Execute command' 

     shell: ''sh generate_ticket.sh" #command to generate ticket 

     register: shell_output 

   - name: 'debug shell_output' 

     debug: 

      var="{{ shell_output.stdout | from_yaml }}"

Когда я пытаюсь сделать то же самое с msg и не пытаюсь фильтровать, вывод печатается без ошибок. Однако я предпочитаю использовать var, так как он лучше всего подходит для моих дальнейших требований. Если номер билета - другая строка, у меня нет проблем. Пожалуйста, смотрите ниже:

Выход:

ok: [master1] => {}


MSG:


54aa7fda16833bff8358b6bd1157df2d9caa26b2


Playbook :

- name: 'Play1' 

  hosts: master 

  tasks: 

   - name: 'Execute command' 

     shell: ''sh generate_ticket.sh" #command to generate ticket 

     register: shell_output 

   - name: 'debug shell_output' 

     debug: msg="{{ shell_output.stdout | from_yaml }}"

1 Ответ

0 голосов
/ 21 февраля 2020

Кажется, что это работает, когда я ставлю одинарные кавычки вокруг shell_output.stdout

var="{{ 'shell_output.stdout' | from_yaml}}"

Дайте мне знать, если у кого-нибудь есть лучшее решение, чем это.

...