aboutsummaryrefslogtreecommitdiffstats
path: root/patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-12-28 18:41:09 +0100
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2018-01-05 23:14:01 +0100
commit0e8a4fc5a553bb55c22590c0620ebfd770394e96 (patch)
tree58fdd861d2efbe06bf2749aadcf31a60ccdfbe39 /patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch
parent11f5bc3ca9191039b9b22e2da8a6e29538d2f6ea (diff)
MaaS: preseed Armband repo via curtin
Instead of installing upstream vanilla kernel from Ubuntu just to upgrade to the one from Armband repo later, preseed Armband repo config via curtin. This allows us to drop a kernel update cycle, thus saving a few minutes at each deploy. While at it, switch salt repo addition to use the maas region reclass section instead of adding a dedicated mechanism for it in the curtin template (only for arm64). [ stable/ euphrates ] Preseed all Armband repos, since Ocata does not have a "common" repo. JIRA: ARMBAND-280 Change-Id: Iad5953a7de80d728f11a4ce3113bd7725100c31c Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit 648ec98613d31e3d9701b9ac1d87aed640b245f3)
Diffstat (limited to 'patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch')
-rw-r--r--patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch223
1 files changed, 223 insertions, 0 deletions
diff --git a/patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch
new file mode 100644
index 00000000..c4c81627
--- /dev/null
+++ b/patches/opnfv-fuel/0008-virtng.py-virt.sls-Extend-libvirt_domain.patch
@@ -0,0 +1,223 @@
+::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+: 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: 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>
+---
+ .../0103-virtng-module-Extend-libvirt_domain.patch | 54 ++++++++++++++++++++++
+ ...4-salt-control-virt-Extend-libvirt_domain.patch | 51 ++++++++++++++++++++
+ mcp/patches/patches.list | 2 +
+ .../baremetal-mcp-ocata-common/infra/kvm.yml | 15 ++++++
+ .../baremetal-mcp-ocata-odl-ha/infra/kvm.yml | 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 0000000..706b67d
+--- /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 0000000..a9fe11b
+--- /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 @@
++ seed: True
++ serial_type: pty
++ console: True
+++ # 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 36e7f73..b7c1607 100644
+--- a/mcp/patches/patches.list
++++ b/mcp/patches/patches.list
+@@ -18,3 +18,5 @@
+ /usr/share/salt-formulas/env: 0012-linux.storage.lvm-Disable-filter.patch
+ /usr/share/salt-formulas/env: 0101-maas-Add-curtin_userdata_arm64_generic_xenial.patch
+ /usr/share/salt-formulas/env: 0102-libvirt-unix_sock_group-s-libvirtd-libvirt.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/baremetal-mcp-ocata-common/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/infra/kvm.yml
+index ce7fc85..5e8d861 100644
+--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/infra/kvm.yml
++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-common/infra/kvm.yml
+@@ -48,21 +48,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:
+@@ -83,6 +95,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/baremetal-mcp-ocata-odl-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml
+index d7bbadd..f8b9662 100644
+--- a/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml
++++ b/mcp/reclass/classes/cluster/baremetal-mcp-ocata-odl-ha/infra/kvm.yml
+@@ -17,6 +17,9 @@ parameters:
+ opendaylight.server:
+ cpu: 4
+ ram: 6144
++ hw_firmware_type: uefi
++ virt_machine_model: virt
++ cpu_model: host-passthrough
+ disk_profile: small
+ net_profile: default
+ cluster: