From 47e0b51f87e5e4c8841ff7734e2f29bbaebeabac Mon Sep 17 00:00:00 2001 From: Maarten de Waard <maarten@greenhost.nl> Date: Tue, 14 Sep 2021 10:44:41 +0200 Subject: [PATCH] Try Simon's workaround --- ansible/roles/pre-configure/tasks/main.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/ansible/roles/pre-configure/tasks/main.yml b/ansible/roles/pre-configure/tasks/main.yml index 5a48f98f8..b5d11e38b 100644 --- a/ansible/roles/pre-configure/tasks/main.yml +++ b/ansible/roles/pre-configure/tasks/main.yml @@ -47,11 +47,30 @@ with_items: - python3-pip +# We work around a Debian Bullseye issue with installing snaps on Xen nodes: +# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983357 (Debian link) +# https://code.greenhost.net/greenhost/sysops/-/issues/915#note_108038 (GH # internal link) +- name: Get kbd device name + tags: + - helm + shell: journalctl -k | awk '/Xen.Virtual.Keyboard/ {print $11}' + args: + # Only run this if kubectl snap has not been installed yet + creates: /snap/bin/kubectl + register: kbd_device + failed_when: false + changed_when: false + - name: Install kubectl snap # kubectl needs to get installed as "classic" snap - command: snap install --classic kubectl + command: "{{ item }}" args: creates: /snap/bin/kubectl + with_items: + # mount and umount commands are part of the workaround mentioned above + - sudo mount --bind /dev/zero /sys/{{ kdb_device.stdout }}/uevent + - snap install --classic kubectl + - sudo umount /sys/{{ kbd_device.stdout }}/uevent - name: Create kubectl symlink to /usr/local/bin file: -- GitLab