【发布时间】:2020-08-19 18:14:38
【问题描述】:
我正在尝试在 Ansible Tower 中定义一个模板,我想在其中提取 Kafka Broker 中活动控制器的 id,然后在另一个模板/任务中使用该值,该模板/任务将执行滚动重启,但将确保活动控制器最后启动
当我运行这个 Ansible 任务时
- name: Find active controller
shell: '/bin/zookeeper-shell 192.168.129.227 get /controller'
register: resultAC
我得到以下结果。我想提取 brokerid 并将值 2 分配给一个变量,该变量可以在同一模板中的不同任务中使用,或者当模板是工作流定义的一部分时将其传递给另一个模板。
我尝试使用resultAC.stdout_lines[5].brokerid,但这不起作用。
resultAC的结构:
{
"resultAC": {
"stderr_lines": [],
"changed": true,
"end": "2020-08-19 07:36:01.950347",
"stdout": "Connecting to 192.168.129.227\n\nWATCHER::\n\nWatchedEvent state:SyncConnected type:None path:null\n{\"version\":1,\"brokerid\":2,\"timestamp\":\"1597241391146\"}",
"cmd": "/bin/zookeeper-shell 192.168.129.227 get /controller",
"failed": false,
"delta": "0:00:02.843972",
"stderr": "",
"rc": 0,
"stdout_lines": [
"Connecting to 192.168.129.227",
"",
"WATCHER::",
"",
"WatchedEvent state:SyncConnected type:None path:null",
"{\"version\":1,\"brokerid\":2,\"timestamp\":\"1597241391146\"}"
],
"start": "2020-08-19 07:35:59.106375"
},
"_ansible_verbose_always": true,
"_ansible_no_log": false,
"changed": false
}
【问题讨论】:
标签: ansible task data-extraction ansible-tower