获取splunk版本,如果版本不符合要求,则使用ansible进行更新
我是stackoverflow的新手,很高兴来到这里 我的问题是: 我想得到Splunk版本,然后如果版本不等于,例如“8”或其他,那么停止Splunk并取消它并安装正确的版本 这是我写的剧本,我想得到这个版本获取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:
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.*.*]