Browse Source

Add retries for copying binaries from containers

Closes issue: https://github.com/kubespray/kargo/issues/479

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
pull/481/head
Bogdan Dobrelya 8 years ago
parent
commit
6fdcaa1a63
3 changed files with 12 additions and 1 deletions
  1. 4
      roles/etcd/tasks/install.yml
  2. 5
      roles/kubernetes/master/tasks/main.yml
  3. 4
      roles/network_plugin/calico/tasks/main.yml

4
roles/etcd/tasks/install.yml

@ -17,6 +17,10 @@
/usr/bin/docker cp etcdctl-binarycopy:{{ etcd_container_bin_dir }}etcdctl {{ bin_dir }}/etcdctl && /usr/bin/docker cp etcdctl-binarycopy:{{ etcd_container_bin_dir }}etcdctl {{ bin_dir }}/etcdctl &&
/usr/bin/docker rm -f etcdctl-binarycopy" /usr/bin/docker rm -f etcdctl-binarycopy"
when: etcd_deployment_type == "docker" when: etcd_deployment_type == "docker"
register: etcd_task_result
until: etcd_task_result.rc == 0
retries: 4
delay: "{{ 20 | random + 3 }}"
changed_when: false changed_when: false
#Plan B: looks nicer, but requires docker-py on all hosts: #Plan B: looks nicer, but requires docker-py on all hosts:

5
roles/kubernetes/master/tasks/main.yml

@ -9,8 +9,11 @@
- name: Copy kubectl from hyperkube container - name: Copy kubectl from hyperkube container
command: "/usr/bin/docker run --rm -v {{ bin_dir }}:/systembindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /bin/cp /hyperkube /systembindir/kubectl" command: "/usr/bin/docker run --rm -v {{ bin_dir }}:/systembindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /bin/cp /hyperkube /systembindir/kubectl"
register: kube_task_result
until: kube_task_result.rc == 0
retries: 4
delay: "{{ 20 | random + 3 }}"
changed_when: false changed_when: false
register: kubectl_launcher
- name: Write kube-apiserver manifest - name: Write kube-apiserver manifest
template: template:

4
roles/network_plugin/calico/tasks/main.yml

@ -34,6 +34,10 @@
- name: Calico | Copy cni plugins from hyperkube - name: Calico | Copy cni plugins from hyperkube
command: "/usr/bin/docker run --rm -v /opt/cni/bin:/cnibindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /bin/cp -r /opt/cni/bin/. /cnibindir/" command: "/usr/bin/docker run --rm -v /opt/cni/bin:/cnibindir {{ hyperkube_image_repo }}:{{ hyperkube_image_tag }} /bin/cp -r /opt/cni/bin/. /cnibindir/"
register: cni_task_result
until: cni_task_result.rc == 0
retries: 4
delay: "{{ 20 | random + 3 }}"
changed_when: false changed_when: false
when: use_hyperkube_cni when: use_hyperkube_cni

Loading…
Cancel
Save