From e42a9b3011f96ad26f4a19db77ac44cad31a4290 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sun, 18 Dec 2016 16:53:26 +0100 Subject: Uplift Armband to Fuel Newton [ Dan Andresan ] - puppet: database: Fix Percona XtraBackup sync [ Alexandru Avadanii ] - disable all plugins; - re-enable remote tracking; - remove "Revert: Point to specific snapshot ..."; - patch context adjustments; - obsolete "kernel-bump", linux-image-lts-xenial is now the default; - network-checker iface state check now fixed upstream [1]; - fuel-nailgun-agent hugepage size should also check /proc/meminfo; - fuel-nailgun-agent CPU detection for AArch64; - nova AArch64 hugepage support is now upstream; - obsolete Cirros Test VM direct kernel boot (by switch to AAVMF): * f-l/0001-upload_cirros-Add-direct-kernel-boot-support.patch * f-w/0001-direct-kernel-boot-for-cirros.patch - rework m1.micro RAM size patch after puppet manifest split upstream; - re-enable arch-agnostic plugins which were rebased in Fuel@OPNFV: * f_yardstick-pluginbuild * f_congress-pluginbuild - do NOT retire MySQL SST provider patch series (nack: ARMBAND-186), rebase (and keep for now) MySQL SST provider patches, as trying to use xtrabackup-v2 revelead a regression since Colorado.3.0, and these patches simplify troubleshooting a lot; - AArch64: nova: libvirt: Use host-model cpu (ARMBAND-193); - AArch64: nova: libvirt: Use pointer_model instead of use_usb_tablet; - m1.micro RAM size insufficient for TestVM with AAVMF (s/128/256/) - switch Cirros TestVM to AAVMF from direct kernel boot; - backport nova libvirt driver fix for deleting instances booted with AAVMF firmware from [2]; TODO (later): - Include ISO build time fixes for cirros_testvm in Armband package; TODO (ODL, later): - test & revise leveldb patching; - bring back Qugga patching for arm64; - configure systemd service to automatically respawn; [1] https://review.openstack.org/#/c/417373/ [2] https://review.openstack.org/#/c/357190/ JIRA: ARMBAND-29 JIRA: ARMBAND-32 JIRA: ARMBAND-63 JIRA: ARMBAND-88 JIRA: ARMBAND-116 JIRA: ARMBAND-118 JIRA: ARMBAND-186 JIRA: ARMBAND-193 JIRA: ARMBAND-194 JIRA: ARMBAND-195 JIRA: ARMBAND-196 JIRA: ARMBAND-197 Change-Id: Ia99022e364e61245d109cabab9d0ed7157b4d2f5 Signed-off-by: Alexandru Avadanii Signed-off-by: Dan Andresan --- ...un-Add-AArch64-Openstack-Mitaka-release-s.patch | 322 ------------------ ...un-Add-AArch64-Openstack-Newton-release-s.patch | 365 +++++++++++++++++++++ ...-arch-to-nailgun-release-and-target-image.patch | 118 +++---- ...Arch64-Cirros-TestVM-Use-AAVMF-guest-UEFI.patch | 30 ++ ...-arch-to-nailgun-release-and-target-image.patch | 1 - .../0001-direct-kernel-boot-for-cirros.patch | 137 -------- ...nel-flavor-linux-image-generic-lts-xenial.patch | 39 --- ...un-Add-AArch64-Openstack-Mitaka-release-s.patch | 1 - ...un-Add-AArch64-Openstack-Newton-release-s.patch | 1 + ...ME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch | 34 -- ...ME-Disable-amd64-Newton-on-Ubuntu-for-now.patch | 32 ++ 11 files changed, 490 insertions(+), 590 deletions(-) delete mode 100644 patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch create mode 100644 patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Newton-release-s.patch create mode 100644 patches/fuel-web/0003-AArch64-Cirros-TestVM-Use-AAVMF-guest-UEFI.patch delete mode 120000 patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch delete mode 100644 patches/fuel-web/direct-kernel-boot/0001-direct-kernel-boot-for-cirros.patch delete mode 100644 patches/fuel-web/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch delete mode 120000 patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch create mode 120000 patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Newton-release-s.patch delete mode 100644 patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch create mode 100644 patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Newton-on-Ubuntu-for-now.patch (limited to 'patches/fuel-web') diff --git a/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch b/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch deleted file mode 100644 index 1f00e834..00000000 --- a/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch +++ /dev/null @@ -1,322 +0,0 @@ -From: Alexandru Avadanii -Date: Sat, 14 May 2016 00:53:36 +0200 -Subject: [PATCH] nailgun: Add AArch64 Openstack Mitaka release(s). - -Add the following Openstack releases: - -- Mitaka on Ubuntu 14.04 (aarch64) -- Mitaka on Ubuntu+UCA 14.04 (aarch64) - -Signed-off-by: Stanislaw Kardach -Signed-off-by: Alexandru Avadanii ---- - nailgun/nailgun/fixtures/openstack.yaml | 287 ++++++++++++++++++++++++++++++++ - 1 file changed, 287 insertions(+) - -diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml -index d08a4fc..65646d4 100644 ---- a/nailgun/nailgun/fixtures/openstack.yaml -+++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -2314,3 +2314,302 @@ - weight: 61 - type: "checkbox" - value: true -+- &ubuntu_aarch64_release -+ pk: 4 -+ extend: *base_release -+ fields: -+ name: "Mitaka on Ubuntu 14.04 (aarch64)" -+ version: "mitaka-9.0" -+ operating_system: "Ubuntu" -+ description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." -+ attributes_metadata: -+ editable: -+ kernel_params: -+ kernel: -+ value: "console=ttyAMA0,115200 console=ttyS0,115200 net.ifnames=1 biosdevname=0 rootdelay=90 nomodeset" -+ repo_setup: -+ metadata: -+ label: "Repositories" -+ weight: 50 -+ group: "general" -+ always_editable: true -+ repos: -+ type: "custom_repo_configuration" -+ extra_priority: null -+ description: | -+ Please note: the first repository will be considered the operating system mirror that will be used during node provisioning. -+ To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node. -+ Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror. -+ For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-9.0/operations.html#external-ubuntu-ops). -+ value: -+ - type: "deb" -+ name: "ubuntu-local" -+ uri: "http://{settings.MASTER_IP}:8080/mirrors/ubuntu" -+ suite: "trusty" -+ section: "main" -+ priority: null -+ - type: "deb" -+ name: "ubuntu" -+ uri: "http://ports.ubuntu.com/" -+ suite: "trusty" -+ section: "main universe multiverse" -+ priority: null -+ - type: "deb" -+ name: "ubuntu-updates" -+ uri: "http://ports.ubuntu.com/" -+ suite: "trusty-updates" -+ section: "main universe multiverse" -+ priority: null -+ - type: "deb" -+ name: "ubuntu-security" -+ uri: "http://ports.ubuntu.com/" -+ suite: "trusty-security" -+ section: "main universe multiverse" -+ priority: null -+ - type: "deb" -+ name: "mos" -+ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" -+ suite: "mos9.0" -+ section: "main restricted" -+ priority: 1050 -+ - type: "deb" -+ name: "mos-updates" -+ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" -+ suite: "mos9.0-updates" -+ section: "main restricted" -+ priority: 1050 -+ - type: "deb" -+ name: "mos-security" -+ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" -+ suite: "mos9.0-security" -+ section: "main restricted" -+ priority: 1050 -+ - type: "deb" -+ name: "mos-holdback" -+ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" -+ suite: "mos9.0-holdback" -+ section: "main restricted" -+ priority: 1100 -+ - type: "deb" -+ name: "Auxiliary" -+ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary" -+ suite: "auxiliary" -+ section: "main restricted" -+ priority: 1150 -+ provision: -+ metadata: -+ label: "Provision" -+ weight: 80 -+ group: "general" -+ restrictions: -+ - condition: "false" -+ action: "hide" -+ packages: -+ label: "Initial packages" -+ weight: 10 -+ type: "textarea" -+ value: | -+ acl -+ anacron -+ bash-completion -+ bridge-utils -+ bsdmainutils -+ build-essential -+ cloud-init -+ curl -+ daemonize -+ debconf-utils -+ gdisk -+ grub-efi-arm64 -+ hpsa-dkms -+ hwloc -+ i40e-dkms -+ linux-firmware -+ linux-firmware-nonfree -+ linux-headers-generic-lts-trusty -+ linux-image-generic-lts-trusty -+ lvm2 -+ mcollective -+ mdadm -+ multipath-tools -+ multipath-tools-boot -+ nailgun-agent -+ nailgun-mcagents -+ network-checker -+ ntp -+ openssh-client -+ openssh-server -+ puppet -+ python-amqp -+ ruby-augeas -+ ruby-ipaddress -+ ruby-json -+ ruby-netaddr -+ ruby-openstack -+ ruby-shadow -+ ruby-stomp -+ telnet -+ ubuntu-minimal -+ ubuntu-standard -+ uuid-runtime -+ vim -+ virt-what -+ vlan -+ generated: -+ repo_setup: -+ installer_kernel: -+ remote_relative: "dists/trusty/main/installer-arm64/current/images/generic/netboot/vmlinuz" -+ local: "/var/www/nailgun/ubuntu/arm64/images/linux" -+ installer_initrd: -+ remote_relative: "dists/trusty/main/installer-arm64/current/images/generic/netboot/initrd.gz" -+ local: "/var/www/nailgun/ubuntu/arm64/images/initrd.gz" -+ cobbler: -+ profile: -+ generator_arg: "ubuntu_1404_arm64" -+ provision: -+ codename: "trusty" -+ image_data: -+ /: -+ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_arm64.img.gz" -+ format: "ext4" -+ container: "gzip" -+ /boot: -+ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_arm64-boot.img.gz" -+ format: "ext2" -+ container: "gzip" -+ node_attributes: -+ cpu_pinning: -+ metadata: -+ group: "nfv" -+ label: "CPU pinning" -+ weight: 10 -+ restrictions: -+ - condition: "settings:common.libvirt_type.value != 'kvm'" -+ action: "hide" -+ nova: -+ weight: 10 -+ description: "Number of CPUs for Nova usage" -+ label: "Nova CPU pinning" -+ type: "number" -+ value: 0 -+ min: 0 -+ hugepages: -+ metadata: -+ group: "nfv" -+ label: "Huge Pages" -+ weight: 20 -+ restrictions: -+ - condition: "settings:common.libvirt_type.value != 'kvm'" -+ action: "hide" -+ nova: -+ weight: 10 -+ description: "Nova Huge Pages configuration" -+ label: "Nova Huge Pages" -+ type: "custom_hugepages" -+ value: {} -+- pk: 5 -+ extend: *ubuntu_aarch64_release -+ fields: -+ name: "Mitaka on Ubuntu+UCA 14.04 (aarch64)" -+ version: "mitaka-9.0" -+ description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." -+ attributes_metadata: -+ editable: -+ repo_setup: -+ repos: -+ type: "custom_repo_configuration" -+ extra_priority: null -+ description: | -+ Please note: the first repository will be considered the operating system mirror that will be used during node provisioning. -+ To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node. -+ Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror. -+ For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-9.0/operations.html#external-ubuntu-ops). -+ value: -+ - type: "deb" -+ name: "ubuntu-local" -+ uri: "http://{settings.MASTER_IP}:8080/mirrors/ubuntu" -+ suite: "trusty" -+ section: "main" -+ priority: null -+ - type: "deb" -+ name: "ubuntu" -+ uri: "http://ports.ubuntu.com/" -+ suite: "trusty" -+ section: "main universe multiverse" -+ priority: null -+ - type: "deb" -+ name: "ubuntu-updates" -+ uri: "http://ports.ubuntu.com/" -+ suite: "trusty-updates" -+ section: "main universe multiverse" -+ priority: null -+ - type: "deb" -+ name: "ubuntu-security" -+ uri: "http://ports.ubuntu.com/" -+ suite: "trusty-security" -+ section: "main universe multiverse" -+ priority: null -+ - type: "deb" -+ name: "uca" -+ uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" -+ suite: "trusty-updates/mitaka" -+ section: "main" -+ priority: 1080 -+ - type: "deb" -+ name: "uca-proposed" -+ uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" -+ suite: "trusty-proposed/mitaka" -+ section: "main" -+ priority: 1080 -+ - type: "deb" -+ name: "mos" -+ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" -+ suite: "mos9.0" -+ section: "main restricted" -+ priority: 1050 -+ - type: "deb" -+ name: "mos-updates" -+ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" -+ suite: "mos9.0-updates" -+ section: "main restricted" -+ priority: 1050 -+ - type: "deb" -+ name: "mos-security" -+ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" -+ suite: "mos9.0-security" -+ section: "main restricted" -+ priority: 1050 -+ - type: "deb" -+ name: "mos-holdback" -+ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" -+ suite: "mos9.0-holdback" -+ section: "main restricted" -+ priority: 1100 -+ - type: "deb" -+ name: "Auxiliary" -+ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary" -+ suite: "auxiliary" -+ section: "main restricted" -+ priority: 1150 -+ repo_type: -+ type: "hidden" -+ weight: 58 -+ value: "uca" -+ pin_haproxy: -+ label: "HAProxy APT Pinning" -+ description: "Use Fuel HAProxy packages instead of upstream" -+ weight: 59 -+ type: "checkbox" -+ value: true -+ pin_rabbitmq: -+ label: "RabbitMQ APT Pinning" -+ description: "Use Fuel RabbitMQ packages instead of upstream" -+ weight: 60 -+ type: "checkbox" -+ value: true -+ pin_ceph: -+ label: "Ceph APT Pinning" -+ description: "Use Fuel Ceph packages instead of upstream" -+ weight: 61 -+ type: "checkbox" -+ value: true diff --git a/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Newton-release-s.patch b/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Newton-release-s.patch new file mode 100644 index 00000000..8ac89698 --- /dev/null +++ b/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Newton-release-s.patch @@ -0,0 +1,365 @@ +From: Alexandru Avadanii +Date: Sun, 18 Dec 2016 21:08:42 +0100 +Subject: [PATCH] nailgun: Add AArch64 Openstack Newton release(s). + +Add the following Openstack releases: +- Newton on Ubuntu 16.04 (aarch64) +- Newton on Ubuntu+UCA 16.04 (aarch64) + +Signed-off-by: Stanislaw Kardach +Signed-off-by: Alexandru Avadanii +--- + nailgun/nailgun/fixtures/openstack.yaml | 343 ++++++++++++++++++++++++++++++++ + 1 file changed, 343 insertions(+) + +diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml +index eb33db2..ba967d7 100644 +--- a/nailgun/nailgun/fixtures/openstack.yaml ++++ b/nailgun/nailgun/fixtures/openstack.yaml +@@ -2511,3 +2511,346 @@ + weight: 61 + type: "checkbox" + value: true ++- &ubuntu_aarch64_xenial ++ pk: 4 ++ extend: *base_release ++ fields: ++ name: "Newton on Ubuntu 16.04 (aarch64)" ++ version: "newton-10.0" ++ operating_system: "Ubuntu" ++ description: "This option will install the OpenStack Newton packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." ++ attributes_metadata: ++ editable: ++ kernel_params: ++ kernel: ++ value: "console=ttyAMA0,115200 console=ttyS0,115200 console=tty0 net.ifnames=1 biosdevname=0 rootdelay=90 nomodeset" ++ repo_setup: ++ metadata: ++ label: "Repositories" ++ weight: 50 ++ group: "general" ++ always_editable: true ++ repos: ++ type: "custom_repo_configuration" ++ extra_priority: null ++ description: | ++ Please note: the first repository will be considered the operating system mirror that will be used during node provisioning. ++ To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node. ++ Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror. ++ value: ++ - type: "deb" ++ name: "ubuntu-local" ++ uri: "http://{settings.MASTER_IP}:8080/mirrors/ubuntu" ++ suite: "xenial" ++ section: "main" ++ priority: null ++ - type: "deb" ++ name: "ubuntu" ++ uri: "http://ports.ubuntu.com/" ++ suite: "xenial" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "ubuntu-updates" ++ uri: "http://ports.ubuntu.com/" ++ suite: "xenial-updates" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "ubuntu-security" ++ uri: "http://ports.ubuntu.com/" ++ suite: "xenial-security" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "mos" ++ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" ++ suite: "mos10.0" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-updates" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos10.0-updates" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-security" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos10.0-security" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-holdback" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos10.0-holdback" ++ section: "main restricted" ++ priority: 1100 ++ - type: "deb" ++ name: "Auxiliary" ++ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary" ++ suite: "auxiliary" ++ section: "main restricted" ++ priority: 1150 ++ provision: ++ metadata: ++ label: "Provision" ++ weight: 80 ++ group: "general" ++ restrictions: ++ - condition: "false" ++ action: "hide" ++ packages: ++ label: "Initial packages" ++ weight: 10 ++ type: "textarea" ++ value: | ++ acl ++ anacron ++ bash-completion ++ bridge-utils ++ bsdmainutils ++ build-essential ++ cloud-init ++ curl ++ daemonize ++ debconf-utils ++ gdisk ++ grub-efi-arm64 ++ hwloc ++ linux-firmware ++ linux-headers-generic-lts-xenial ++ linux-image-generic-lts-xenial ++ lvm2 ++ mcollective ++ mdadm ++ multipath-tools ++ multipath-tools-boot ++ nailgun-agent ++ nailgun-mcagents ++ network-checker ++ ntp ++ ntpdate ++ openssh-client ++ openssh-server ++ puppet ++ python-amqp ++ ruby-augeas ++ ruby-ipaddress ++ ruby-json ++ ruby-netaddr ++ ruby-openstack ++ ruby-shadow ++ ruby-stomp ++ telnet ++ ubuntu-minimal ++ ubuntu-standard ++ uuid-runtime ++ vim ++ virt-what ++ vlan ++ generated: ++ cobbler: ++ profile: ++ generator_arg: "ubuntu_bootstrap" ++ provision: ++ codename: "xenial" ++ image_data: ++ /: ++ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1604_arm64.img.gz" ++ format: "ext4" ++ container: "gzip" ++ /boot: ++ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1604_arm64-boot.img.gz" ++ format: "ext2" ++ container: "gzip" ++ node_attributes: ++ cpu_pinning: ++ metadata: ++ group: "nfv" ++ label: "CPU pinning" ++ weight: 10 ++ restrictions: ++ - condition: "settings:common.libvirt_type.value != 'kvm'" ++ action: "hide" ++ nova: ++ weight: 10 ++ description: "Number of CPUs for Nova usage" ++ label: "Nova CPU pinning" ++ type: "number" ++ value: 0 ++ min: 0 ++ dpdk: ++ weight: 20 ++ description: "Number of CPUs for DPDK usage" ++ label: "DPDK CPU pinning" ++ type: "number" ++ value: 0 ++ min: 0 ++ restrictions: ++ - condition: "not ('experimental' in version:feature_groups)" ++ action: "hide" ++ hugepages: ++ metadata: ++ group: "nfv" ++ label: "Huge Pages" ++ weight: 20 ++ restrictions: ++ - condition: "settings:common.libvirt_type.value != 'kvm'" ++ action: "hide" ++ nova: ++ weight: 10 ++ description: "Nova Huge Pages configuration" ++ label: "Nova Huge Pages" ++ type: "custom_hugepages" ++ value: {} ++ dpdk: ++ weight: 20 ++ description: "DPDK Huge Pages per NUMA node in MB" ++ label: "DPDK Huge Pages" ++ type: "number" ++ value: 0 ++ min: 0 ++ restrictions: ++ - condition: "not ('experimental' in version:feature_groups)" ++ action: "hide" ++ networks_metadata: ++ dpdk_drivers: ++ # Sources: ++ # http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/known_issues.rst?h=releases&id=7173acefc7cfdfbbb9b91fcba1c9a67adb4c07c9#n168 ++ # http://dpdk.org/browse/dpdk/tree/lib/librte_eal/common/include/rte_pci_dev_ids.h?h=releases&id=7173acefc7cfdfbbb9b91fcba1c9a67adb4c07c9 ++ igb_uio: [ ++ "8086:100e", "8086:100f", "8086:1011", "8086:1010", "8086:1012", ++ "8086:101d", "8086:105e", "8086:105f", "8086:1060", "8086:10d9", ++ "8086:10da", "8086:10a4", "8086:10d5", "8086:10a5", "8086:10bc", ++ "8086:107d", "8086:107e", "8086:107f", "8086:10b9", "8086:109a", ++ "8086:10d3", "8086:10f6", "8086:150c", "8086:10c9", "8086:10e6", ++ "8086:10e7", "8086:10e8", "8086:1526", "8086:150a", "8086:1518", ++ "8086:150d", "8086:10a7", "8086:10a9", "8086:10d6", "8086:150e", ++ "8086:150f", "8086:1510", "8086:1511", "8086:1516", "8086:1527", ++ "8086:1521", "8086:1522", "8086:1523", "8086:1524", "8086:1546", ++ "8086:1533", "8086:1534", "8086:1535", "8086:1536", "8086:1537", ++ "8086:1538", "8086:1539", "8086:1f40", "8086:1f41", "8086:1f45", ++ "8086:0438", "8086:043a", "8086:043c", "8086:0440", "8086:10b6", ++ "8086:1508", "8086:10c6", "8086:10c8", "8086:150b", "8086:10db", ++ "8086:10dd", "8086:10ec", "8086:10f1", "8086:10f4", "8086:10f7", ++ "8086:1514", "8086:1517", "8086:10f9", "8086:10fb", "8086:11a9", ++ "8086:1f72", "8086:17d0", "8086:0470", "8086:152a", "8086:1529", ++ "8086:1507", "8086:154d", "8086:154a", "8086:1558", "8086:1557", ++ "8086:10fc", "8086:151c", "8086:154f", "8086:1528", "8086:1560", ++ "8086:15ae", "8086:1563", "8086:15aa", "8086:15ab", "8086:155d", ++ "8086:1572", "8086:1574", "8086:157f", "8086:1580", "8086:1581", ++ "8086:1583", "8086:1584", "8086:1585", "8086:1586", "8086:15a4", ++ "8086:10ca", "8086:152d", "8086:1520", "8086:152f", "8086:10ed", ++ "8086:152e", "8086:1515", "8086:1530", "8086:1564", "8086:1565", ++ "8086:15a8", "8086:15a9", "8086:154c", "8086:1571", "1af4:1000", ++ "15ad:07b0", "8086:15a5", "1137:0043", "1137:0071", "14e4:168a", ++ "14e4:16a9", "14e4:164f", "14e4:168e", "14e4:16af", "14e4:163d", ++ "14e4:163f", "14e4:168d", "14e4:16a1", "14e4:16a2", "14e4:16ad", ++ "14e4:16ae", "14e4:163e", "14e4:16a4" ++ ] ++- pk: 5 ++ extend: *ubuntu_aarch64_xenial ++ fields: ++ name: "Newton on Ubuntu+UCA 16.04 (aarch64)" ++ version: "newton-10.0" ++ description: "This option will install the OpenStack Newton packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." ++ attributes_metadata: ++ editable: ++ repo_setup: ++ repos: ++ type: "custom_repo_configuration" ++ extra_priority: null ++ description: | ++ Please note: the first repository will be considered the operating system mirror that will be used during node provisioning. ++ To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node. ++ Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror. ++ value: ++ - type: "deb" ++ name: "ubuntu-local" ++ uri: "http://{settings.MASTER_IP}:8080/mirrors/ubuntu" ++ suite: "xenial" ++ section: "main" ++ priority: null ++ - type: "deb" ++ name: "ubuntu" ++ uri: "http://ports.ubuntu.com/" ++ suite: "xenial" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "ubuntu-updates" ++ uri: "http://ports.ubuntu.com/" ++ suite: "xenial-updates" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "ubuntu-security" ++ uri: "http://ports.ubuntu.com/" ++ suite: "xenial-security" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "uca" ++ uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" ++ suite: "xenial-updates/newton" ++ section: "main" ++ priority: 1080 ++ - type: "deb" ++ name: "uca-proposed" ++ uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" ++ suite: "xenial-proposed/newton" ++ section: "main" ++ priority: 1080 ++ - type: "deb" ++ name: "mos" ++ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" ++ suite: "mos10.0" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-updates" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos10.0-updates" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-security" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos10.0-security" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-holdback" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos10.0-holdback" ++ section: "main restricted" ++ priority: 1100 ++ - type: "deb" ++ name: "Auxiliary" ++ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary" ++ suite: "auxiliary" ++ section: "main restricted" ++ priority: 1150 ++ repo_type: ++ type: "hidden" ++ weight: 58 ++ value: "uca" ++ pin_haproxy: ++ label: "HAProxy APT Pinning" ++ description: "Use Fuel HAProxy packages instead of upstream" ++ weight: 59 ++ type: "checkbox" ++ value: true ++ pin_rabbitmq: ++ label: "RabbitMQ APT Pinning" ++ description: "Use Fuel RabbitMQ packages instead of upstream" ++ weight: 60 ++ type: "checkbox" ++ value: true ++ pin_ceph: ++ label: "Ceph APT Pinning" ++ description: "Use Fuel Ceph packages instead of upstream" ++ weight: 61 ++ type: "checkbox" ++ value: true diff --git a/patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch b/patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch index 0435891e..3a6d5e4b 100644 --- a/patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch +++ b/patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch @@ -1,10 +1,16 @@ From: Stanislaw Kardach -Date: Wed, 24 Feb 2016 20:11:54 +0100 +Date: Sun, 18 Dec 2016 21:28:21 +0100 Subject: [PATCH] Add arch to nailgun release and target image This is required so that the TestVM image is created using a cirros image that is compatible with the architecture of the deployment setup. As a bonus, it is also used when building the target image. + +[ Alexandru Avadanii ] +Rebased onto Newton. + +Signed-off-by: Alexandru Avadanii +Signed-off-by: Stanislaw Kardach --- nailgun/nailgun/consts.py | 5 ++ .../alembic_migrations/versions/armband.py | 53 ++++++++++++++++++++++ @@ -20,7 +26,7 @@ As a bonus, it is also used when building the target image. create mode 100644 nailgun/nailgun/db/migration/alembic_migrations/versions/armband.py diff --git a/nailgun/nailgun/consts.py b/nailgun/nailgun/consts.py -index 4900ec0..59b0c91 100644 +index ccbe860..a3875ce 100644 --- a/nailgun/nailgun/consts.py +++ b/nailgun/nailgun/consts.py @@ -38,6 +38,11 @@ RELEASE_OS = Enum( @@ -58,14 +64,14 @@ index 0000000..6e42b3f +"""Armband patches + +Revision ID: f9b7fd91ac19 -+Revises: 675105097a69 ++Revises: c6edea552f1e +Create Date: 2016-03-01 23:18:58.712617 + +""" + +# revision identifiers, used by Alembic. +revision = 'f9b7fd91ac19' -+down_revision = '675105097a69' ++down_revision = 'c6edea552f1e' + +from alembic import op +from nailgun.utils.migration import drop_enum @@ -95,10 +101,10 @@ index 0000000..6e42b3f +def remove_release_arch(): + op.drop_column('releases', 'arch') diff --git a/nailgun/nailgun/db/sqlalchemy/models/release.py b/nailgun/nailgun/db/sqlalchemy/models/release.py -index 1b47de4..e209e72 100644 +index a069b61..882d32c 100644 --- a/nailgun/nailgun/db/sqlalchemy/models/release.py +++ b/nailgun/nailgun/db/sqlalchemy/models/release.py -@@ -39,6 +39,14 @@ class Release(Base): +@@ -40,6 +40,14 @@ class Release(Base): id = Column(Integer, primary_key=True) name = Column(Unicode(100), nullable=False) version = Column(String(30), nullable=False) @@ -114,54 +120,54 @@ index 1b47de4..e209e72 100644 operating_system = Column(String(50), nullable=False) state = Column( diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml -index 65646d4..874d4f0 100644 +index ba967d7..c1d2a71 100644 --- a/nailgun/nailgun/fixtures/openstack.yaml +++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -1907,6 +1907,7 @@ - name: "Mitaka on CentOS 6.5" +@@ -2113,6 +2113,7 @@ + name: "Newton on CentOS 6.5" state: "unavailable" - version: "mitaka-9.0" + version: "newton-10.0" + arch: "amd64" operating_system: "CentOS" description: "This option will install the OpenStack Mitaka packages using a CentOS based operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." attributes_metadata: -@@ -1980,6 +1981,7 @@ +@@ -2186,6 +2187,7 @@ fields: - name: "Mitaka on Ubuntu 14.04" - version: "mitaka-9.0" + name: "Newton on Ubuntu 16.04" + version: "newton-10.0" + arch: "amd64" operating_system: "Ubuntu" - description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." + description: "This option will install the OpenStack Newton packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." attributes_metadata: -@@ -2220,6 +2222,7 @@ +@@ -2417,6 +2419,7 @@ fields: - name: "Mitaka on Ubuntu+UCA 14.04" - version: "mitaka-9.0" + name: "Newton on Ubuntu+UCA 16.04" + version: "newton-10.0" + arch: "amd64" - description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." + description: "This option will install the OpenStack Newton packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." attributes_metadata: editable: -@@ -2320,6 +2323,7 @@ +@@ -2517,6 +2520,7 @@ fields: - name: "Mitaka on Ubuntu 14.04 (aarch64)" - version: "mitaka-9.0" + name: "Newton on Ubuntu 16.04 (aarch64)" + version: "newton-10.0" + arch: "arm64" operating_system: "Ubuntu" - description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." + description: "This option will install the OpenStack Newton packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." attributes_metadata: -@@ -2506,6 +2510,7 @@ +@@ -2754,6 +2758,7 @@ fields: - name: "Mitaka on Ubuntu+UCA 14.04 (aarch64)" - version: "mitaka-9.0" + name: "Newton on Ubuntu+UCA 16.04 (aarch64)" + version: "newton-10.0" + arch: "arm64" - description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." + description: "This option will install the OpenStack Newton packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." attributes_metadata: editable: diff --git a/nailgun/nailgun/orchestrator/deployment_serializers.py b/nailgun/nailgun/orchestrator/deployment_serializers.py -index 08eb9c3..e561324 100644 +index f983ae3..2f9cec2 100644 --- a/nailgun/nailgun/orchestrator/deployment_serializers.py +++ b/nailgun/nailgun/orchestrator/deployment_serializers.py -@@ -300,7 +300,13 @@ class DeploymentMultinodeSerializer(object): +@@ -261,7 +261,13 @@ class DeploymentMultinodeSerializer(object): img_dir = '/usr/share/cirros-testvm/' else: img_dir = '/opt/vm/' @@ -174,13 +180,13 @@ index 08eb9c3..e561324 100644 + image_data['img_path'] = '{0}cirros-{1}-disk.img'.format(img_dir, + arch) - glance_properties = [] + properties_data = {} diff --git a/nailgun/nailgun/orchestrator/provisioning_serializers.py b/nailgun/nailgun/orchestrator/provisioning_serializers.py -index 48a4753..aaac22a 100644 +index 7b2c6ac..f2c05e1 100644 --- a/nailgun/nailgun/orchestrator/provisioning_serializers.py +++ b/nailgun/nailgun/orchestrator/provisioning_serializers.py -@@ -307,7 +307,8 @@ class ProvisioningSerializer61(ProvisioningSerializer): +@@ -329,7 +329,8 @@ class ProvisioningSerializer61(ProvisioningSerializer): attrs['repo_setup']['repos'], attrs['provision'], cluster.id, @@ -188,13 +194,13 @@ index 48a4753..aaac22a 100644 + packages, + cluster.release.arch)) - # NOTE(kozhukalov): This pre-provision task is going to be - # removed by 7.0 because we need this only for classic way of + PriorityStrategy().one_by_one(tasks) + return tasks diff --git a/nailgun/nailgun/orchestrator/tasks_templates.py b/nailgun/nailgun/orchestrator/tasks_templates.py -index 51dfdf7..bc2bff9 100644 +index 8252891..84bebe6 100644 --- a/nailgun/nailgun/orchestrator/tasks_templates.py +++ b/nailgun/nailgun/orchestrator/tasks_templates.py -@@ -210,7 +210,7 @@ def make_reboot_task(uids, task): +@@ -208,7 +208,7 @@ def make_reboot_task(uids, task): def make_provisioning_images_task( @@ -203,7 +209,7 @@ index 51dfdf7..bc2bff9 100644 conf = { 'repos': repos, 'image_data': provision_data['image_data'], -@@ -232,7 +232,8 @@ def make_provisioning_images_task( +@@ -230,7 +230,8 @@ def make_provisioning_images_task( "--image_build_dir /var/lib/fuel/ibp " "--log-file /var/log/fuel-agent-env-{0}.log " "--data_driver nailgun_build_image " @@ -214,10 +220,10 @@ index 51dfdf7..bc2bff9 100644 'retries': 1}}) diff --git a/nailgun/nailgun/test/integration/test_cluster_changes_handler.py b/nailgun/nailgun/test/integration/test_cluster_changes_handler.py -index fb82be0..450155d 100644 +index d7e964e..bce8289 100644 --- a/nailgun/nailgun/test/integration/test_cluster_changes_handler.py +++ b/nailgun/nailgun/test/integration/test_cluster_changes_handler.py -@@ -154,7 +154,7 @@ class TestHandlers(BaseIntegrationTest): +@@ -148,7 +148,7 @@ class TestHandlers(BaseIntegrationTest): common_attrs['last_controller'] = controller_nodes[-1]['name'] common_attrs['storage']['pg_num'] = 128 @@ -226,16 +232,16 @@ index fb82be0..450155d 100644 'container_format': 'bare', 'public': 'true', 'disk_format': 'qcow2', -@@ -166,7 +166,7 @@ class TestHandlers(BaseIntegrationTest): - """--property murano_image_info=""" - """'{"title": "Murano Demo", "type": "cirros.demo"}'""" - ), +@@ -164,7 +164,7 @@ class TestHandlers(BaseIntegrationTest): + 'murano_image_info': """'{"title": "Murano Demo", "type":""" + """ "cirros.demo"}'""", + }, - } + }] critical_mapping = { 'primary-controller': True, -@@ -566,7 +566,7 @@ class TestHandlers(BaseIntegrationTest): +@@ -565,7 +565,7 @@ class TestHandlers(BaseIntegrationTest): common_attrs['last_controller'] = controller_nodes[-1]['name'] common_attrs['storage']['pg_num'] = 128 @@ -244,16 +250,16 @@ index fb82be0..450155d 100644 'container_format': 'bare', 'public': 'true', 'disk_format': 'qcow2', -@@ -578,7 +578,7 @@ class TestHandlers(BaseIntegrationTest): - """--property murano_image_info=""" - """'{"title": "Murano Demo", "type": "cirros.demo"}'""" - ), +@@ -581,7 +581,7 @@ class TestHandlers(BaseIntegrationTest): + 'murano_image_info': """'{"title": "Murano Demo", "type":""" + """ "cirros.demo"}'""", + }, - } + }] critical_mapping = { 'primary-controller': True, -@@ -1050,7 +1050,7 @@ class TestHandlers(BaseIntegrationTest): +@@ -1053,7 +1053,7 @@ class TestHandlers(BaseIntegrationTest): common_attrs['last_controller'] = controller_nodes[-1]['name'] common_attrs['storage']['pg_num'] = 128 @@ -262,20 +268,20 @@ index fb82be0..450155d 100644 'container_format': 'bare', 'public': 'true', 'disk_format': 'qcow2', -@@ -1062,7 +1062,7 @@ class TestHandlers(BaseIntegrationTest): - """--property murano_image_info=""" - """'{"title": "Murano Demo", "type": "cirros.demo"}'""" - ), +@@ -1069,7 +1069,7 @@ class TestHandlers(BaseIntegrationTest): + 'murano_image_info': """'{"title": "Murano Demo", "type":""" + """ "cirros.demo"}'""", + }, - } + }] critical_mapping = { 'primary-controller': True, diff --git a/nailgun/nailgun/test/integration/test_orchestrator_serializer.py b/nailgun/nailgun/test/integration/test_orchestrator_serializer.py -index 5db8f4e..ef208cb 100644 +index f399602..6034f30 100644 --- a/nailgun/nailgun/test/integration/test_orchestrator_serializer.py +++ b/nailgun/nailgun/test/integration/test_orchestrator_serializer.py -@@ -2584,12 +2584,12 @@ class BaseDeploymentSerializer(BaseSerializerTest): +@@ -2565,12 +2565,12 @@ class BaseDeploymentSerializer(BaseSerializerTest): def check_no_murano_data(self): glance_properties = self.serializer.generate_test_vm_image_data( @@ -289,9 +295,9 @@ index 5db8f4e..ef208cb 100644 + self.env.nodes[0])['test_vm_image'][0]['glance_properties'] self.assertIn('murano_image_info', glance_properties) - + @staticmethod diff --git a/nailgun/nailgun/test/unit/test_tasks_templates.py b/nailgun/nailgun/test/unit/test_tasks_templates.py -index 4e81a19..695e53d 100644 +index 4db183f..4f5d2cb 100644 --- a/nailgun/nailgun/test/unit/test_tasks_templates.py +++ b/nailgun/nailgun/test/unit/test_tasks_templates.py @@ -140,7 +140,8 @@ class TestMakeTask(base.BaseTestCase): diff --git a/patches/fuel-web/0003-AArch64-Cirros-TestVM-Use-AAVMF-guest-UEFI.patch b/patches/fuel-web/0003-AArch64-Cirros-TestVM-Use-AAVMF-guest-UEFI.patch new file mode 100644 index 00000000..40ceb751 --- /dev/null +++ b/patches/fuel-web/0003-AArch64-Cirros-TestVM-Use-AAVMF-guest-UEFI.patch @@ -0,0 +1,30 @@ +From: Alexandru Avadanii +Date: Sat, 21 Jan 2017 00:01:16 +0100 +Subject: [PATCH] AArch64: Cirros TestVM: Use AAVMF (guest UEFI) + +Based on the direct kernel boot patch by Stan. + +Signed-off-by: Alexandru Avadanii +Signed-off-by: Stanislaw Kardach +--- + nailgun/nailgun/orchestrator/deployment_serializers.py | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/nailgun/nailgun/orchestrator/deployment_serializers.py b/nailgun/nailgun/orchestrator/deployment_serializers.py +index 77fcba1..fd33b3f 100644 +--- a/nailgun/nailgun/orchestrator/deployment_serializers.py ++++ b/nailgun/nailgun/orchestrator/deployment_serializers.py +@@ -284,6 +284,13 @@ class DeploymentMultinodeSerializer(object): + 'hypervisor_type': 'vmware' + } + ++ # AArch64: Use AAVMF (guest UEFI) ++ if arch == 'aarch64': ++ properties_data = { ++ 'hw_firmware_type': 'uefi', ++ 'short_id': 'ubuntu16.04' ++ } ++ + # NOTE(aschultz): properties was added as part of N and should be + # used infavor of glance_properties + image_data['glance_properties'] = self.generate_properties_arguments( diff --git a/patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch b/patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch deleted file mode 120000 index 64ff45c3..00000000 --- a/patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch +++ /dev/null @@ -1 +0,0 @@ -../0002-Add-arch-to-nailgun-release-and-target-image.patch \ No newline at end of file diff --git a/patches/fuel-web/direct-kernel-boot/0001-direct-kernel-boot-for-cirros.patch b/patches/fuel-web/direct-kernel-boot/0001-direct-kernel-boot-for-cirros.patch deleted file mode 100644 index 0f9395c3..00000000 --- a/patches/fuel-web/direct-kernel-boot/0001-direct-kernel-boot-for-cirros.patch +++ /dev/null @@ -1,137 +0,0 @@ -From: Stanislaw Kardach -Date: Tue, 15 Mar 2016 15:01:51 +0100 -Subject: [PATCH] direct kernel boot for cirros - ---- - nailgun/nailgun/orchestrator/base_serializers.py | 16 +++-- - .../nailgun/orchestrator/deployment_serializers.py | 68 ++++++++++++++++------ - 2 files changed, 61 insertions(+), 23 deletions(-) - -diff --git a/nailgun/nailgun/orchestrator/base_serializers.py b/nailgun/nailgun/orchestrator/base_serializers.py -index 2fb0da5..ac787ed 100644 ---- a/nailgun/nailgun/orchestrator/base_serializers.py -+++ b/nailgun/nailgun/orchestrator/base_serializers.py -@@ -145,12 +145,16 @@ class MuranoMetadataSerializerMixin(object): - - def inject_murano_settings(self, image_data): - """Adds murano metadata to the test image""" -- test_vm_image = image_data['test_vm_image'] -- existing_properties = test_vm_image['glance_properties'] -- murano_data = ' '.join(["""--property murano_image_info='{"title":""" -- """ "Murano Demo", "type": "cirros.demo"}'"""]) -- test_vm_image['glance_properties'] = existing_properties + murano_data -- return {'test_vm_image': test_vm_image} -+ test_vm_images = [] -+ for test_vm_image in image_data['test_vm_image']: -+ existing_properties = test_vm_image['glance_properties'] -+ murano_data = ' '.join( -+ ["""--property murano_image_info='{"title":""" -+ """ "Murano Demo", "type": "cirros.demo"}'"""]) -+ test_vm_image['glance_properties'] = existing_properties + \ -+ murano_data -+ test_vm_images += [test_vm_image] -+ return {'test_vm_image': test_vm_images} - - - class VmwareDeploymentSerializerMixin(object): -diff --git a/nailgun/nailgun/orchestrator/deployment_serializers.py b/nailgun/nailgun/orchestrator/deployment_serializers.py -index e561324..601301b 100644 ---- a/nailgun/nailgun/orchestrator/deployment_serializers.py -+++ b/nailgun/nailgun/orchestrator/deployment_serializers.py -@@ -283,6 +283,9 @@ class DeploymentMultinodeSerializer(object): - return {'glance': {'image_cache_max_size': image_cache_max_size}} - - def generate_test_vm_image_data(self, node): -+ images = [] -+ # By default always prepare the disk image -+ - # Instantiate all default values in dict. - image_data = { - 'container_format': 'bare', -@@ -305,8 +308,8 @@ class DeploymentMultinodeSerializer(object): - arch = "x86_64" - elif arch == "arm64": - arch = "aarch64" -- image_data['img_path'] = '{0}cirros-{1}-disk.img'.format(img_dir, -- arch) -+ image_data['img_path'] = \ -+ '{0}cirros-{1}-disk.img'.format(img_dir, arch) - - glance_properties = [] - -@@ -321,8 +324,38 @@ class DeploymentMultinodeSerializer(object): - glance_properties.append('--property hypervisor_type=vmware') - - image_data['glance_properties'] = ' '.join(glance_properties) -+ images += [image_data] -+ -+ # Now for aarch64 add also kernel and initrd because we direct -+ # kernel boot is used then -+ if arch == 'aarch64': -+ image_data['glance_properties'] += \ -+ ' --property os_command_line=\'root=/dev/vda1 rw rootwait' + \ -+ ' console=tty0 console=ttyS0 console=ttyAMA0\'' + \ -+ ' --property hw_video_model=vga' -+ kernel_data = { -+ 'container_format': 'aki', -+ 'public': 'true', -+ 'disk_format': 'aki', -+ 'img_name': 'TestVM-kernel', -+ 'img_path': '{0}cirros-{1}-kernel'.format(img_dir, arch), -+ 'os_name': 'cirros', -+ 'min_ram': 128, -+ 'glance_properties': '', -+ } -+ initrd_data = { -+ 'container_format': 'ari', -+ 'public': 'true', -+ 'disk_format': 'ari', -+ 'img_name': 'TestVM-initramfs', -+ 'img_path': '{0}cirros-{1}-initramfs'.format(img_dir, arch), -+ 'os_name': 'cirros', -+ 'min_ram': 128, -+ 'glance_properties': '', -+ } -+ images += [kernel_data, initrd_data] - -- return {'test_vm_image': image_data} -+ return {'test_vm_image': images} - - @classmethod - def get_net_provider_serializer(cls, cluster): -@@ -521,20 +554,21 @@ class DeploymentHASerializer61(DeploymentHASerializer, - images_data['test_vm_image'] = [] - if attrs.get('editable', {}).get('common', {}). \ - get('use_vcenter', {}).get('value') is True: -- image_vmdk_data = deepcopy(image_data['test_vm_image']) -- img_path = image_vmdk_data['img_path']. \ -- replace('x86_64-disk.img', 'i386-disk.vmdk') -- image_vmdk_data.update({ -- 'img_name': 'TestVM-VMDK', -- 'disk_format': 'vmdk', -- 'img_path': img_path, -- }) -- image_vmdk_data['glance_properties'] = ' '.join([ -- '--property vmware_disktype=sparse', -- '--property vmware_adaptertype=lsiLogic', -- '--property hypervisor_type=vmware']) -- images_data['test_vm_image'].append(image_vmdk_data) -- images_data['test_vm_image'].append(image_data['test_vm_image']) -+ images_vmdk_data = deepcopy(image_data['test_vm_image']) -+ for image_vmdk_data in images_vmdk_data: -+ img_path = image_vmdk_data['img_path']. \ -+ replace('x86_64-disk.img', 'i386-disk.vmdk') -+ image_vmdk_data.update({ -+ 'img_name': 'TestVM-VMDK', -+ 'disk_format': 'vmdk', -+ 'img_path': img_path, -+ }) -+ image_vmdk_data['glance_properties'] = ' '.join([ -+ '--property vmware_disktype=sparse', -+ '--property vmware_adaptertype=lsiLogic', -+ '--property hypervisor_type=vmware']) -+ images_data['test_vm_image'] += [image_vmdk_data] -+ images_data['test_vm_image'] += image_data['test_vm_image'] - else: - images_data = image_data - diff --git a/patches/fuel-web/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch b/patches/fuel-web/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch deleted file mode 100644 index 80189744..00000000 --- a/patches/fuel-web/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Alexandru Avadanii -Date: Thu, 4 Aug 2016 12:47:50 +0200 -Subject: [PATCH] kernel-flavor: linux-image-generic-lts-xenial - -Ubuntu arm64: switch from using kernel 4.2 for Trusty -(linux-image-generic-lts-trusty) to kernel 4.4 backported from Xenial -(linux-image-generic-lts-xenial). - -Signed-off-by: Alexandru Avadanii ---- - nailgun/nailgun/fixtures/openstack.yaml | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml -index 874d4f0..c5087b6 100644 ---- a/nailgun/nailgun/fixtures/openstack.yaml -+++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -2081,8 +2081,8 @@ - i40e-dkms - linux-firmware - linux-firmware-nonfree -- linux-headers-generic-lts-trusty -- linux-image-generic-lts-trusty -+ linux-headers-generic-lts-xenial -+ linux-image-generic-lts-xenial - lvm2 - mcollective - mdadm -@@ -2424,8 +2424,8 @@ - i40e-dkms - linux-firmware - linux-firmware-nonfree -- linux-headers-generic-lts-trusty -- linux-image-generic-lts-trusty -+ linux-headers-generic-lts-xenial -+ linux-image-generic-lts-xenial - lvm2 - mcollective - mdadm diff --git a/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch b/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch deleted file mode 120000 index e0d56a81..00000000 --- a/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch +++ /dev/null @@ -1 +0,0 @@ -../0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch \ No newline at end of file diff --git a/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Newton-release-s.patch b/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Newton-release-s.patch new file mode 120000 index 00000000..2e9288ee --- /dev/null +++ b/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Newton-release-s.patch @@ -0,0 +1 @@ +../0001-nailgun-Add-AArch64-Openstack-Newton-release-s.patch \ No newline at end of file diff --git a/patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch b/patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch deleted file mode 100644 index d76a1f6d..00000000 --- a/patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Alexandru Avadanii -Date: Sat, 19 Mar 2016 19:02:15 +0100 -Subject: [PATCH] FIXME: Disable amd64 Mitaka on Ubuntu for now. - -Until we fix all cohabitation of amd64 and arm64, disable Openstack -releases and -(both x86_64) in openstack.yaml fixture. - -TODO: Propose renaming above releases to include arch in name. -Signed-off-by: Alexandru Avadanii ---- - nailgun/nailgun/fixtures/openstack.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml -index c5087b6..ba25093 100644 ---- a/nailgun/nailgun/fixtures/openstack.yaml -+++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -1980,6 +1980,7 @@ - extend: *base_release - fields: - name: "Mitaka on Ubuntu 14.04" -+ state: "unavailable" - version: "mitaka-9.0" - arch: "amd64" - operating_system: "Ubuntu" -@@ -2221,6 +2222,7 @@ - extend: *ubuntu_release - fields: - name: "Mitaka on Ubuntu+UCA 14.04" -+ state: "unavailable" - version: "mitaka-9.0" - arch: "amd64" - description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." diff --git a/patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Newton-on-Ubuntu-for-now.patch b/patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Newton-on-Ubuntu-for-now.patch new file mode 100644 index 00000000..4c7d70e7 --- /dev/null +++ b/patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Newton-on-Ubuntu-for-now.patch @@ -0,0 +1,32 @@ +From: Alexandru Avadanii +Date: Sat, 19 Mar 2016 19:02:15 +0100 +Subject: [PATCH] FIXME: Disable amd64 Newton on Ubuntu for now. + +Until we fix all cohabitation of amd64 and arm64, disable Openstack +releases and +(both x86_64) in openstack.yaml fixture. + +TODO: Propose renaming above releases to include arch in name. +Signed-off-by: Alexandru Avadanii +--- + nailgun/nailgun/fixtures/openstack.yaml | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml +--- a/nailgun/nailgun/fixtures/openstack.yaml ++++ b/nailgun/nailgun/fixtures/openstack.yaml +@@ -1980,6 +1980,7 @@ + extend: *base_release + fields: + name: "Newton on Ubuntu 16.04" ++ state: "unavailable" + version: "newton-10.0" + arch: "amd64" + operating_system: "Ubuntu" +@@ -2221,5 +2222,6 @@ + fields: + name: "Newton on Ubuntu+UCA 16.04" ++ state: "unavailable" + version: "newton-10.0" + arch: "amd64" + description: "This option will install the OpenStack Newton packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." -- cgit 1.2.3-korg