From 42f8585ebb8fffad19a89314659ab9129176c3e9 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sat, 1 Oct 2016 13:18:11 +0200 Subject: build: Rework patch mechanism for Fuel submodules While refactoring the patching mechanism, take care of: - Sync submodule handling with Fuel@OPFNV; - build: Investigate/prepare for moving patches to Fuel@OPNFV; - build: Investigate divergent fuel-mirror; - ISO build: cacheid for Fuel comps should not depend on Armband git commit; CHANGE: Rename/shuffle patches while grouping them in "features", preparing for upstreaming them to Fuel@OPNFV and beyond. CHANGE: Allow linking patches for better representing the dependency between one patch and different features. e.g. 0001-Add-arch-to-nailgun-release-and-target-image.patch: - part of `multiarch-fuel`, because it extends Fuel; - part of `direct-kernel-boot`, as arch is required for that; - part of `cross-bootstrap`, target image is arch-dependent; NOTE: Patch links are not staged to Fuel@OPNFV, they only serve as markers that a specific patch is part of a feature. CHANGE: Kill all Fuel component submodules, now handled in Fuel@OPNFV: - fuel-agent - fuel-astute - fuel-library - fuel-mirror - fuel-nailgun-agent - fuel-web CHANGE: Move armband-fuel-config.mk to armband git root. FIXME: m1.micro-Increase-profile-RAM-size-to-128MB.patch is NOT part of `cross-bootstrap` feature, but patch context says so ... FIXME: 0001-Add-arm64-deb-repositories-setup.patch is broken at `make patches-export` by removing spaces at EOL. v2 -> v3: * Phony patch support (links to show a patch belongs to a feature); * Updated README.md v3 -> v7: * Re-export Fuel submodules & plugins patches (update patch context); * Update Cavium mail addresses (s/caviumnetworks.com/cavium.com/); * Ignore submodule changes; * Add armband git repo info to gitinfo_fuel.txt at build time; Implements: ARMBAND-136 Closes-bug: ARMBAND-95 Closes-bug: ARMBAND-93 Closes-bug: ARMBAND-92 Change-Id: I1a236d9f43b2e6dca22055911f696b43c22b5973 Signed-off-by: Alexandru Avadanii --- ...un-Add-AArch64-Openstack-Mitaka-release-s.patch | 4 +- ...-arch-to-nailgun-release-and-target-image.patch | 76 ++++++------ .../0004-direct-kernel-boot-for-cirros.patch | 137 --------------------- ...ME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch | 34 ----- ...configuration-item-for-WSREP-SST-provider.patch | 45 ------- ...nel-flavor-linux-image-generic-lts-xenial.patch | 39 ------ ...-arch-to-nailgun-release-and-target-image.patch | 1 + ...-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 ++++++ ...-arch-to-nailgun-release-and-target-image.patch | 1 + ...un-Add-AArch64-Openstack-Mitaka-release-s.patch | 1 + ...ME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch | 34 +++++ ...configuration-item-for-WSREP-SST-provider.patch | 45 +++++++ 14 files changed, 299 insertions(+), 295 deletions(-) delete mode 100644 patches/fuel-web/0004-direct-kernel-boot-for-cirros.patch delete mode 100644 patches/fuel-web/0005-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch delete mode 100644 patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch delete mode 100644 patches/fuel-web/0007-kernel-flavor-linux-image-generic-lts-xenial.patch create mode 120000 patches/fuel-web/cross-bootstrap/0000-Add-arch-to-nailgun-release-and-target-image.patch create mode 120000 patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch create mode 100644 patches/fuel-web/direct-kernel-boot/0001-direct-kernel-boot-for-cirros.patch create mode 100644 patches/fuel-web/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch create mode 120000 patches/fuel-web/multiarch-fuel/0000-Add-arch-to-nailgun-release-and-target-image.patch create mode 120000 patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch create mode 100644 patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch create mode 100644 patches/fuel-web/mysql-sst-provider/0001-Add-configuration-item-for-WSREP-SST-provider.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 index f3b9ea70..6dee64d9 100644 --- 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 @@ -7,14 +7,14 @@ 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: 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 62e6b73..9674d66 100644 +index d08a4fc..65646d4 100644 --- a/nailgun/nailgun/fixtures/openstack.yaml +++ b/nailgun/nailgun/fixtures/openstack.yaml @@ -2314,3 +2314,290 @@ 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 d621dbdf..0435891e 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,4 +1,4 @@ -From: Stanislaw Kardach +From: Stanislaw Kardach Date: Wed, 24 Feb 2016 20:11:54 +0100 Subject: [PATCH] Add arch to nailgun release and target image @@ -10,23 +10,23 @@ As a bonus, it is also used when building the target image. .../alembic_migrations/versions/armband.py | 53 ++++++++++++++++++++++ nailgun/nailgun/db/sqlalchemy/models/release.py | 8 ++++ nailgun/nailgun/fixtures/openstack.yaml | 5 ++ - .../nailgun/orchestrator/deployment_serializers.py | 9 +++- + .../nailgun/orchestrator/deployment_serializers.py | 8 +++- .../orchestrator/provisioning_serializers.py | 3 +- nailgun/nailgun/orchestrator/tasks_templates.py | 5 +- .../integration/test_cluster_changes_handler.py | 12 ++--- .../integration/test_orchestrator_serializer.py | 4 +- nailgun/nailgun/test/unit/test_tasks_templates.py | 6 ++- - 10 files changed, 96 insertions(+), 14 deletions(-) + 10 files changed, 95 insertions(+), 14 deletions(-) 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 1ded0ba..5a1af0a 100644 +index 4900ec0..59b0c91 100644 --- a/nailgun/nailgun/consts.py +++ b/nailgun/nailgun/consts.py @@ -38,6 +38,11 @@ RELEASE_OS = Enum( ) ) - + +RELEASE_ARCHS = Enum( + 'amd64', + 'arm64' @@ -37,7 +37,7 @@ index 1ded0ba..5a1af0a 100644 'ha_full', diff --git a/nailgun/nailgun/db/migration/alembic_migrations/versions/armband.py b/nailgun/nailgun/db/migration/alembic_migrations/versions/armband.py new file mode 100644 -index 0000000..8cca69c +index 0000000..6e42b3f --- /dev/null +++ b/nailgun/nailgun/db/migration/alembic_migrations/versions/armband.py @@ -0,0 +1,53 @@ @@ -114,10 +114,10 @@ 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 9674d66..d3226da 100644 +index 65646d4..874d4f0 100644 --- a/nailgun/nailgun/fixtures/openstack.yaml +++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -1904,6 +1904,7 @@ +@@ -1907,6 +1907,7 @@ name: "Mitaka on CentOS 6.5" state: "unavailable" version: "mitaka-9.0" @@ -125,7 +125,7 @@ index 9674d66..d3226da 100644 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: -@@ -1978,6 +1979,7 @@ +@@ -1980,6 +1981,7 @@ fields: name: "Mitaka on Ubuntu 14.04" version: "mitaka-9.0" @@ -133,7 +133,7 @@ index 9674d66..d3226da 100644 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: -@@ -2219,6 +2221,7 @@ +@@ -2220,6 +2222,7 @@ fields: name: "Mitaka on Ubuntu+UCA 14.04" version: "mitaka-9.0" @@ -158,7 +158,7 @@ index 9674d66..d3226da 100644 attributes_metadata: editable: diff --git a/nailgun/nailgun/orchestrator/deployment_serializers.py b/nailgun/nailgun/orchestrator/deployment_serializers.py -index 699a599..6bb7990 100644 +index 08eb9c3..e561324 100644 --- a/nailgun/nailgun/orchestrator/deployment_serializers.py +++ b/nailgun/nailgun/orchestrator/deployment_serializers.py @@ -300,7 +300,13 @@ class DeploymentMultinodeSerializer(object): @@ -173,11 +173,11 @@ index 699a599..6bb7990 100644 + arch = "aarch64" + image_data['img_path'] = '{0}cirros-{1}-disk.img'.format(img_dir, + arch) - + glance_properties = [] - + diff --git a/nailgun/nailgun/orchestrator/provisioning_serializers.py b/nailgun/nailgun/orchestrator/provisioning_serializers.py -index 48a4753..b1f3ca6 100644 +index 48a4753..aaac22a 100644 --- a/nailgun/nailgun/orchestrator/provisioning_serializers.py +++ b/nailgun/nailgun/orchestrator/provisioning_serializers.py @@ -307,7 +307,8 @@ class ProvisioningSerializer61(ProvisioningSerializer): @@ -187,7 +187,7 @@ index 48a4753..b1f3ca6 100644 - packages)) + 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 diff --git a/nailgun/nailgun/orchestrator/tasks_templates.py b/nailgun/nailgun/orchestrator/tasks_templates.py @@ -195,8 +195,8 @@ index 51dfdf7..bc2bff9 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): - - + + def make_provisioning_images_task( - uids, repos, provision_data, cid, packages): + uids, repos, provision_data, cid, packages, arch): @@ -212,63 +212,63 @@ index 51dfdf7..bc2bff9 100644 + "--input_data '{2}'").format(cid, arch, conf), 'timeout': settings.PROVISIONING_IMAGES_BUILD_TIMEOUT, '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 0f212e5..da50eac 100644 +index fb82be0..450155d 100644 --- a/nailgun/nailgun/test/integration/test_cluster_changes_handler.py +++ b/nailgun/nailgun/test/integration/test_cluster_changes_handler.py -@@ -153,7 +153,7 @@ class TestHandlers(BaseIntegrationTest): +@@ -154,7 +154,7 @@ class TestHandlers(BaseIntegrationTest): common_attrs['last_controller'] = controller_nodes[-1]['name'] common_attrs['storage']['pg_num'] = 128 - + - common_attrs['test_vm_image'] = { + common_attrs['test_vm_image'] = [{ 'container_format': 'bare', 'public': 'true', 'disk_format': 'qcow2', -@@ -165,7 +165,7 @@ class TestHandlers(BaseIntegrationTest): +@@ -166,7 +166,7 @@ class TestHandlers(BaseIntegrationTest): """--property murano_image_info=""" """'{"title": "Murano Demo", "type": "cirros.demo"}'""" ), - } + }] - + critical_mapping = { 'primary-controller': True, -@@ -565,7 +565,7 @@ class TestHandlers(BaseIntegrationTest): +@@ -566,7 +566,7 @@ class TestHandlers(BaseIntegrationTest): common_attrs['last_controller'] = controller_nodes[-1]['name'] common_attrs['storage']['pg_num'] = 128 - + - common_attrs['test_vm_image'] = { + common_attrs['test_vm_image'] = [{ 'container_format': 'bare', 'public': 'true', 'disk_format': 'qcow2', -@@ -577,7 +577,7 @@ class TestHandlers(BaseIntegrationTest): +@@ -578,7 +578,7 @@ class TestHandlers(BaseIntegrationTest): """--property murano_image_info=""" """'{"title": "Murano Demo", "type": "cirros.demo"}'""" ), - } + }] - + critical_mapping = { 'primary-controller': True, -@@ -1049,7 +1049,7 @@ class TestHandlers(BaseIntegrationTest): +@@ -1050,7 +1050,7 @@ class TestHandlers(BaseIntegrationTest): common_attrs['last_controller'] = controller_nodes[-1]['name'] common_attrs['storage']['pg_num'] = 128 - + - common_attrs['test_vm_image'] = { + common_attrs['test_vm_image'] = [{ 'container_format': 'bare', 'public': 'true', 'disk_format': 'qcow2', -@@ -1061,7 +1061,7 @@ class TestHandlers(BaseIntegrationTest): +@@ -1062,7 +1062,7 @@ class TestHandlers(BaseIntegrationTest): """--property 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 @@ -276,22 +276,22 @@ index 5db8f4e..ef208cb 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): - + def check_no_murano_data(self): glance_properties = self.serializer.generate_test_vm_image_data( - self.env.nodes[0])['test_vm_image']['glance_properties'] + self.env.nodes[0])['test_vm_image'][0]['glance_properties'] self.assertNotIn('murano_image_info', glance_properties) - + def check_murano_data(self): glance_properties = self.serializer.generate_test_vm_image_data( - self.env.nodes[0])['test_vm_image']['glance_properties'] + self.env.nodes[0])['test_vm_image'][0]['glance_properties'] self.assertIn('murano_image_info', glance_properties) - - + + diff --git a/nailgun/nailgun/test/unit/test_tasks_templates.py b/nailgun/nailgun/test/unit/test_tasks_templates.py -index 4e81a19..d657518 100644 +index 4e81a19..695e53d 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): @@ -302,7 +302,7 @@ index 4e81a19..d657518 100644 + packages=packages, + arch='amd64' ) - + fuel_image_conf = { @@ -177,7 +178,8 @@ class TestMakeTask(base.BaseTestCase): cmd = result["parameters"]["cmd"].lstrip( @@ -312,5 +312,5 @@ index 4e81a19..d657518 100644 + "--data_driver nailgun_build_image --target_arch amd64" + " --input_data '").rstrip("'") self.assertEqual(jsonutils.loads(cmd), fuel_image_conf) - + def test_generate_ironic_bootstrap_keys_task(self): diff --git a/patches/fuel-web/0004-direct-kernel-boot-for-cirros.patch b/patches/fuel-web/0004-direct-kernel-boot-for-cirros.patch deleted file mode 100644 index 994ad730..00000000 --- a/patches/fuel-web/0004-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 0643635..a2f43b0 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 6bb7990..62fb08b 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', -@@ -306,8 +309,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 = [] - -@@ -322,8 +325,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): -@@ -522,20 +555,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/0005-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch b/patches/fuel-web/0005-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch deleted file mode 100644 index 776ae32c..00000000 --- a/patches/fuel-web/0005-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 d3226da..7e6e96e 100644 ---- a/nailgun/nailgun/fixtures/openstack.yaml -+++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -1978,6 +1978,7 @@ - extend: *base_release - fields: - name: "Mitaka on Ubuntu 14.04" -+ state: "unavailable" - version: "mitaka-9.0" - arch: "amd64" - operating_system: "Ubuntu" -@@ -2220,6 +2221,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/0006-Add-configuration-item-for-WSREP-SST-provider.patch b/patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch deleted file mode 100644 index 87f0a2fd..00000000 --- a/patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Stanislaw Kardach -Date: Wed, 20 Apr 2016 15:05:15 -0700 -Subject: [PATCH] Add configuration item for WSREP SST provider - -This patch adds a radio button in "OpenStack Services" tab of the -environment settings to configure which WSREP SST provider to use for -MySQL. - -Signed-off-by: Stanislaw Kardach ---- - nailgun/nailgun/fixtures/openstack.yaml | 21 +++++++++++++++++++++ - 1 file changed, 21 insertions(+) - -diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml -index 62e6b73..4b123b9 100644 ---- a/nailgun/nailgun/fixtures/openstack.yaml -+++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -918,6 +918,27 @@ - description: "Name for Mongo replication set" - weight: 30 - type: "text" -+ mysql_wsrep: -+ metadata: -+ label: "Database configuration" -+ weight: 15 -+ group: "openstack_services" -+ wsrep_method: -+ value: "xtrabackup-v2" -+ label: "WSREP SST provider" -+ description: "This setting changes the wsrep_sst_method switch in the MySQL Galera cluster configuration." -+ weight: 10 -+ type: "radio" -+ values: -+ - data: "xtrabackup-v2" -+ label: "xtrabackup-v2" -+ description: "Use Percona xtrabackup v2 provider. This is broken on some ARM64 platforms due to outdated MySQL/InnoDB code used by xtrabackup." -+ - data: "rsync" -+ label: "rsync" -+ description: "Use rsync provider. Use if xtrabackup is broken on your platform." -+ - data: "mysqldump" -+ label: "mysqldump" -+ description: "Use mysqldump provider (untested)." - additional_components: - metadata: - label: "Additional Components" diff --git a/patches/fuel-web/0007-kernel-flavor-linux-image-generic-lts-xenial.patch b/patches/fuel-web/0007-kernel-flavor-linux-image-generic-lts-xenial.patch deleted file mode 100644 index 5a068d6f..00000000 --- a/patches/fuel-web/0007-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 9c34a05..6848424 100644 ---- a/nailgun/nailgun/fixtures/openstack.yaml -+++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -2103,8 +2103,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 -@@ -2447,8 +2447,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/cross-bootstrap/0000-Add-arch-to-nailgun-release-and-target-image.patch b/patches/fuel-web/cross-bootstrap/0000-Add-arch-to-nailgun-release-and-target-image.patch new file mode 120000 index 00000000..64ff45c3 --- /dev/null +++ b/patches/fuel-web/cross-bootstrap/0000-Add-arch-to-nailgun-release-and-target-image.patch @@ -0,0 +1 @@ +../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/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 new file mode 120000 index 00000000..64ff45c3 --- /dev/null +++ b/patches/fuel-web/direct-kernel-boot/0000-Add-arch-to-nailgun-release-and-target-image.patch @@ -0,0 +1 @@ +../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 new file mode 100644 index 00000000..0f9395c3 --- /dev/null +++ b/patches/fuel-web/direct-kernel-boot/0001-direct-kernel-boot-for-cirros.patch @@ -0,0 +1,137 @@ +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 new file mode 100644 index 00000000..80189744 --- /dev/null +++ b/patches/fuel-web/kernel-bump/0001-kernel-flavor-linux-image-generic-lts-xenial.patch @@ -0,0 +1,39 @@ +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-Add-arch-to-nailgun-release-and-target-image.patch b/patches/fuel-web/multiarch-fuel/0000-Add-arch-to-nailgun-release-and-target-image.patch new file mode 120000 index 00000000..64ff45c3 --- /dev/null +++ b/patches/fuel-web/multiarch-fuel/0000-Add-arch-to-nailgun-release-and-target-image.patch @@ -0,0 +1 @@ +../0002-Add-arch-to-nailgun-release-and-target-image.patch \ No newline at end of file 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 new file mode 120000 index 00000000..e0d56a81 --- /dev/null +++ b/patches/fuel-web/multiarch-fuel/0000-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch @@ -0,0 +1 @@ +../0001-nailgun-Add-AArch64-Openstack-Mitaka-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 new file mode 100644 index 00000000..d76a1f6d --- /dev/null +++ b/patches/fuel-web/multiarch-fuel/0001-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch @@ -0,0 +1,34 @@ +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/mysql-sst-provider/0001-Add-configuration-item-for-WSREP-SST-provider.patch b/patches/fuel-web/mysql-sst-provider/0001-Add-configuration-item-for-WSREP-SST-provider.patch new file mode 100644 index 00000000..2f63ec06 --- /dev/null +++ b/patches/fuel-web/mysql-sst-provider/0001-Add-configuration-item-for-WSREP-SST-provider.patch @@ -0,0 +1,45 @@ +From: Stanislaw Kardach +Date: Wed, 20 Apr 2016 15:05:15 -0700 +Subject: [PATCH] Add configuration item for WSREP SST provider + +This patch adds a radio button in "OpenStack Services" tab of the +environment settings to configure which WSREP SST provider to use for +MySQL. + +Signed-off-by: Stanislaw Kardach +--- + nailgun/nailgun/fixtures/openstack.yaml | 21 +++++++++++++++++++++ + 1 file changed, 21 insertions(+) + +diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml +index ba25093..e855cf0 100644 +--- a/nailgun/nailgun/fixtures/openstack.yaml ++++ b/nailgun/nailgun/fixtures/openstack.yaml +@@ -932,6 +932,27 @@ + description: "Name for Mongo replication set" + weight: 30 + type: "text" ++ mysql_wsrep: ++ metadata: ++ label: "Database configuration" ++ weight: 15 ++ group: "openstack_services" ++ wsrep_method: ++ value: "xtrabackup-v2" ++ label: "WSREP SST provider" ++ description: "This setting changes the wsrep_sst_method switch in the MySQL Galera cluster configuration." ++ weight: 10 ++ type: "radio" ++ values: ++ - data: "xtrabackup-v2" ++ label: "xtrabackup-v2" ++ description: "Use Percona xtrabackup v2 provider. This is broken on some ARM64 platforms due to outdated MySQL/InnoDB code used by xtrabackup." ++ - data: "rsync" ++ label: "rsync" ++ description: "Use rsync provider. Use if xtrabackup is broken on your platform." ++ - data: "mysqldump" ++ label: "mysqldump" ++ description: "Use mysqldump provider (untested)." + additional_components: + metadata: + label: "Additional Components" -- cgit 1.2.3-korg