From a34ef07de98d7576663a1cd52664c9acad5d0e45 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Sun, 24 Jan 2021 10:44:13 -0800 Subject: [PATCH] virt instance create: put old armv7 install setup back in stg Will re-install a bulder without uefi and see if that matters any for our memory management woes. Signed-off-by: Kevin Fenzi --- inventory/group_vars/buildvm_armv7_stg | 2 +- tasks/virt_instance_create.yml | 50 ++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/inventory/group_vars/buildvm_armv7_stg b/inventory/group_vars/buildvm_armv7_stg index 8f11b89bb3..4bcd3319d0 100644 --- a/inventory/group_vars/buildvm_armv7_stg +++ b/inventory/group_vars/buildvm_armv7_stg @@ -2,7 +2,7 @@ # common items for the buildvm-* koji builders volgroup: /dev/vg_guests lvm_size: 140000 -mem_size: 24000 +mem_size: 40000 max_mem_size: "{{ mem_size }}" num_cpus: 5 max_cpu: "{{ num_cpus }}" diff --git a/tasks/virt_instance_create.yml b/tasks/virt_instance_create.yml index 9a60d96452..fd01d1c7e4 100644 --- a/tasks/virt_instance_create.yml +++ b/tasks/virt_instance_create.yml @@ -35,11 +35,61 @@ delay: 20 when: inventory_hostname not in result.list_vms +- name: ARMv7 copy the kernel out + shell: "virt-builder --get-kernel {{ volgroup }}/{{ inventory_hostname }} --output /var/lib/libvirt/images/ | awk -F/ '{print $NF}' > /var/lib/libvirt/images/{{ inventory_hostname }}-details.txt" + delegate_to: "{{ vmhost}}" + when: env == 'staging' and inventory_hostname.startswith(('buildvm-a32', 'buildvm-armv7','armv7-test')) and ( inventory_hostname not in result.list_vms or armv7kernelupdate is defined ) + tags: + - armv7-kernel + +- name: ARMv7 extract the kernel details + command: "head -n1 /var/lib/libvirt/images/{{ inventory_hostname }}-details.txt" + delegate_to: "{{ vmhost}}" + register: host_armv7kernel + when: env == 'staging' and inventory_hostname.startswith(('buildvm-a32', 'buildvm-armv7','armv7-test')) and ( inventory_hostname not in result.list_vms or armv7kernelupdate is defined ) + tags: + - armv7-kernel + +- name: ARMv7 extract the initrd details + command: "tail -n1 /var/lib/libvirt/images/{{ inventory_hostname }}-details.txt" + delegate_to: "{{ vmhost}}" + register: host_armv7initrd + when: env == 'staging' and inventory_hostname.startswith(('buildvm-a32', 'buildvm-armv7','armv7-test')) and ( inventory_hostname not in result.list_vms or armv7kernelupdate is defined ) + tags: + - armv7-kernel + +- name: ARMv7 copy the cmdline out + shell: "virt-cat -a {{ volgroup }}/{{ inventory_hostname }} /boot/extlinux/extlinux.conf | grep -m1 append | sed -e 's/append //'" + delegate_to: "{{ vmhost}}" + register: host_cmdline + when: env == 'staging' and inventory_hostname.startswith(('buildvm-a32', 'buildvm-armv7','armv7-test')) and ( inventory_hostname not in result.list_vms or armv7kernelupdate is defined ) + tags: + - armv7-kernel + +- name: ARMv7 update the virt parameters + vars: + ansible_python_interpreter: /usr/bin/python3 + virt_boot: domain={{ inventory_hostname }} kernel=/var/lib/libvirt/images/{{ host_armv7kernel.stdout }} initrd=/var/lib/libvirt/images/{{ host_armv7initrd.stdout }} cmdline={{ host_cmdline.stdout }} + delegate_to: "{{ vmhost }}" + when: env == 'staging' and inventory_hostname.startswith(('buildvm-a32', 'buildvm-armv7','armv7-test')) and ( inventory_hostname not in result.list_vms or armv7kernelupdate is defined ) + tags: + - armv7-kernel + +- name: when armv7kernelupdate is set we are done + fail: msg="armv7kernelupdate was set, so kernel has been updated and target booted up" + when: env == 'staging' and armv7kernelupdate is defined + - name: start the vm up and set it to autostart virt: state=running name={{ inventory_hostname }} autostart=True delegate_to: "{{ vmhost }}" when: inventory_hostname not in result.list_vms +- name: ARMv7 pause while VM updates + pause: seconds=5 + when: env == 'staging' and inventory_hostname.startswith(('buildvm-a32', 'buildvm-armv7','armv7-test')) and ( inventory_hostname not in result.list_vms or armv7kernelupdate is defined ) + tags: + - armv7-kernel + - name: make sure there is no old ssh host key for the host still around local_action: known_hosts path={{item}} host={{ inventory_hostname }} state=absent ignore_errors: True