summaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0001-mcp-salt-formulas-Add-enable-armband-formula.patch
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-11-16 19:14:14 +0100
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-11-16 19:14:14 +0100
commitae49b614d29351d07e317ca792865ae74d0c5fb7 (patch)
treeb092e589058ad25b7f7f6f2f29dd282b85136438 /patches/opnfv-fuel/0001-mcp-salt-formulas-Add-enable-armband-formula.patch
parentadbf9f707a702eff262d8437a68bc6c04e12d786 (diff)
p/fuel: armband formula: Refresh nova patches
Rework armband salt formula, focusing on nova libvirt driver patches: - Switch from multiple individual patches to a single roll-up patch: * Patch is now applied for python directory instead of each file; * Expected hash is now 'False' (no hash checking for whole dir); * Added 'unless' condition to skip patching when already applied. Replaces old hash mechanism which was broken anyway when multiple patches are applied to the same file; - nova: Switch guest video from VGA to virtio (replace our old standard VGA default patch with upstream backport); - nova: Skip config/patch if 'python-nova' is not installed (e.g. for KVM nodes); - nova: Support Qemu >= 2.10 (backport); - libvirt: Re-enable Apparmor security driver on compute nodes; - armband state is now fully re-entrant; JIRA: ARMBAND-306 JIRA: ARMBAND-318 JIRA: ARMBAND-320 JIRA: ARMBAND-331 Change-Id: I48c09b10be030aa1ab4424b76876bf3dabd40fd2 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'patches/opnfv-fuel/0001-mcp-salt-formulas-Add-enable-armband-formula.patch')
-rw-r--r--patches/opnfv-fuel/0001-mcp-salt-formulas-Add-enable-armband-formula.patch278
1 files changed, 0 insertions, 278 deletions
diff --git a/patches/opnfv-fuel/0001-mcp-salt-formulas-Add-enable-armband-formula.patch b/patches/opnfv-fuel/0001-mcp-salt-formulas-Add-enable-armband-formula.patch
deleted file mode 100644
index d15cb934..00000000
--- a/patches/opnfv-fuel/0001-mcp-salt-formulas-Add-enable-armband-formula.patch
+++ /dev/null
@@ -1,278 +0,0 @@
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-: Copyright (c) 2017 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] mcp: salt-formulas: Add & enable armband formula
-
-FIXME: Re-enable apparmor.
-FIXME: Detect baremetal and re-enable acceleration.
-
-- install qemu-efi;
-- install vgabios;
-- disable apparmor as security driver for libvirt (temporary);
-- fix missing link for vgabios binary blob;
-- nova: virt_type=qemu (temporary, until we support baremetal too);
-- nova: pointer_model=ps2mouse since AArch64 has no USB tablet;
-- nova: cpu_model=cortex-a57;
-- nova: libvirt driver: Add ttyAMA0 by default on AArch64;
-- nova: libvirt driver: Use VGA video type by default on AArch64;
-- nova: libvirt driver: AArch64: ACPI depends on AAVMF;
-
-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 | 2 +
- mcp/config/states/openstack_ha | 1 +
- mcp/config/states/virtual_control_plane | 1 +
- ...ate-vga-console-defaults-for-armv7-aarch64.diff | 48 ++++++++++++++++++++++
- ...nova-libvirt-AArch64-ACPI-depends-on-AAVMF.diff | 45 ++++++++++++++++++++
- mcp/salt-formulas/armband/init.sls | 6 +++
- mcp/salt-formulas/armband/libvirt_driver.sls | 11 +++++
- mcp/salt-formulas/armband/nova.sls | 30 ++++++++++++++
- mcp/salt-formulas/armband/qemu.sls | 7 ++++
- mcp/salt-formulas/armband/vgabios.sls | 6 +++
- 10 files changed, 157 insertions(+)
- create mode 100644 mcp/salt-formulas/armband/files/nova-Update-vga-console-defaults-for-armv7-aarch64.diff
- create mode 100644 mcp/salt-formulas/armband/files/nova-libvirt-AArch64-ACPI-depends-on-AAVMF.diff
- create mode 100644 mcp/salt-formulas/armband/init.sls
- create mode 100644 mcp/salt-formulas/armband/libvirt_driver.sls
- create mode 100644 mcp/salt-formulas/armband/nova.sls
- create mode 100644 mcp/salt-formulas/armband/qemu.sls
- create mode 100644 mcp/salt-formulas/armband/vgabios.sls
-
-diff --git a/mcp/config/states/openstack b/mcp/config/states/openstack
-index 19cd417..73983d2 100755
---- a/mcp/config/states/openstack
-+++ b/mcp/config/states/openstack
-@@ -43,3 +43,5 @@ salt -I 'ceilometer:server' state.sls ceilometer
- salt -I 'ceilometer:agent' state.sls ceilometer
-
- salt -I 'horizon:server' state.sls horizon
-+
-+salt -I 'nova:compute' state.sls armband || true
-diff --git a/mcp/config/states/openstack_ha b/mcp/config/states/openstack_ha
-index e1fdf73..e1f705c 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
-+salt -I 'nova:compute' state.sls armband || true
-
- salt -I 'mongodb:server' state.sls mongodb || true
- wait_for 90 "salt -C 'I@mongodb:server and *01*' cmd.run 'mongo localhost:27017/admin'"
-diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane
-index 43d1520..88e7080 100755
---- a/mcp/config/states/virtual_control_plane
-+++ b/mcp/config/states/virtual_control_plane
-@@ -34,6 +34,7 @@ wait_for 90 "! salt -C 'kvm* or cmp*' test.ping | " \
-
- salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp
-
-+salt -C 'kvm*' state.sls armband || true
- wait_for 5 "salt -C 'kvm*' state.sls libvirt"
-
- salt -C '* and not cfg01* and not mas01*' state.apply salt
-diff --git a/mcp/salt-formulas/armband/files/nova-Update-vga-console-defaults-for-armv7-aarch64.diff b/mcp/salt-formulas/armband/files/nova-Update-vga-console-defaults-for-armv7-aarch64.diff
-new file mode 100644
-index 0000000..a5b08da
---- /dev/null
-+++ b/mcp/salt-formulas/armband/files/nova-Update-vga-console-defaults-for-armv7-aarch64.diff
-@@ -0,0 +1,48 @@
-+From: Stanislaw Kardach <stanislaw.kardach@cavium.com>
-+Date: Tue, 22 Mar 2016 12:05:09 +0100
-+Subject: [PATCH] nova: Update vga, console defaults for armv7, aarch64
-+
-+Nova hardcodes default options for both video=cirrus and console.
-+armv7 and aarch64 VMs require video=vga, and since most applications
-+use PL011 serial driver for guests, adding console=ttyAMA0 is also
-+a nice UX addition.
-+
-+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
-+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-+Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com>
-+
-+---
-+ usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py | 10 +++++++++-
-+ 1 file changed, 9 insertions(+), 1 deletion(-)
-+
-+diff --git a/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py b/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py
-+index bba9b00..99e86be 100644
-+--- a/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py
-++++ b/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py
-+@@ -4179,7 +4179,12 @@ class LibvirtDriver(driver.ComputeDriver):
-+ if virt_type == "xen":
-+ guest.os_cmdline = "ro root=%s" % root_device_name
-+ else:
-++ guestarch = libvirt_utils.get_arch(image_meta)
-+ guest.os_cmdline = ("root=%s %s" % (root_device_name, CONSOLE))
-++ if guestarch in (fields.Architecture.ARMV7,
-++ fields.Architecture.AARCH64):
-++ # NOTE(armband): ARM v7/v8 use PL011 drv, add ttyAMA0 console
-++ guest.os_cmdline += " console=ttyAMA0"
-+ if virt_type == "qemu":
-+ guest.os_cmdline += " no_timer_check"
-+ if instance.ramdisk_id:
-+@@ -4288,9 +4293,12 @@ class LibvirtDriver(driver.ComputeDriver):
-+ video.type = 'xen'
-+ elif CONF.libvirt.virt_type == 'parallels':
-+ video.type = 'vga'
-+- elif guestarch in (fields.Architecture.PPC,
-++ elif guestarch in (fields.Architecture.ARMV7,
-++ fields.Architecture.AARCH64,
-++ fields.Architecture.PPC,
-+ fields.Architecture.PPC64,
-+ fields.Architecture.PPC64LE):
-++ # NOTE(armband): Added ARM v7/v8, same as on PPC.
-+ # NOTE(ldbragst): PowerKVM doesn't support 'cirrus' be default
-+ # so use 'vga' instead when running on Power hardware.
-+ video.type = 'vga'
-diff --git a/mcp/salt-formulas/armband/files/nova-libvirt-AArch64-ACPI-depends-on-AAVMF.diff b/mcp/salt-formulas/armband/files/nova-libvirt-AArch64-ACPI-depends-on-AAVMF.diff
-new file mode 100644
-index 0000000..7c1b78a
---- /dev/null
-+++ b/mcp/salt-formulas/armband/files/nova-libvirt-AArch64-ACPI-depends-on-AAVMF.diff
-@@ -0,0 +1,45 @@
-+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.
-+
-+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-+Signed-off-by: Ciprian Barbu <ciprian.barbu@enea.com>
-+
-+---
-+
-+diff --git a/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py b/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py
-+--- a/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py
-++++ b/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py
-+@@ -4255,7 +4255,7 @@
-+ tmhyperv.present = True
-+ clk.add_timer(tmhyperv)
-+
-+- def _set_features(self, guest, os_type, caps, virt_type):
-++ def _set_features(self, guest, os_type, image_meta, caps, virt_type):
-+ if virt_type == "xen":
-+ # PAE only makes sense in X86
-+ if caps.host.cpu.arch in (fields.Architecture.I686,
-+@@ -4264,7 +4264,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
-+@@ -4799,7 +4802,7 @@
-+ self._conf_non_lxc_uml(virt_type, guest, root_device_name, rescue,
-+ instance, inst_path, image_meta, disk_info)
-+
-+- self._set_features(guest, instance.os_type, caps, virt_type)
-++ self._set_features(guest, instance.os_type, image_meta, caps, virt_type)
-+ self._set_clock(guest, instance.os_type, image_meta, virt_type)
-+
-+ storage_configs = self._get_guest_storage_config(
-diff --git a/mcp/salt-formulas/armband/init.sls b/mcp/salt-formulas/armband/init.sls
-new file mode 100644
-index 0000000..6e7b6ad
---- /dev/null
-+++ b/mcp/salt-formulas/armband/init.sls
-@@ -0,0 +1,6 @@
-+include:
-+ - armband.qemu
-+ - armband.vgabios
-+ - armband.nova
-+ - armband.libvirt_driver
-+
-diff --git a/mcp/salt-formulas/armband/libvirt_driver.sls b/mcp/salt-formulas/armband/libvirt_driver.sls
-new file mode 100644
-index 0000000..9b47e2f
---- /dev/null
-+++ b/mcp/salt-formulas/armband/libvirt_driver.sls
-@@ -0,0 +1,11 @@
-+nova-libvirt-vga-console:
-+ file.patch:
-+ - name: /usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py
-+ - source: salt://armband/files/nova-Update-vga-console-defaults-for-armv7-aarch64.diff
-+ - hash: "71b22839913e6351edc70b6d59505f17"
-+
-+nova-libvirt-ACPI-AAVMF:
-+ file.patch:
-+ - name: /usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py
-+ - source: salt://armband/files/nova-libvirt-AArch64-ACPI-depends-on-AAVMF.diff
-+ - hash: "c02969d59f16f57242eb74a75e46b0cf"
-diff --git a/mcp/salt-formulas/armband/nova.sls b/mcp/salt-formulas/armband/nova.sls
-new file mode 100644
-index 0000000..674f371
---- /dev/null
-+++ b/mcp/salt-formulas/armband/nova.sls
-@@ -0,0 +1,30 @@
-+{% if grains['virtual'] == 'kvm' %}
-+nova_virt_type:
-+ file.replace:
-+ - name: "/etc/nova/nova.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/qemu.sls b/mcp/salt-formulas/armband/qemu.sls
-new file mode 100644
-index 0000000..ecdb5ae
---- /dev/null
-+++ b/mcp/salt-formulas/armband/qemu.sls
-@@ -0,0 +1,7 @@
-+qemu-efi:
-+ pkg.installed
-+/etc/libvirt/qemu.conf:
-+ file.replace:
-+ - pattern: ^#security_driver =.*$
-+ - repl: "security_driver = \"none\""
-+
-diff --git a/mcp/salt-formulas/armband/vgabios.sls b/mcp/salt-formulas/armband/vgabios.sls
-new file mode 100644
-index 0000000..a31eafa
---- /dev/null
-+++ b/mcp/salt-formulas/armband/vgabios.sls
-@@ -0,0 +1,6 @@
-+vgabios:
-+ pkg.installed
-+/usr/share/qemu/vgabios-stdvga.bin:
-+ file.symlink:
-+ - target: "/usr/share/vgabios/vgabios.bin"
-+