获取splunk版本,如果版本不符合要求,则使用ansible进行更新

获取splunk版本,如果版本不符合要求,则使用ansible进行更新,ansible,splunk,Ansible,Splunk,我是stackoverflow的新手,很高兴来到这里 我的问题是: 我想得到Splunk版本,然后如果版本不等于,例如“8”或其他,那么停止Splunk并取消它并安装正确的版本 这是我写的剧本,我想得到这个版本 tasks: - name: Read splunk.version file slurp: src: C:\\Program Files\\SplunkUniversalForwarder\\etc\\splunk.version register:

我是stackoverflow的新手,很高兴来到这里

我的问题是:

我想得到Splunk版本,然后如果版本不等于,例如“8”或其他,那么停止Splunk并取消它并安装正确的版本

这是我写的剧本,我想得到这个版本

  tasks:
  - name: Read splunk.version file
    slurp:
      src: C:\\Program Files\\SplunkUniversalForwarder\\etc\\splunk.version
    register: result
    ignore_errors: true

  - name: set splunk version
    set_fact:
      splunk_version: "{{ result['content'] | b64decode | regex_findall('(?<=VERSION\\=).*?(?=\\r)') }}"

  - name: message
    debug:
      var: splunk_version

  - name: message
    debug:
      msg: "same version installed"
    when: splunk_version == "8.0.3"
正如你们所看到的,尽管在同一个版本中,我得到了错误的结果。我知道我在比较条件时犯了一个错误,但我不知道在哪里

所以,如果有人能纠正我的剧本,我非常感激

为我的错误道歉


提前感谢

splunk\u版本是一个数组。请尝试splunk_版本[0]==“8.0.3”

TASK [Read splunk.version file] 
********************
ok: [192.168.*.*]

TASK [set splunk version]
*********************
ok: [192.168.*.*]

TASK [message] 
***********************
ok: [192.168.*.*] => {
    "splunk_version": [
        "8.0.3"
    ]
}

TASK [message] 
***********************
skipping: [192.168.*.*]