获取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"。
我是 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"。