Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ansible lookup dig:列表对象没有属性_Ansible_Ansible 2.x_Ansible Facts - Fatal编程技术网

ansible lookup dig:列表对象没有属性

ansible lookup dig:列表对象没有属性,ansible,ansible-2.x,ansible-facts,Ansible,Ansible 2.x,Ansible Facts,团队, 我无法理解或解决此错误。我的任务是从变量中提取服务器名称,并使用dig模块执行dns查找。有什么提示吗?完全相同的任务在本地ubuntu桌面上工作,但当我通过jenkins/container/ubuntu映像运行这个任务时,它就不工作了 - name: Validate DNS record lookup for {{ api_server_public_names }} debug: msg="{{ lookup('dig', '{{ api_server

团队, 我无法理解或解决此错误。我的任务是从变量中提取服务器名称,并使用dig模块执行dns查找。有什么提示吗?完全相同的任务在本地ubuntu桌面上工作,但当我通过jenkins/container/ubuntu映像运行这个任务时,它就不工作了

      - name: Validate DNS record lookup for {{ api_server_public_names }}
        debug: msg="{{ lookup('dig', '{{ api_server_public_names }}' )}}"
        vars:
          dns_response: "{{ lookup('dig', '{{ api_server_public_names }}' )}}"
        failed_when: not dns_response
TASK[服务预安装检查:验证[u'test.customer.com']的DNS记录查找]***
2019年10月31日星期四22:05:34+0000(0:00:00.037)0:00:02.890****
致命:[localhost]:失败!=>{“msg”:“运行查找插件'dig'时发生未经处理的异常。错误为原始消息:'list'对象没有属性'startswith'}”
15:05:34  

api\u server\u public\u names
是一个列表,不能直接用于查找。您需要在变量上循环:

    - name: Validate DNS record lookup
      debug: msg="{{ lookup('dig', '{{ item }}' )}}"
      vars:
        dns_response: "{{ lookup('dig', '{{ item }}' )}}"
      failed_when: not dns_response
      loop: "{{ api_server_public_names }}"

但是请注意,当无法按预期工作时,
失败。当:dns\u response==“NXDOMAIN”
api\u server\u public\u names
是一个列表且不能直接用于查找时,您可能需要执行类似于
failed\u的操作。您需要在变量上循环:

    - name: Validate DNS record lookup
      debug: msg="{{ lookup('dig', '{{ item }}' )}}"
      vars:
        dns_response: "{{ lookup('dig', '{{ item }}' )}}"
      failed_when: not dns_response
      loop: "{{ api_server_public_names }}"

但是请注意,当
无法按预期工作时,
失败。您可能需要执行类似于“dns\u响应==”NXDOMAIN“

失败”的操作。谢谢,接得好。那么,在工作时如何使你失败呢?还有,我不能用索引代替循环吗?是否喜欢项[0]?api_server_public_names中只有一个名称,它会工作吗?
api_server_public_names[0]
api_server_public_names | first
不会循环工作,尽管我质疑如果它只有1个值,为什么它是一个列表。至于
失败时的
,我给出了一个示例,但您可能需要尝试一下。如果你还在挣扎,也许可以提出一个新问题。就是这样。谢谢,接得好。那么,在工作时如何使你失败呢?还有,我不能用索引代替循环吗?是否喜欢项[0]?api_server_public_names中只有一个名称,它会工作吗?
api_server_public_names[0]
api_server_public_names | first
不会循环工作,尽管我质疑如果它只有1个值,为什么它是一个列表。至于
失败时的
,我给出了一个示例,但您可能需要尝试一下。如果你还在挣扎,也许会提出一个新问题。