diff --git a/roles/etcdctl/tasks/main.yml b/roles/etcdctl/tasks/main.yml index d046c9fb2..3f0a9d2e1 100644 --- a/roles/etcdctl/tasks/main.yml +++ b/roles/etcdctl/tasks/main.yml @@ -42,7 +42,10 @@ when: container_manager == "docker" - name: Copy etcdctl script to host - shell: "{{ bin_dir }}/nerdctl cp \"$({{ bin_dir }}/crictl ps -q --image {{ etcd_image_repo }}:{{ etcd_image_tag }})\":/usr/local/bin/etcdctl {{ etcd_data_dir }}/etcdctl" + shell: >- + etcd_ctr_id="$({{ bin_dir }}/crictl ps -q --image {{ etcd_image_repo }}:{{ etcd_image_tag }})" && + etcd_ctr_pid="$({{ bin_dir }}/crictl inspect --output go-template --template '{{ '{{' }} .info.pid {{ '}}' }}' ${etcd_ctr_id})" && + cp /proc/${etcd_ctr_pid}/root/usr/local/bin/etcdctl {{ etcd_data_dir }}/etcdctl when: container_manager in ['crio', 'containerd'] - name: Copy etcdctl to {{ bin_dir }}