diff options
Diffstat (limited to 'patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch')
-rw-r--r-- | patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch | 282 |
1 files changed, 0 insertions, 282 deletions
diff --git a/patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch b/patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch deleted file mode 100644 index ebcc8065..00000000 --- a/patches/opnfv-fuel/0002-salt-formulas-Add-enable-armband-formula.patch +++ /dev/null @@ -1,282 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Guillermo Herrero <Guillermo.Herrero@enea.com> -Date: Tue, 25 Jul 2017 00:58:32 +0200 -Subject: [PATCH] salt-formulas: Add & enable armband formula - -- prereq: install qemu-efi; -- prereq: install vgabios; -- prereq: fix missing link for vgabios binary blob; -- nova patch: Add video type virtio for AArch64 (backport from [1]); -- nova patch: libvirt driver: AArch64: ACPI depends on AAVMF; -- nova conf: cpu_model=cortex-a57 (only for virtual deploys); -- nova conf: virt_type=qemu (only for virtual deploys); -- nova compute conf: virt_type=qemu (only for virtual deploys); -- nova conf: pointer_model=ps2mouse since AArch64 has no USB tablet; - -[1] https://github.com/openstack/nova/commit/f0f0953 - -Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com> -Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - mcp/config/states/openstack_ha | 1 + - mcp/config/states/openstack_noha | 2 + - mcp/config/states/virtual_control_plane | 1 + - .../armband/files/nova-libvirt-aarch64-rollup.diff | 106 +++++++++++++++++++++ - mcp/salt-formulas/armband/init.sls | 7 ++ - mcp/salt-formulas/armband/nova_config.sls | 35 +++++++ - mcp/salt-formulas/armband/nova_libvirt.sls | 7 ++ - mcp/salt-formulas/armband/qemu_efi.sls | 2 + - mcp/salt-formulas/armband/vgabios.sls | 7 ++ - 9 files changed, 168 insertions(+) - create mode 100644 mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff - create mode 100644 mcp/salt-formulas/armband/init.sls - create mode 100644 mcp/salt-formulas/armband/nova_config.sls - create mode 100644 mcp/salt-formulas/armband/nova_libvirt.sls - create mode 100644 mcp/salt-formulas/armband/qemu_efi.sls - create mode 100644 mcp/salt-formulas/armband/vgabios.sls - -diff --git a/mcp/config/states/openstack_ha b/mcp/config/states/openstack_ha -index 77063d6c..e17f92a5 100755 ---- a/mcp/config/states/openstack_ha -+++ b/mcp/config/states/openstack_ha -@@ -52,6 +52,7 @@ salt -I 'neutron:server' state.sls neutron -b 1 - salt -I 'neutron:gateway' state.sls neutron.gateway - - salt -I 'nova:compute' state.sls nova -+wait_for 5.0 "salt -I 'nova:compute' state.sls armband" - - salt -C 'I@mongodb:server and *01*' state.sls mongodb || true - wait_for 10.0 "salt -C 'I@mongodb:server and *01*' cmd.run 'mongo localhost:27017/admin'" -diff --git a/mcp/config/states/openstack_noha b/mcp/config/states/openstack_noha -index a266989a..77557caa 100755 ---- a/mcp/config/states/openstack_noha -+++ b/mcp/config/states/openstack_noha -@@ -55,6 +55,8 @@ salt -I 'ceilometer:agent' state.sls ceilometer - - salt -I 'horizon:server' state.sls horizon - -+salt -I 'nova:compute' state.sls armband -+ - # workaround for the pike horizon is missing css, FUEL-324 - salt -I 'horizon:server' file.symlink \ - /var/lib/openstack-dashboard/static \ -diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane -index c391cfe6..02a813c9 100755 ---- a/mcp/config/states/virtual_control_plane -+++ b/mcp/config/states/virtual_control_plane -@@ -27,6 +27,7 @@ if [ "${ERASE_ENV}" -eq 1 ]; then - fi - - # KVM libvirt first, VCP deployment -+wait_for 5.0 "salt -C 'kvm*' state.sls armband" - wait_for 5.0 "salt -C 'kvm*' state.sls libvirt" - - salt -C 'kvm* or cmp*' state.apply salt -diff --git a/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff b/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff -new file mode 100644 -index 00000000..c987a4ce ---- /dev/null -+++ b/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff -@@ -0,0 +1,106 @@ -+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+Date: Thu, 24 Aug 2017 10:57:28 +0200 -+Subject: [PATCH] libvirt: AArch64: ACPI depends on AAVMF -+ -+On AArch64, ACPI should be added to domain XML only if guest UEFI -+(AAVMF) is also used. -+ -+[ Alexandru.Avadanii@enea.com ] -+- pike rebase: minor context adj -+ -+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+Signed-off-by: Ciprian Barbu <ciprian.barbu@enea.com> -+ -+--- -+ -+diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py -+--- a/nova/virt/libvirt/driver.py -++++ b/nova/virt/libvirt/driver.py -+@@ -4314,7 +4314,10 @@ -+ -+ if (virt_type not in ("lxc", "uml", "parallels", "xen") or -+ (virt_type == "xen" and guest.os_type == fields.VMMode.HVM)): -+- guest.features.append(vconfig.LibvirtConfigGuestFeatureACPI()) -++ guestarch = libvirt_utils.get_arch(image_meta) -++ if (guestarch not in (fields.Architecture.ARMV7, fields.Architecture.AARCH64) or -++ image_meta.properties.get('hw_firmware_type') == 'uefi'): -++ guest.features.append(vconfig.LibvirtConfigGuestFeatureACPI()) -+ guest.features.append(vconfig.LibvirtConfigGuestFeatureAPIC()) -+ -+ if (virt_type in ("qemu", "kvm") and -+-- -+ -+From f0f09530ee9169eb29bc28d4f118676d7dc6640e Mon Sep 17 00:00:00 2001 -+From: Kevin Zhao <kevin.zhao@arm.com> -+Date: Tue, 15 Aug 2017 09:52:09 +0000 -+Subject: [PATCH] Add video type virtio for AArch64 -+ -+Currently only "virtio" type is supported on AArch64, and the -+other "virrus", "qxl" and "vga" don't work on AArch64 according to -+libvirt upstream: -+https://www.redhat.com/archives/libvir-list/2016-September/msg00546.html -+Then this patch adds the virtio for AArch64 and tweaks the related test cases. -+ -+Closes-bug: #1710766 -+ -+[ Alexandru.Avadanii@enea.com ] -+Dropped test changes so it applies cleanly on Newton without more backports. -+ -+Change-Id: Iba8a1e671f2b5759b3d9178aa1871d0cf888b26b -+Signed-off-by: Kevin Zhao <kevin.zhao@arm.com> -+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+--- -+ -+--- a/nova/virt/libvirt/driver.py -++++ b/nova/virt/libvirt/driver.py -+@@ -4342,7 +4342,8 @@ def _check_number_of_serial_console(self, num_ports): -+ allowed=ALLOWED_QEMU_SERIAL_PORTS, virt_type=virt_type) -+ -+ def _add_video_driver(self, guest, image_meta, flavor): -+- VALID_VIDEO_DEVICES = ("vga", "cirrus", "vmvga", "xen", "qxl") -++ VALID_VIDEO_DEVICES = ("vga", "cirrus", "vmvga", -++ "xen", "qxl", "virtio") -+ video = vconfig.LibvirtConfigGuestVideo() -+ # NOTE(ldbragst): The following logic sets the video.type -+ # depending on supported defaults given the architecture, -+@@ -4360,6 +4361,10 @@ def _add_video_driver(self, guest, image_meta, flavor): -+ # NOTE(ldbragst): PowerKVM doesn't support 'cirrus' be default -+ # so use 'vga' instead when running on Power hardware. -+ video.type = 'vga' -++ elif guestarch in (fields.Architecture.AARCH64): -++ # NOTE(kevinz): Only virtio device type is supported by AARCH64 -++ # so use 'virtio' instead when running on AArch64 hardware. -++ video.type = 'virtio' -+ elif CONF.spice.enabled: -+ video.type = 'qxl' -+ if image_meta.properties.get('hw_video_model'): -+-- -+ -+From dbd4c20de002784a4ffc07b173e82dd84a3af01c Mon Sep 17 00:00:00 2001 -+From: Charalampos Kominos <Charalampos.Kominos@enea.com> -+Date: Wed, 2 May 2018 14:20:47 +0200 -+Subject: [PATCH] Allow libvirt to honor root device naming -+ -+Current behaviour in upstream nova is for rootfs to be in /dev/vda -+which is the default behaviour when using virtio driver. However when -+other devices are requested either by glance or by CLI, nova ignores -+that naming and still tries to attach to vda which fails. -+ -+Manually applied in https://review.openstack.org/#/c/214314/ -+ -+JIRA: ARMBAND-376 -+ -+Signed-off-by: Charalampos Kominos <charalampos.kominos@enea.com> -+--- -+ -+--- a/nova/virt/libvirt/driver.py -++++ b/nova/virt/libvirt/driver.py -+@@ -8257,6 +8257,8 @@ -+ "Ignoring supplied device name: %(device_name)s. " -+ "Libvirt can't honour user-supplied dev names", -+ {'device_name': bdm.device_name}, instance=instance) -++ if instance.root_device_name == bdm.device_name: -++ instance.root_device_name = None -+ bdm.device_name = None -+ block_device_info = driver.get_block_device_info(instance, -+ block_device_mapping) -diff --git a/mcp/salt-formulas/armband/init.sls b/mcp/salt-formulas/armband/init.sls -new file mode 100644 -index 00000000..8a8cf2ab ---- /dev/null -+++ b/mcp/salt-formulas/armband/init.sls -@@ -0,0 +1,7 @@ -+include: -+ - armband.qemu_efi -+ - armband.vgabios -+ {%- if salt['pkg.version']('python-nova') %} -+ - armband.nova_libvirt -+ - armband.nova_config -+ {%- endif %} -diff --git a/mcp/salt-formulas/armband/nova_config.sls b/mcp/salt-formulas/armband/nova_config.sls -new file mode 100644 -index 00000000..31fa031a ---- /dev/null -+++ b/mcp/salt-formulas/armband/nova_config.sls -@@ -0,0 +1,35 @@ -+{% if grains['virtual'] == 'kvm' %} -+nova_virt_type: -+ file.replace: -+ - name: "/etc/nova/nova.conf" -+ - pattern: '^virt_type\s*=.*$' -+ - repl: "virt_type = qemu" -+nova_compute_virt_type: -+ file.replace: -+ - name: "/etc/nova/nova-compute.conf" -+ - pattern: '^virt_type\s*=.*$' -+ - repl: "virt_type = qemu" -+{% endif %} -+nova_pointer_model: -+ file.replace: -+ - name: "/etc/nova/nova.conf" -+ - pattern: '^#pointer_model\s*=.*$' -+ - repl: "pointer_model = ps2mouse" -+nova_cpu_mode: -+ file.replace: -+ - name: "/etc/nova/nova.conf" -+ - pattern: '^cpu_mode\s*=\s*host-passthrough' -+ - repl: "cpu_mode = custom" -+nova_cpu_model: -+ file.replace: -+ - name: "/etc/nova/nova.conf" -+ - pattern: '^#cpu_model\s*=.*$' -+ {% if grains['virtual'] == 'kvm' %} -+ - repl: "cpu_model = cortex-a57" -+ {% else %} -+ - repl: "cpu_model = host" -+ {% endif %} -+restart_nova-compute: -+ cmd: -+ - run -+ - name: "service nova-compute restart" -diff --git a/mcp/salt-formulas/armband/nova_libvirt.sls b/mcp/salt-formulas/armband/nova_libvirt.sls -new file mode 100644 -index 00000000..ff93db80 ---- /dev/null -+++ b/mcp/salt-formulas/armband/nova_libvirt.sls -@@ -0,0 +1,7 @@ -+nova-libvirt-aarch64-rollup: -+ file.patch: -+ - name: /usr/lib/python2.7/dist-packages -+ - source: salt://armband/files/nova-libvirt-aarch64-rollup.diff -+ - hash: False -+ - options: '-p1' -+ - unless: 'test -f /var/cache/salt/minion/files/base/armband/files/nova-libvirt-aarch64-rollup.diff && cd /usr/lib/python2.7/dist-packages && patch -p1 -R --dry-run -r - < /var/cache/salt/minion/files/base/armband/files/nova-libvirt-aarch64-rollup.diff' -diff --git a/mcp/salt-formulas/armband/qemu_efi.sls b/mcp/salt-formulas/armband/qemu_efi.sls -new file mode 100644 -index 00000000..c697dae9 ---- /dev/null -+++ b/mcp/salt-formulas/armband/qemu_efi.sls -@@ -0,0 +1,2 @@ -+qemu-efi: -+ pkg.installed -diff --git a/mcp/salt-formulas/armband/vgabios.sls b/mcp/salt-formulas/armband/vgabios.sls -new file mode 100644 -index 00000000..500c2bcf ---- /dev/null -+++ b/mcp/salt-formulas/armband/vgabios.sls -@@ -0,0 +1,7 @@ -+vgabios: -+ pkg.installed -+/usr/share/qemu: -+ file.directory -+/usr/share/qemu/vgabios-stdvga.bin: -+ file.symlink: -+ - target: "/usr/share/vgabios/vgabios.bin" |