Kubespray: OS: CentOS-7 | Role: prep_kubeadm_images | Error copying kubeadm binary from download dir to system path

Created on 27 Feb 2020  路  3Comments  路  Source: kubernetes-sigs/kubespray

Environment:

  • Cloud provider or hardware configuration:
    bare metal installation
  • OS (printf "$(uname -srm)\n$(cat /etc/os-release)\n"):
[root@serverA centos]# printf "$(uname -srm)\n$(cat /etc/os-release)\n"
Linux 3.10.0-1062.9.1.el7.x86_64 x86_64
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
  • Version of Ansible (ansible --version):
Ansible version of machine executing kubespray role: 2.8.1
  • Version of Python (python --version):
Python version: 3.7.6

Kubespray version (commit) (git rev-parse --short HEAD):

01d7cdb

Network plugin used: Flannel

Full inventory with variables (ansible -i inventory/sample/inventory.ini all -m debug -a "var=hostvars[inventory_hostname]"):

Command used to invoke ansible:
ansible-playbook cluster.yml -i <<path_to_inventory>>/hosts.yml --become --become-user=root -u <<local_service_account>> -k -K -vv

Output of ansible run:

TASK [download : prep_kubeadm_images | Copy kubeadm binary from download dir to system path] ***********************************************************************************************************************************************************************************
task path: /home/jon/Repos/k8s/ansible/playbooks/roles/kubespray/roles/download/tasks/prep_kubeadm_images.yml:27
Thursday 27 February 2020  07:43:50 -0600 (0:00:00.738)       0:00:55.269 ***** 
fatal: [serverC -> 1.2.3.2]: FAILED! => {"changed": false, "cmd": "sshpass", "msg": "[Errno 2] No such file or directory", "rc": 2}
fatal: [serverA -> 1.2.3.3]: FAILED! => {"changed": false, "cmd": "sshpass -d6 /bin/rsync --delay-updates -F --archive --no-owner --no-group '--out-format=<<CHANGED>>%i %n%L' /tmp/releases/kubeadm-v1.15.0-amd64 /usr/local/bin/kubeadm", "msg": "[Errno 32] Broken pipe", "rc": 32}
fatal: [serverB -> 1.2.3.4]: FAILED! => {"changed": false, "cmd": "sshpass", "msg": "[Errno 2] No such file or directory", "rc": 2}

Anything else do we need to know:
The Ansible task fails saying that there is a broken pipe and it appears it's trying to move the version of kubeadm I want from /tmp to /usr/local/bin/kubeadm but the binary is already there and is the correct version.

kinbug

Most helpful comment

yum -y install sshpass

All 3 comments

Upgrading to the latest version of Ansible, via Pip (2.9.5) appears to have fixed the issue on one server. The other two servers in my cluster now error with.

TASK [download : prep_kubeadm_images | Copy kubeadm binary from download dir to system path] ***********************************************************************************************************************************************************************************
Thursday 27 February 2020  08:18:52 -0600 (0:00:00.657)       0:00:55.835 ***** 
ok: [serverA -> 1.2.3.2]
fatal: [serverB -> 1.2.3.3]: FAILED! => {"changed": false, "cmd": "sshpass", "msg": "[Errno 2] No such file or directory", "rc": 2}
fatal: [serverC -> 1.2.3.4]: FAILED! => {"changed": false, "cmd": "sshpass", "msg": "[Errno 2] No such file or directory", "rc": 2}

yum -y install sshpass

Thank you @LuckySB . This appears to have resolved my issue!

Was this page helpful?
0 / 5 - 0 ratings