From a0805a01542505301918cacb5db6216814c40023 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Wed, 28 Jun 2017 20:48:38 +0200 Subject: MCP: Remove all Fuel patches and plugins Chances are none of the old patches / plugins can be reused as-is, so remove all of them and prepare for the switch to MCP. Change-Id: I999927a43b438d9bda9ff118731e2af4b1fa8caa Signed-off-by: Alexandru Avadanii --- ...-arch-to-nailgun-release-and-target-image.patch | 330 --------------------- 1 file changed, 330 deletions(-) delete mode 100644 patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch (limited to 'patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch') 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 deleted file mode 100644 index df3f96ca..00000000 --- a/patches/fuel-web/0002-Add-arch-to-nailgun-release-and-target-image.patch +++ /dev/null @@ -1,330 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2017 Enea AB, Cavium and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Stanislaw Kardach -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 ++++++++++++++++++++++ - nailgun/nailgun/db/sqlalchemy/models/release.py | 8 ++++ - nailgun/nailgun/fixtures/openstack.yaml | 5 ++ - .../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, 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 ccbe860..a3875ce 100644 ---- a/nailgun/nailgun/consts.py -+++ b/nailgun/nailgun/consts.py -@@ -38,6 +38,11 @@ RELEASE_OS = Enum( - ) - ) - -+RELEASE_ARCHS = Enum( -+ 'amd64', -+ 'arm64' -+) -+ - CLUSTER_MODES = Enum( - 'multinode', - '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..6e42b3f ---- /dev/null -+++ b/nailgun/nailgun/db/migration/alembic_migrations/versions/armband.py -@@ -0,0 +1,53 @@ -+# Copyright 2016 Cavium, Inc. -+# -+# Licensed under the Apache License, Version 2.0 (the "License"); you may -+# not use this file except in compliance with the License. You may obtain -+# a copy of the License at -+# -+# http://www.apache.org/licenses/LICENSE-2.0 -+# -+# Unless required by applicable law or agreed to in writing, software -+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -+# License for the specific language governing permissions and limitations -+# under the License. -+ -+"""Armband patches -+ -+Revision ID: f9b7fd91ac19 -+Revises: c6edea552f1e -+Create Date: 2016-03-01 23:18:58.712617 -+ -+""" -+ -+# revision identifiers, used by Alembic. -+revision = 'f9b7fd91ac19' -+down_revision = 'c6edea552f1e' -+ -+from alembic import op -+from nailgun.utils.migration import drop_enum -+import sqlalchemy as sa -+ -+ENUMS = ( -+ 'release_arch', -+) -+ -+ -+def upgrade(): -+ add_release_arch() -+ -+ -+def downgrade(): -+ remove_release_arch() -+ map(drop_enum, ENUMS) -+ -+ -+def add_release_arch(): -+ arch_enum = sa.Enum('amd64', 'arm64', name='release_arch') -+ arch_enum.create(op.get_bind(), checkfirst=False) -+ op.add_column('releases', sa.Column('arch', arch_enum, nullable=False, -+ server_default='amd64')) -+ -+ -+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 a069b61..882d32c 100644 ---- a/nailgun/nailgun/db/sqlalchemy/models/release.py -+++ b/nailgun/nailgun/db/sqlalchemy/models/release.py -@@ -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) -+ arch = Column( -+ Enum( -+ *consts.RELEASE_ARCHS, -+ name='release_arch' -+ ), -+ nullable=False, -+ default=consts.RELEASE_ARCHS.amd64 -+ ) - description = Column(Unicode) - operating_system = Column(String(50), nullable=False) - state = Column( -diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml -index ba967d7..c1d2a71 100644 ---- a/nailgun/nailgun/fixtures/openstack.yaml -+++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -2113,6 +2113,7 @@ - name: "Newton on CentOS 6.5" - state: "unavailable" - 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: -@@ -2186,6 +2187,7 @@ - fields: - name: "Newton on Ubuntu 16.04" - version: "newton-10.0" -+ arch: "amd64" - 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: -@@ -2417,6 +2419,7 @@ - fields: - name: "Newton on Ubuntu+UCA 16.04" - 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." - attributes_metadata: - editable: -@@ -2517,6 +2520,7 @@ - fields: - name: "Newton on Ubuntu 16.04 (aarch64)" - version: "newton-10.0" -+ arch: "arm64" - 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: -@@ -2754,6 +2758,7 @@ - fields: - name: "Newton on Ubuntu+UCA 16.04 (aarch64)" - version: "newton-10.0" -+ arch: "arm64" - 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 f983ae3..2f9cec2 100644 ---- a/nailgun/nailgun/orchestrator/deployment_serializers.py -+++ b/nailgun/nailgun/orchestrator/deployment_serializers.py -@@ -261,7 +261,13 @@ class DeploymentMultinodeSerializer(object): - img_dir = '/usr/share/cirros-testvm/' - else: - img_dir = '/opt/vm/' -- image_data['img_path'] = '{0}cirros-x86_64-disk.img'.format(img_dir) -+ arch = node.cluster.release.arch -+ if arch == "amd64": -+ arch = "x86_64" -+ elif arch == "arm64": -+ arch = "aarch64" -+ image_data['img_path'] = '{0}cirros-{1}-disk.img'.format(img_dir, -+ arch) - - properties_data = {} - -diff --git a/nailgun/nailgun/orchestrator/provisioning_serializers.py b/nailgun/nailgun/orchestrator/provisioning_serializers.py -index 7b2c6ac..f2c05e1 100644 ---- a/nailgun/nailgun/orchestrator/provisioning_serializers.py -+++ b/nailgun/nailgun/orchestrator/provisioning_serializers.py -@@ -329,7 +329,8 @@ class ProvisioningSerializer61(ProvisioningSerializer): - attrs['repo_setup']['repos'], - attrs['provision'], - cluster.id, -- packages)) -+ packages, -+ cluster.release.arch)) - - PriorityStrategy().one_by_one(tasks) - return tasks -diff --git a/nailgun/nailgun/orchestrator/tasks_templates.py b/nailgun/nailgun/orchestrator/tasks_templates.py -index 8252891..84bebe6 100644 ---- a/nailgun/nailgun/orchestrator/tasks_templates.py -+++ b/nailgun/nailgun/orchestrator/tasks_templates.py -@@ -208,7 +208,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): - conf = { - 'repos': repos, - 'image_data': provision_data['image_data'], -@@ -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 " -- "--input_data '{1}'").format(cid, conf), -+ "--target_arch {1} " -+ "--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 d7e964e..bce8289 100644 ---- a/nailgun/nailgun/test/integration/test_cluster_changes_handler.py -+++ b/nailgun/nailgun/test/integration/test_cluster_changes_handler.py -@@ -148,7 +148,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', -@@ -164,7 +164,7 @@ class TestHandlers(BaseIntegrationTest): - 'murano_image_info': """'{"title": "Murano Demo", "type":""" - """ "cirros.demo"}'""", - }, -- } -+ }] - - critical_mapping = { - 'primary-controller': True, -@@ -565,7 +565,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', -@@ -581,7 +581,7 @@ class TestHandlers(BaseIntegrationTest): - 'murano_image_info': """'{"title": "Murano Demo", "type":""" - """ "cirros.demo"}'""", - }, -- } -+ }] - - critical_mapping = { - 'primary-controller': True, -@@ -1053,7 +1053,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', -@@ -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 f399602..6034f30 100644 ---- a/nailgun/nailgun/test/integration/test_orchestrator_serializer.py -+++ b/nailgun/nailgun/test/integration/test_orchestrator_serializer.py -@@ -2565,12 +2565,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) - - @staticmethod -diff --git a/nailgun/nailgun/test/unit/test_tasks_templates.py b/nailgun/nailgun/test/unit/test_tasks_templates.py -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): - } - }}, - cid=123, -- packages=packages -+ packages=packages, -+ arch='amd64' - ) - - fuel_image_conf = { -@@ -177,7 +178,8 @@ class TestMakeTask(base.BaseTestCase): - cmd = result["parameters"]["cmd"].lstrip( - "fa_build_image --image_build_dir /var/lib/fuel/ibp " - "--log-file /var/log/fuel-agent-env-123.log " -- "--data_driver nailgun_build_image --input_data '").rstrip("'") -+ "--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): -- cgit 1.2.3-korg