>

Ansible의 znode 모듈 을 사용하고 싶습니다. ZK 노드의 내용 (없을 수 있음).

공식 문서는 다음과 같습니다 :

# Getting the value and stat structure for a znode
- znode:
    hosts: 'localhost:2181'
    name: /mypath
    op: get

나는 register: 가 필요하다고 생각  그것을 사용하기위한 결과. 그러나이 가치의 구조는 무엇입니까? 노드가 zk에 없으면 어떻게됩니까?

NB : 저도 알아 내려고 노력하고 여기에 답을 게시 할 계획입니다. 그동안 누군가 이미이 작업을 수행하는 방법을 알고 있다면 여기에 자유롭게 답변하십시오!


  • 답변 # 1

    지정된 노드가 존재하지 않으면 기본적으로 작업이 실패합니다. 이것은 물론 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"
        }
    }
    
    

  • 이전 python 3.x - 색인이없는 배열의 참과 거짓의 색인
  • 다음 java - Windows 7의 시계 서비스가 작동하지 않습니다