From 2fbbf2e1e4a5254052c6d470b9572d3f533915f4 Mon Sep 17 00:00:00 2001 From: Max Gautier Date: Sat, 17 May 2025 22:22:32 +0200 Subject: [PATCH] CI/kubevirt: Configure ignition provisioning Flatcar does not support cloud-init --- .../roles/packet-ci/templates/vm.yml.j2 | 12 ++-------- .../roles/packet-ci/vars/main.yml | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/tests/cloud_playbooks/roles/packet-ci/templates/vm.yml.j2 b/tests/cloud_playbooks/roles/packet-ci/templates/vm.yml.j2 index 6d5e254be..87f9dbde8 100644 --- a/tests/cloud_playbooks/roles/packet-ci/templates/vm.yml.j2 +++ b/tests/cloud_playbooks/roles/packet-ci/templates/vm.yml.j2 @@ -55,13 +55,5 @@ spec: containerDisk: image: quay.io/kubespray/vm-{{ cloud_image }} - name: cloudinitvolume - cloudInitConfigDrive: - userData: | - #cloud-config - users: - - name: {{ lookup('env', 'ANSIBLE_REMOTE_USER') }} - sudo: ALL=(ALL) NOPASSWD:ALL - shell: /bin/bash - lock_passwd: False - ssh_authorized_keys: - - {{ ssh_key.public_key }} + cloudInit{{ 'ConfigDrive' if cloud_image.startswith('flatcar') else 'NoCloud' }}: + userDataBase64: '{{ ((ignition_config | to_json) if cloud_image.startswith('flatcar') else cloudinit_config) | b64encode }}' diff --git a/tests/cloud_playbooks/roles/packet-ci/vars/main.yml b/tests/cloud_playbooks/roles/packet-ci/vars/main.yml index e8bac22e9..8953805e9 100644 --- a/tests/cloud_playbooks/roles/packet-ci/vars/main.yml +++ b/tests/cloud_playbooks/roles/packet-ci/vars/main.yml @@ -34,3 +34,25 @@ ci_job_id: "{{ lookup('ansible.builtin.env', 'CI_JOB_ID', default=undefined) }}" pod_name: "{{ lookup('ansible.builtin.env', 'POD_NAME', default=undefined) }}" pod_uid: "{{ lookup('ansible.builtin.env', 'POD_UID', default=undefined) }}" pod_namespace: "{{ lookup('ansible.builtin.env', 'POD_NAMESPACE', default=undefined) }}" + +cloudinit_config: | + #cloud-config + users: + - name: {{ lookup('env', 'ANSIBLE_REMOTE_USER') }} + sudo: ALL=(ALL) NOPASSWD:ALL + shell: /bin/bash + lock_passwd: False + ssh_authorized_keys: + - {{ ssh_key.public_key }} + +ignition_config: + ignition: + version: "3.2.0" + passwd: + users: + - name: "{{ lookup('env', 'ANSIBLE_REMOTE_USER') }}" + groups: + - sudo + - wheel + sshAuthorizedKeys: + - "{{ ssh_key.public_key }}"