【发布时间】:2015-08-27 23:03:31
【问题描述】:
我正在尝试创建一个剧本,它使用 uri 模块在 ElasticSearch 中创建新的观察者任务。但是,当我不断遇到错误时,检查寄存器有效负载的条件似乎有问题; "评估条件时出错:payload.contents.find("true") != -1"
从 uri 模块评估返回的 json 的正确方法是什么?
(顺便说一句,我正在通过 vagrant 运行此 playbook 进行配置,因此通过转储变量 playbook 进行调试几乎是不可能的,并且 playbook 在注册之前就死了。)
【问题讨论】:
-
您是否尝试过使用
debug模块查看您的payload变量的内容?也请直接在问题中发布您的代码的相关部分。如果那个要点消失了,那么这个问题在没有上下文的情况下将毫无用处。 -
@Mxx 是的!并且剧本在到达该规则集之前就下降了。 (顺便说一句,我从不删除要点,但如果需要,我可以在问题中发布代码。只是没有在此处发布它们,因此问题不会被标记为审查)
-
进一步挖掘将显示 cluster_health_watch_body 作为字典传递给
uri()模块的 body 参数。然而,添加 jinja 过滤器to_json完全破坏了剧本。欢迎任何帮助找出造成这种情况的原因?
标签: jinja2 ansible ansible-playbook