Ansible 检查变量是否在命令的输出中

Ansible Check if variable is in output of command

提问人:Keren 提问时间:11/6/2023 更新时间:11/6/2023 访问量:34

问:

我有一个变量(我在任务 A 中设置),我想确保它出现在另一个命令的输出中(我在任务 B 中检查)。bundle_checksum: checksum=AAAAAAAAAAAA

但是我想确保这个特定的校验和都出现在输出中,如下所示:

checksum=AAAAAAAAAAAA
last_validation_succeeded=1

目前我拥有的最好的是:

- name: Get bundle checksum
  set_fact:
    bundle_checksum: "{{ new_bundle | regex_search('checksum.[a-zA-Z0-9]+')}}"

- name: Format bundle checksum
  set_fact:
    bundle_status: '{{ bundle_checksum }}\nlast_validation_succeeded'

- name: Check if validated
  shell: '~/bin/splunk show cluster-bundle-status'
  register: cluster_status
  retries: 12
  delay: 5
  until: 'bundle_status | string in cluster_status.stdout'

打印返回 。bundle_statusHello World!

感谢任何帮助!

ansible ansible 模板

评论

2赞 Zeitounator 11/7/2023
你到底是如何“打印”的?您报告的消息是模块的默认输出,当您没有提供任何内容时,我怀疑您只是做错了。请编辑您的问题。bundle_statusdebugmsgvar
0赞 β.εηοιτ.βε 11/7/2023
^-- 通常这来自于尝试使用带有无关空格的语法,相关:stackoverflow.com/questions/62858441/...k=v

答: 暂无答案