diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-09-11 20:17:20 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-09-11 21:43:00 +0200 |
commit | 9519a11e1fe0eb26cf5b776d8479065f2f710737 (patch) | |
tree | 984abae9d48cbc1a53612921d344949bfd40b877 /patches/opnfv-fuel/0001-mcp-salt-formulas-Add-enable-armband-formula.patch | |
parent | 6ea6921ad4ad2bea138151da0fea02b30d0c839a (diff) |
u/fuel: Bump & rebase for multiarch reclass
Change-Id: I3de41645b7424195b9c8d5884a7c9de1fabf68cb
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.patch | 218 |
1 files changed, 218 insertions, 0 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 new file mode 100644 index 00000000..4bf56480 --- /dev/null +++ b/patches/opnfv-fuel/0001-mcp-salt-formulas-Add-enable-armband-formula.patch @@ -0,0 +1,218 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: 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; + +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/maas | 1 + + mcp/config/states/openstack | 2 + + mcp/config/states/openstack_ha | 1 + + .../armband/files/nova-libvirt-driver.diff | 48 ++++++++++++++++++++++ + mcp/salt-formulas/armband/init.sls | 6 +++ + mcp/salt-formulas/armband/libvirt_driver.sls | 5 +++ + mcp/salt-formulas/armband/nova.sls | 30 ++++++++++++++ + mcp/salt-formulas/armband/qemu.sls | 7 ++++ + mcp/salt-formulas/armband/vgabios.sls | 6 +++ + 9 files changed, 106 insertions(+) + create mode 100644 mcp/salt-formulas/armband/files/nova-libvirt-driver.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/maas b/mcp/config/states/maas +index db0bd3f..9576333 100755 +--- a/mcp/config/states/maas ++++ b/mcp/config/states/maas +@@ -86,6 +86,7 @@ wait_for 90 "! salt 'kvm*' test.ping | tee /dev/stderr | fgrep -q 'Not connected + + salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp + ++salt -C 'kvm*' state.sls armband + salt -C 'kvm*' state.sls libvirt + + salt -C '* and not cfg01* and not mas01*' state.apply salt +diff --git a/mcp/config/states/openstack b/mcp/config/states/openstack +index eaab135..050b648 100755 +--- a/mcp/config/states/openstack ++++ b/mcp/config/states/openstack +@@ -31,3 +31,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 +diff --git a/mcp/config/states/openstack_ha b/mcp/config/states/openstack_ha +index 8ca76e4..c0b8ee3 100755 +--- a/mcp/config/states/openstack_ha ++++ b/mcp/config/states/openstack_ha +@@ -41,6 +41,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 + + salt -I 'mongodb:server' state.sls mongodb + while true; do sleep 5; salt -C 'I@mongodb:server and *01*' cmd.run 'mongo localhost:27017/admin' && break; done +diff --git a/mcp/salt-formulas/armband/files/nova-libvirt-driver.diff b/mcp/salt-formulas/armband/files/nova-libvirt-driver.diff +new file mode 100644 +index 0000000..a5b08da +--- /dev/null ++++ b/mcp/salt-formulas/armband/files/nova-libvirt-driver.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/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..c309035 +--- /dev/null ++++ b/mcp/salt-formulas/armband/libvirt_driver.sls +@@ -0,0 +1,5 @@ ++/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py: ++ file.patch: ++ - source: salt://armband/files/nova-libvirt-driver.diff ++ - hash: "668641080c6a77a9205d0f71d510ad5f" ++ +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" ++ |