diff options
Diffstat (limited to 'patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch')
-rw-r--r-- | patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch b/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch new file mode 100644 index 00000000..b98bdc95 --- /dev/null +++ b/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch @@ -0,0 +1,198 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: 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 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 + + .../files/nova-libvirt-aarch64-rollup.diff | 27 ++++++++++++++ + 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, 89 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 73c44bb6..4ac5d6d5 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 -I 'redis:cluster:role:master' state.sls redis + salt -I 'redis:server' state.sls redis +diff --git a/mcp/config/states/openstack_noha b/mcp/config/states/openstack_noha +index 70db238b..52d643df 100755 +--- a/mcp/config/states/openstack_noha ++++ b/mcp/config/states/openstack_noha +@@ -54,3 +54,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/virtual_control_plane b/mcp/config/states/virtual_control_plane +index 18e6d1cd..64d73953 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..1ecbf297 +--- /dev/null ++++ b/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff +@@ -0,0 +1,27 @@ ++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" |