diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-12-18 16:53:26 +0100 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-01-21 18:07:28 +0100 |
commit | e42a9b3011f96ad26f4a19db77ac44cad31a4290 (patch) | |
tree | b6a1c7f918138dd3e4705d170dde85eb2e5aaa6a /patches/fuel-web | |
parent | 5c258a9ae96fd2a0c6fd56e41c4368467e931782 (diff) |
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 <Alexandru.Avadanii@enea.com>
Signed-off-by: Dan Andresan <dan.andresan@enea.com>
Diffstat (limited to 'patches/fuel-web')
9 files changed, 198 insertions, 298 deletions
diff --git a/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch b/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Newton-release-s.patch index 1f00e834..8ac89698 100644 --- a/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch +++ b/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Newton-release-s.patch @@ -1,39 +1,38 @@ From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Sat, 14 May 2016 00:53:36 +0200 -Subject: [PATCH] nailgun: Add AArch64 Openstack Mitaka release(s). +Date: Sun, 18 Dec 2016 21:08:42 +0100 +Subject: [PATCH] nailgun: Add AArch64 Openstack Newton release(s). Add the following Openstack releases: - -- Mitaka on Ubuntu 14.04 (aarch64) -- Mitaka on Ubuntu+UCA 14.04 (aarch64) +- Newton on Ubuntu 16.04 (aarch64) +- Newton on Ubuntu+UCA 16.04 (aarch64) Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> --- - nailgun/nailgun/fixtures/openstack.yaml | 287 ++++++++++++++++++++++++++++++++ - 1 file changed, 287 insertions(+) + 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 d08a4fc..65646d4 100644 +index eb33db2..ba967d7 100644 --- a/nailgun/nailgun/fixtures/openstack.yaml +++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -2314,3 +2314,302 @@ +@@ -2511,3 +2511,346 @@ weight: 61 type: "checkbox" value: true -+- &ubuntu_aarch64_release ++- &ubuntu_aarch64_xenial + pk: 4 + extend: *base_release + fields: -+ name: "Mitaka on Ubuntu 14.04 (aarch64)" -+ version: "mitaka-9.0" ++ name: "Newton on Ubuntu 16.04 (aarch64)" ++ version: "newton-10.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." ++ 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 net.ifnames=1 biosdevname=0 rootdelay=90 nomodeset" ++ value: "console=ttyAMA0,115200 console=ttyS0,115200 console=tty0 net.ifnames=1 biosdevname=0 rootdelay=90 nomodeset" + repo_setup: + metadata: + label: "Repositories" @@ -47,54 +46,53 @@ index d08a4fc..65646d4 100644 + 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" ++ suite: "xenial" + section: "main" + priority: null + - type: "deb" + name: "ubuntu" + uri: "http://ports.ubuntu.com/" -+ suite: "trusty" ++ suite: "xenial" + section: "main universe multiverse" + priority: null + - type: "deb" + name: "ubuntu-updates" + uri: "http://ports.ubuntu.com/" -+ suite: "trusty-updates" ++ suite: "xenial-updates" + section: "main universe multiverse" + priority: null + - type: "deb" + name: "ubuntu-security" + uri: "http://ports.ubuntu.com/" -+ suite: "trusty-security" ++ 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: "mos9.0" ++ 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: "mos9.0-updates" ++ 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: "mos9.0-security" ++ 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: "mos9.0-holdback" ++ suite: "mos10.0-holdback" + section: "main restricted" + priority: 1100 + - type: "deb" @@ -128,13 +126,10 @@ index d08a4fc..65646d4 100644 + 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 ++ linux-headers-generic-lts-xenial ++ linux-image-generic-lts-xenial + lvm2 + mcollective + mdadm @@ -144,6 +139,7 @@ index d08a4fc..65646d4 100644 + nailgun-mcagents + network-checker + ntp ++ ntpdate + openssh-client + openssh-server + puppet @@ -163,25 +159,18 @@ index d08a4fc..65646d4 100644 + 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" ++ generator_arg: "ubuntu_bootstrap" + provision: -+ codename: "trusty" ++ codename: "xenial" + image_data: + /: -+ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_arm64.img.gz" ++ 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_1404_arm64-boot.img.gz" ++ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1604_arm64-boot.img.gz" + format: "ext2" + container: "gzip" + node_attributes: @@ -200,6 +189,16 @@ index d08a4fc..65646d4 100644 + 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" @@ -214,12 +213,57 @@ index d08a4fc..65646d4 100644 + 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_release ++ extend: *ubuntu_aarch64_xenial + 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." ++ 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: @@ -230,66 +274,65 @@ index d08a4fc..65646d4 100644 + 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" ++ suite: "xenial" + section: "main" + priority: null + - type: "deb" + name: "ubuntu" + uri: "http://ports.ubuntu.com/" -+ suite: "trusty" ++ suite: "xenial" + section: "main universe multiverse" + priority: null + - type: "deb" + name: "ubuntu-updates" + uri: "http://ports.ubuntu.com/" -+ suite: "trusty-updates" ++ suite: "xenial-updates" + section: "main universe multiverse" + priority: null + - type: "deb" + name: "ubuntu-security" + uri: "http://ports.ubuntu.com/" -+ suite: "trusty-security" ++ suite: "xenial-security" + section: "main universe multiverse" + priority: null + - type: "deb" + name: "uca" + uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" -+ suite: "trusty-updates/mitaka" ++ suite: "xenial-updates/newton" + section: "main" + priority: 1080 + - type: "deb" + name: "uca-proposed" + uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" -+ suite: "trusty-proposed/mitaka" ++ 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: "mos9.0" ++ 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: "mos9.0-updates" ++ 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: "mos9.0-security" ++ 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: "mos9.0-holdback" ++ suite: "mos10.0-holdback" + section: "main restricted" + priority: 1100 + - type: "deb" 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 <stanislaw.kardach@cavium.com> -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 <Alexandru.Avadanii@enea.com> +Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> --- 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 <Alexandru.Avadanii@enea.com> +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 <Alexandru.Avadanii@enea.com> +Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> +--- + 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 <stanislaw.kardach@cavium.com> -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 <Alexandru.Avadanii@enea.com> -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 <Alexandru.Avadanii@enea.com> ---- - 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-Newton-on-Ubuntu-for-now.patch index d76a1f6d..4c7d70e7 100644 --- 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-Newton-on-Ubuntu-for-now.patch @@ -1,9 +1,9 @@ From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Date: Sat, 19 Mar 2016 19:02:15 +0100 -Subject: [PATCH] FIXME: Disable amd64 Mitaka on Ubuntu for now. +Subject: [PATCH] FIXME: Disable amd64 Newton on Ubuntu for now. Until we fix all cohabitation of amd64 and arm64, disable Openstack -releases <Mitaka on Ubuntu 14.04> and <Mitaka on Ubuntu+UCA 14.04> +releases <Newton on Ubuntu 16.04> and <Newton on Ubuntu+UCA 16.04> (both x86_64) in openstack.yaml fixture. TODO: Propose renaming above releases to include arch in name. @@ -13,22 +13,20 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 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" + name: "Newton on Ubuntu 16.04" + state: "unavailable" - version: "mitaka-9.0" + version: "newton-10.0" arch: "amd64" operating_system: "Ubuntu" -@@ -2221,6 +2222,7 @@ - extend: *ubuntu_release +@@ -2221,5 +2222,6 @@ fields: - name: "Mitaka on Ubuntu+UCA 14.04" + name: "Newton on Ubuntu+UCA 16.04" + state: "unavailable" - version: "mitaka-9.0" + 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." |