获取splunk版本,如果版本不满足,用ansible更新

Get splunk version and update it with ansible if version is not meet

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

我的问题是:

我想获取 Splunk 版本,如果版本不等于“8”或其他版本,则停止 Splunk 并卸载它并安装正确的版本。

这是我为获取版本而编写的 Ansible 剧本。

  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"

这是我的结果

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.*.*]

如您所见,尽管版本相同,但我得到了错误的结果。我知道我在比较条件时犯了错误,但我不知道在哪里!

所以,如果有人能纠正我的剧本,我将不胜感激。

对不起我的错误

提前致谢

splunk_version 是一个数组。请尝试 splunk_version[0] == "8.0.3"。