aboutsummaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0006-virtng.py-virt.sls-Extend-libvirt_domain.patch
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-05-10 18:09:26 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-05-22 18:17:44 +0200
commitd680c5fb86c3fd4b25e7b7f766064a6ef4bf9a3b (patch)
tree301d7de4e5caec317f7fc2257defd45fda6f848d /patches/opnfv-fuel/0006-virtng.py-virt.sls-Extend-libvirt_domain.patch
parent76919718c06a6dd58d63a1bc9b699d56d9086cdb (diff)
[salt] Retire Armband Saltstack repos
Provided we take care of the minor consequences of relying strictly on upstream Saltstack amd64 repos on arm64 (since we don't use RAET, this means merely installing `python-futures` as a dependency of `python-tornado` on all minions), we can finally drop our Salstack arm64 repository. This implies installing python-futures on: - FN and VCP VMs (handled via lib.sh pre-patching); - baremetal nodes (handled via MaaS Curtin template for arm64 now); While at it, also handle other minor patch cleanup operations: * drop `system.linux.system.repo.mcp.armband`, already covered by: - lib.sh pre-patching for FN and VCP VM images; - maas.region.repositories for baremetal nodes; * switch glusterfs PPA repo arch from 'amd64,arm64' to None; * drop obsolete patch handling `mcelog` on AArch64; [1] https://github.com/salt-formulas/salt-formula-maas/pull/26 JIRA: ARMBAND-382 Change-Id: I34f3bd70ebf10395e8d4e70498ff3a144b4d9c3b Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'patches/opnfv-fuel/0006-virtng.py-virt.sls-Extend-libvirt_domain.patch')
-rw-r--r--patches/opnfv-fuel/0006-virtng.py-virt.sls-Extend-libvirt_domain.patch223
1 files changed, 223 insertions, 0 deletions
diff --git a/patches/opnfv-fuel/0006-virtng.py-virt.sls-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0006-virtng.py-virt.sls-Extend-libvirt_domain.patch
new file mode 100644
index 0000000..09dda59
--- /dev/null
+++ b/patches/opnfv-fuel/0006-virtng.py-virt.sls-Extend-libvirt_domain.patch
@@ -0,0 +1,223 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: 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: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+Date: Mon, 21 Aug 2017 01:10:16 +0200
+Subject: [PATCH] virtng.py, virt.sls: Extend libvirt_domain
+
+Extend _modules/virtng.py, salt/control/virt.sls with support for:
+- hw_firmware_type;
+- virt_machine_model;
+- cpu_model;
+
+This functionality relies on the corresponding changes to be
+implemented in libvirt_domain.jinja template.
+
+These will later be leveraged via our reclass model with AArch64
+specific values.
+
+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
+---
+ ...-virtng-module-Extend-libvirt_domain.patch | 54 +++++++++++++++++++
+ ...t-control-virt-Extend-libvirt_domain.patch | 51 ++++++++++++++++++
+ mcp/patches/patches.list | 2 +
+ .../cluster/mcp-pike-common-ha/infra/kvm.yml | 15 ++++++
+ .../cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 | 3 ++
+ 5 files changed, 125 insertions(+)
+ create mode 100644 mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch
+ create mode 100644 mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch
+
+diff --git a/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch b/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch
+new file mode 100644
+index 00000000..706b67da
+--- /dev/null
++++ b/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch
+@@ -0,0 +1,54 @@
++From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++Date: Mon, 21 Aug 2017 02:03:01 +0200
++Subject: [PATCH] virtng: module: Extend libvirt_domain
++
++Extend virtng.py with support for passing down new params:
++- hw_firmware_type;
++- virt_machine_model;
++- cpu_model;
++
++This functionality relies on the corresponding changes to be
++implemented in libvirt_domain.jinja template.
++
++These will later be leveraged via salt virt formula with AArch64
++specific values.
++
++Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++---
++
++diff --git a/_modules/virtng.py b/_modules/virtng.py
++--- a/_modules/virtng.py
+++++ b/_modules/virtng.py
++@@ -56,6 +56,10 @@
++
++ VIRT_DEFAULT_HYPER = 'kvm'
++
+++DEFAULT_UEFI_LOADER_PATH = {
+++ "x86_64": "/usr/share/OVMF/OVMF_CODE.fd",
+++ "aarch64": "/usr/share/AAVMF/AAVMF_CODE.fd"
+++}
++
++ def __virtual__():
++ if not HAS_ALL_IMPORTS:
++@@ -227,6 +231,21 @@
++ # TODO: make bus and model parameterized, this works for 64-bit Linux
++ context['controller_model'] = 'lsilogic'
++
+++ # TODO: limit cpu_model, hw_firmware_type, virt_machine_type to qemu/kvm
+++ # FIXME: parametrize hardcoded path for NVRAM storage
+++ if 'hw_firmware_type' in kwargs and kwargs['hw_firmware_type'] == 'uefi':
+++ context['os_loader_type'] = 'pflash'
+++ context['os_loader'] = DEFAULT_UEFI_LOADER_PATH[os.uname()[-1]]
+++ context['os_loader_nvram'] = '/var/lib/libvirt/qemu/nvram/{0}_VARS.fd'.format(name)
+++
+++ if 'virt_machine_model' in kwargs:
+++ context['custom_virt_machine'] = True
+++ context['virt_machine_model'] = kwargs['virt_machine_model']
+++
+++ if 'cpu_model' in kwargs:
+++ context['cpu_mode'] = 'custom'
+++ context['cpu_model'] = kwargs['cpu_model']
+++
++ if 'boot_dev' in kwargs:
++ context['boot_dev'] = []
++ for dev in kwargs['boot_dev'].split():
+diff --git a/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch b/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch
+new file mode 100644
+index 00000000..78eb0bff
+--- /dev/null
++++ b/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch
+@@ -0,0 +1,51 @@
++From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++Date: Mon, 21 Aug 2017 02:03:01 +0200
++Subject: [PATCH] salt: control: virt: Extend libvirt_domain
++
++Extend salt/control/virt.sls with support for new params:
++- hw_firmware_type;
++- virt_machine_model;
++- cpu_model;
++
++This functionality relies on the corresponding changes to be
++implemented in libvirt_domain.jinja template, as well as in
++salt custom py module virtng.py.
++
++These will later be leveraged via reclass model with AArch64
++specific values.
++
++FIXME: Move all new params to different section, as "size" is
++definitely not the best choice.
++
++Example reclass model usage:
++salt:
++ control:
++ size:
++ openstack.example_vm_type:
++ hw_firmware_type: uefi
++ virt_machine_model: virt
++ cpu_model: host-passthrough
++
++Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
++---
++
++diff --git a/salt/control/virt.sls b/salt/control/virt.sls
++--- a/salt/control/virt.sls
+++++ b/salt/control/virt.sls
++@@ -44,6 +44,16 @@
++ {%- if node.img_dest is defined %}
++ img_dest: {{ node.img_dest }}
++ {%- endif %}
+++ # FIXME(armband): Move these 3 params to different section
+++ {%- if size.hw_firmware_type is defined %}
+++ hw_firmware_type: {{ size.hw_firmware_type }}
+++ {%- endif %}
+++ {%- if size.virt_machine_model is defined %}
+++ virt_machine_model: {{ size.virt_machine_model }}
+++ {%- endif %}
+++ {%- if size.cpu_model is defined %}
+++ cpu_model: {{ size.cpu_model }}
+++ {%- endif %}
++ - unless: virsh list --all --name| grep -E "^{{ node_name }}.{{ cluster.domain }}$"
++
++ #salt_control_seed_{{ cluster_name }}_{{ node_name }}:
+diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list
+index ce59395c..39e737d6 100644
+--- a/mcp/patches/patches.list
++++ b/mcp/patches/patches.list
+@@ -16,3 +16,5 @@
+ /usr/share/salt-formulas/env: 0012-routes-Skip-network-restart-on-noifupdown.patch
+ /usr/share/salt-formulas/env: 0015-Set-ovs-bridges-as-L3-interfaces.patch
+ /usr/share/salt-formulas/env: 0016-Set-boot-source-selections.patch
++/usr/share/salt-formulas/env: 0103-virtng-module-Extend-libvirt_domain.patch
++/usr/share/salt-formulas/env: 0104-salt-control-virt-Extend-libvirt_domain.patch
+diff --git a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml
+index df230452..3548155f 100644
+--- a/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml
++++ b/mcp/reclass/classes/cluster/mcp-pike-common-ha/infra/kvm.yml
+@@ -52,21 +52,33 @@ parameters:
+ openstack.control:
+ cpu: 4
+ ram: 12288
++ hw_firmware_type: uefi
++ virt_machine_model: virt
++ cpu_model: host-passthrough
+ disk_profile: small
+ net_profile: default
+ openstack.database:
+ cpu: 4
+ ram: 6144
++ hw_firmware_type: uefi
++ virt_machine_model: virt
++ cpu_model: host-passthrough
+ disk_profile: large
+ net_profile: default
+ openstack.message_queue:
+ cpu: 4
+ ram: 2048
++ hw_firmware_type: uefi
++ virt_machine_model: virt
++ cpu_model: host-passthrough
+ disk_profile: small
+ net_profile: default
+ openstack.telemetry:
+ cpu: 2
+ ram: 3072
++ hw_firmware_type: uefi
++ virt_machine_model: virt
++ cpu_model: host-passthrough
+ disk_profile: xxlarge
+ net_profile: default
+ # stacklight.log:
+@@ -87,6 +99,9 @@ parameters:
+ openstack.proxy:
+ cpu: 2
+ ram: 2048
++ hw_firmware_type: uefi
++ virt_machine_model: virt
++ cpu_model: host-passthrough
+ disk_profile: small
+ net_profile: default_ext
+ cluster:
+diff --git a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2
+index 5fc4776d..b19789e3 100644
+--- a/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2
++++ b/mcp/reclass/classes/cluster/mcp-pike-odl-ha/infra/kvm.yml.j2
+@@ -19,6 +19,9 @@ parameters:
+ opendaylight.server:
+ cpu: 4
+ ram: 8192
++ hw_firmware_type: uefi
++ virt_machine_model: virt
++ cpu_model: host-passthrough
+ disk_profile: small
+ net_profile: default
+ cluster: