Ansible-playbook local_prepare.yml报错

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:3.0
  • 【问题描述】:中控机执行:ansible-playbook local_prepare.yml -f 10,报错[localhost]: Ansible Failed! ==> changed=false msg: The Control Machine must have access to the Internet in order to download TiDB and related packages. 中控机可以访问外网 环境:单机PC,通过docker开启数台centos容器,其中172.17.0.11为中控机 prometheus_1 172.17.0.11 tikv2_1 172.17.0.10 tikv1_1 172.17.0.9 tikv0_1 172.17.0.8 pd2_1 172.17.0.7 pd1_1 172.17.0.6 pd0_1 172.17.0.5 tidb_02 172.17.0.4 tidb_01 172.17.0.3

执行这个命令看下结果 curl --connect-timeout 10 www.baidu.com .

url: (28) Resolving timed out after 10518 milliseconds

报错很明显了,检查下当前的中控机有没有访问外网的权限。

如果说中控机没有外网访问权限,那么前面《 TiDB Ansible包下载及依赖》这个步骤,是会报错无法通过的,刚试了下,国内的阿里云源,通过yum 下载wget可以成功,有点摸不着头脑,ansible-playbook local_prepare.yml 这个过程,只是下载TiDB binary到中控机的操作吗,是否还会进行其他验证?

local_prepare.yml 只是一个外网下载 & 解压的过程,麻烦检查下环境。

  • name: set outbound network fact set_fact: has_outbound_network={{ outbound_network_st.stdout.strip() == ‘0’ }}

  • fail: msg: “The Control Machine must have access to the Internet in order to download TiDB and related packages.” when: not has_outbound_network