我在ansible任务中使用以下代码
- name: Check the status of application server {{ server }}
command: /opt/serverStatus.sh {{ server }}
register: url
- debug: msg="{{ url.stdout }}"
- name: start the application server
command: /opt/startServer.sh {{ server }}
when: msg | match("It appears to be stopped.")
收到以下错误:
致命:服务器:失败! => {“failed”:true,“msg”:“条件检查'msg |匹配(\”它似乎已停止。\“)'失败。错误是:发生了意外的模板类型错误({%if msg |匹配(\“它似乎已停止。\”)%} True {%else%} False {%endif%}):预期的字符串或缓冲区\ n \ n错误似乎在'/ home / abc / xyz中/roles/was/tasks/main.yml':第28行,第3列,但可能在文件的其他位置,具体取决于确切的语法问题。\ n \ n违规行似乎是:\ n \ n \ n- name:启动应用程序服务器\ n ^ here \ n“}
请帮助我做错了。什么报价丢失?
答案 0 :(得分:1)
这是因为msg
未定义。你想使用:
- name: start the application server
command: /opt/startServer.sh {{ server }}
when: url.stdout | match("It appears to be stopped.")