В случае, если указанный узел не существует, задача завершится ошибкой по умолчанию.Это, конечно, может быть переопределено с помощью failed_when:
.
Итак, с приведенным ниже списком воспроизведения:
- hosts: localhost
tasks :
- name: Get ZK node
znode:
hosts: "zk-server:2181"
name: /my/zk/node
op: get
register: node
failed_when: false
- debug:
var: node
Я получаю следующие выходные данные, когда узел не существует:
TASK [debug] ***********************************************************************************************************************************************************************************************
ok: [localhost] => {
"node": {
"changed": false,
"failed": false,
"failed_when_result": false,
"msg": "The requested node does not exist."
}
}
и я получаю это, когда узел существует:
TASK [debug] ***********************************************************************************************************************************************************************************************
ok: [localhost] => {
"target_state": {
"changed": false,
"failed": false,
"failed_when_result": false,
"msg": "The node was retrieved.",
"stat": {
"acl_version": 0,
"aversion": 0,
"children_count": 0,
"children_version": 0,
"creation_transaction_id": 738760747521,
"ctime": 1564500556345,
"cversion": 0,
"czxid": 738760747521,
"dataLength": 12,
"data_length": 12,
"ephemeralOwner": 0,
"last_modified_transaction_id": 738760750645,
"mtime": 1564501388038,
"mzxid": 738760750645,
"numChildren": 0,
"pzxid": 738760747521,
"version": 1
},
"value": "Hello World!",
"znode": "/my/zk/node"
}
}