From 14cfe576c22ccef952c7de0c1fc4aac1d289882b Mon Sep 17 00:00:00 2001 From: Ovidiu Poncea Date: Mon, 18 Mar 2019 12:09:36 +0200 Subject: [PATCH] Remove img-conversions and gnocchi platform logical volumes These two partitions are no longer needed in a k8s deployment. Both of them are now managed by the openstack application. Change-Id: Id342c3eafc839a268683ff369353cf4a5f23027d Story: 2004695 Task: 30052 Depends-On: https://review.openstack.org/#/c/639246/ Signed-off-by: Ovidiu Poncea --- .../controllerconfig/common/constants.py | 16 +-- .../modules/platform/manifests/filesystem.pp | 73 +---------- .../api/controllers/v1/controller_fs.py | 38 ++---- .../sysinv/api/controllers/v1/storage_ceph.py | 6 - .../sysinv/api/controllers/v1/storage_lvm.py | 5 - .../sysinv/sysinv/sysinv/common/constants.py | 23 +--- .../sysinv/common/storage_backend_conf.py | 47 ------- .../sysinv/sysinv/sysinv/conductor/manager.py | 119 ++++-------------- sysinv/sysinv/sysinv/sysinv/db/api.py | 10 +- sysinv/sysinv/sysinv/sysinv/puppet/storage.py | 10 -- .../sysinv/tests/api/test_storage_backends.py | 69 ++++------ .../sysinv/tests/api/test_storage_tier.py | 18 ++- .../tests/db/sqlalchemy/test_migrations.py | 2 - 13 files changed, 76 insertions(+), 360 deletions(-) diff --git a/controllerconfig/controllerconfig/controllerconfig/common/constants.py b/controllerconfig/controllerconfig/controllerconfig/common/constants.py index 13c9634ec0..30f9a59e47 100644 --- a/controllerconfig/controllerconfig/controllerconfig/common/constants.py +++ b/controllerconfig/controllerconfig/controllerconfig/common/constants.py @@ -35,26 +35,18 @@ LINK_MTU_DEFAULT = "1500" CINDER_LVM_THIN = "thin" CINDER_LVM_THICK = "thick" -DEFAULT_IMAGE_STOR_SIZE = \ - sysinv_constants.DEFAULT_IMAGE_STOR_SIZE +DEFAULT_CGCS_STOR_SIZE = \ + sysinv_constants.DEFAULT_CGCS_STOR_SIZE DEFAULT_DATABASE_STOR_SIZE = \ sysinv_constants.DEFAULT_DATABASE_STOR_SIZE -DEFAULT_IMG_CONVERSION_STOR_SIZE = \ - sysinv_constants.DEFAULT_IMG_CONVERSION_STOR_SIZE -DEFAULT_SMALL_IMAGE_STOR_SIZE = \ - sysinv_constants.DEFAULT_SMALL_IMAGE_STOR_SIZE +DEFAULT_SMALL_CGCS_STOR_SIZE = \ + sysinv_constants.DEFAULT_SMALL_CGCS_STOR_SIZE DEFAULT_SMALL_DATABASE_STOR_SIZE = \ sysinv_constants.DEFAULT_SMALL_DATABASE_STOR_SIZE -DEFAULT_SMALL_IMG_CONVERSION_STOR_SIZE = \ - sysinv_constants.DEFAULT_SMALL_IMG_CONVERSION_STOR_SIZE DEFAULT_SMALL_BACKUP_STOR_SIZE = \ sysinv_constants.DEFAULT_SMALL_BACKUP_STOR_SIZE -DEFAULT_VIRTUAL_IMAGE_STOR_SIZE = \ - sysinv_constants.DEFAULT_VIRTUAL_IMAGE_STOR_SIZE DEFAULT_VIRTUAL_DATABASE_STOR_SIZE = \ sysinv_constants.DEFAULT_VIRTUAL_DATABASE_STOR_SIZE -DEFAULT_VIRTUAL_IMG_CONVERSION_STOR_SIZE = \ - sysinv_constants.DEFAULT_VIRTUAL_IMG_CONVERSION_STOR_SIZE DEFAULT_VIRTUAL_BACKUP_STOR_SIZE = \ sysinv_constants.DEFAULT_VIRTUAL_BACKUP_STOR_SIZE DEFAULT_EXTENSION_STOR_SIZE = \ diff --git a/puppet-manifests/src/modules/platform/manifests/filesystem.pp b/puppet-manifests/src/modules/platform/manifests/filesystem.pp index 5d0aea8bad..a324ae8244 100644 --- a/puppet-manifests/src/modules/platform/manifests/filesystem.pp +++ b/puppet-manifests/src/modules/platform/manifests/filesystem.pp @@ -144,26 +144,6 @@ class platform::filesystem::scratch } } -class platform::filesystem::gnocchi::params ( - $lv_size = '5', - $lv_name = 'gnocchi-lv', - $mountpoint = '/opt/gnocchi', - $devmapper = '/dev/mapper/cgts--vg-gnocchi--lv', - $fs_type = 'ext4', - $fs_options = '-i 8192' -) { } - -class platform::filesystem::gnocchi - inherits ::platform::filesystem::gnocchi::params { - - platform::filesystem { $lv_name: - lv_name => $lv_name, - lv_size => $lv_size, - mountpoint => $mountpoint, - fs_type => $fs_type, - fs_options => $fs_options - } -} class platform::filesystem::docker::params ( $lv_size = '1', @@ -189,27 +169,6 @@ class platform::filesystem::docker } } -class platform::filesystem::img_conversions::params ( - $lv_size = '8', - $lv_name = 'img-conversions-lv', - $mountpoint = '/opt/img-conversions', - $devmapper = '/dev/mapper/cgts--vg-img--conversions--lv', - $fs_type = 'ext4', - $fs_options = ' ' -) {} - -class platform::filesystem::img_conversions - inherits ::platform::filesystem::img_conversions::params { - - platform::filesystem { $lv_name: - lv_name => $lv_name, - lv_size => $lv_size, - mountpoint => $mountpoint, - fs_type => $fs_type, - fs_options => $fs_options - } -} - class platform::filesystem::storage { @@ -238,8 +197,6 @@ class platform::filesystem::controller { include ::platform::filesystem::backup include ::platform::filesystem::scratch include ::platform::filesystem::docker - include ::platform::filesystem::img_conversions - include ::platform::filesystem::gnocchi } @@ -273,21 +230,6 @@ class platform::filesystem::scratch::runtime { } -class platform::filesystem::gnocchi::runtime { - - include ::platform::filesystem::gnocchi::params - $lv_name = $::platform::filesystem::gnocchi::params::lv_name - $lv_size = $::platform::filesystem::gnocchi::params::lv_size - $devmapper = $::platform::filesystem::gnocchi::params::devmapper - - platform::filesystem::resize { $lv_name: - lv_name => $lv_name, - lv_size => $lv_size, - devmapper => $devmapper, - } -} - - class platform::filesystem::docker::runtime { include ::platform::filesystem::docker::params @@ -303,20 +245,6 @@ class platform::filesystem::docker::runtime { } -class platform::filesystem::img_conversions::runtime { - - include ::platform::filesystem::img_conversions::params - $lv_name = $::platform::filesystem::img_conversions::params::lv_name - $lv_size = $::platform::filesystem::img_conversions::params::lv_size - $devmapper = $::platform::filesystem::img_conversions::params::devmapper - - platform::filesystem::resize { $lv_name: - lv_name => $lv_name, - lv_size => $lv_size, - devmapper => $devmapper, - } -} - class platform::filesystem::docker::params::bootstrap ( $lv_size = '30', $lv_name = 'docker-lv', @@ -327,6 +255,7 @@ class platform::filesystem::docker::params::bootstrap ( $fs_use_all = false ) { } + class platform::filesystem::docker::bootstrap inherits ::platform::filesystem::docker::params::bootstrap { diff --git a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/controller_fs.py b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/controller_fs.py index 54bd473259..b540d6d025 100644 --- a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/controller_fs.py +++ b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/controller_fs.py @@ -65,16 +65,12 @@ class ControllerFs(base.APIBase): /var/lib/postgresql (pgsql-lv) The image GiB of controller_fs - maps to /opt/cgcs (cgcs-lv) - The image conversion GiB of controller_fs - maps to - /opt/img-conversions (img-conversions-lv) The backup GiB of controller_fs - maps to /opt/backups (backup-lv) The scratch GiB of controller_fs - maps to /scratch (scratch-lv) The extension GiB of controller_fs - maps to /opt/extension (extension-lv) - The gnocchi GiB of controller_fs - maps to - /opt/gnocchi (gnocchi-lv) """ uuid = types.uuid @@ -272,7 +268,7 @@ def _check_controller_multi_fs(controller_fs_new_list, if ceph_mon_gib_new: msg = _( "Total target growth size %s GiB for database " - "(doubled for upgrades), glance, img-conversions, " + "(doubled for upgrades), glance, " "scratch, backup, extension and ceph-mon exceeds " "growth limit of %s GiB." % (cgtsvg_growth_gib, cgtsvg_max_free_GiB) @@ -280,7 +276,7 @@ def _check_controller_multi_fs(controller_fs_new_list, else: msg = _( "Total target growth size %s GiB for database " - "(doubled for upgrades), glance, img-conversions, scratch, " + "(doubled for upgrades), glance, scratch, " "backup and extension exceeds growth limit of %s GiB." % (cgtsvg_growth_gib, cgtsvg_max_free_GiB) ) @@ -488,7 +484,7 @@ def _check_controller_fs(controller_fs_new=None, if ceph_mon_gib_new: msg = _( "Total target growth size %s GiB for database " - "(doubled for upgrades), glance, img-conversions, " + "(doubled for upgrades), glance, " "scratch, backup, extension and ceph-mon exceeds " "growth limit of %s GiB." % (cgtsvg_growth_gib, cgtsvg_max_free_GiB) @@ -496,43 +492,24 @@ def _check_controller_fs(controller_fs_new=None, else: msg = _( "Total target growth size %s GiB for database " - "(doubled for upgrades), glance, img-conversions, scratch, " + "(doubled for upgrades), glance, scratch, " "backup and extension exceeds growth limit of %s GiB." % (cgtsvg_growth_gib, cgtsvg_max_free_GiB) ) raise wsme.exc.ClientSideError(msg) -def _check_controller_multi_fs_data(context, controller_fs_list_new, - modified_fs): +def _check_controller_multi_fs_data(context, controller_fs_list_new): """ Check controller filesystem data and return growth returns: cgtsvg_growth_gib """ cgtsvg_growth_gib = 0 - # Check if we need img_conversions - img_conversion_required = False lvdisplay_keys = [constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_DATABASE], constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_CGCS], constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_BACKUP], - constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_SCRATCH], - constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_GNOCCHI]] - - # On primary region, img-conversions always exists in controller_fs DB table. - # On secondary region, if both glance and cinder are sharing from the primary - # region, img-conversions won't exist in controller_fs DB table. We already - # have semantic check not to allow img-conversions resizing. - if (StorageBackendConfig.has_backend(pecan.request.dbapi, constants.SB_TYPE_LVM) or - StorageBackendConfig.has_backend(pecan.request.dbapi, constants.SB_TYPE_CEPH)): - img_conversion_required = True - lvdisplay_keys.append(constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_IMG_CONVERSIONS]) - - if (constants.FILESYSTEM_NAME_IMG_CONVERSIONS in modified_fs and - not img_conversion_required): - raise wsme.exc.ClientSideError( - _("%s is not modifiable: no cinder backend is " - "currently configured.") % constants.FILESYSTEM_NAME_IMG_CONVERSIONS) + constants.FILESYSTEM_LV_DICT[constants.FILESYSTEM_NAME_SCRATCH]] lvdisplay_dict = pecan.request.rpcapi.get_controllerfs_lv_sizes(context) @@ -760,8 +737,7 @@ class ControllerFsController(rest.RestController): cgtsvg_growth_gib = _check_controller_multi_fs_data( pecan.request.context, - controller_fs_list_new, - modified_fs) + controller_fs_list_new) if _check_controller_state(): _check_controller_multi_fs(controller_fs_list_new, diff --git a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/storage_ceph.py b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/storage_ceph.py index 2f066830b4..d975d399fa 100644 --- a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/storage_ceph.py +++ b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/storage_ceph.py @@ -36,7 +36,6 @@ import wsmeext.pecan as wsme_pecan from sysinv.api.controllers.v1 import base from sysinv.api.controllers.v1 import collection -from sysinv.api.controllers.v1 import controller_fs as controller_fs_api from sysinv.api.controllers.v1 import link from sysinv.api.controllers.v1 import types from sysinv.api.controllers.v1 import utils @@ -695,11 +694,6 @@ def _check_and_update_rbd_provisioner(new_storceph, remove=False): def _apply_backend_changes(op, sb_obj): services = api_helper.getListFromServices(sb_obj.as_dict()) - # Make sure img_conversion partition is present - if (constants.SB_SVC_CINDER in services or - constants.SB_SVC_GLANCE in services): - StorageBackendConfig.set_img_conversions_defaults( - pecan.request.dbapi, controller_fs_api) if op == constants.SB_API_OP_CREATE: if sb_obj.name == constants.SB_DEFAULT_NAMES[ diff --git a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/storage_lvm.py b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/storage_lvm.py index e262cfa317..f26c97efe8 100644 --- a/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/storage_lvm.py +++ b/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/storage_lvm.py @@ -35,7 +35,6 @@ import wsmeext.pecan as wsme_pecan from sysinv.api.controllers.v1 import base from sysinv.api.controllers.v1 import collection -from sysinv.api.controllers.v1 import controller_fs as controller_fs_api from sysinv.api.controllers.v1 import link from sysinv.api.controllers.v1 import types from sysinv.api.controllers.v1 import utils @@ -43,7 +42,6 @@ from sysinv.api.controllers.v1.utils import SBApiHelper as api_helper from sysinv.common import constants from sysinv.common import exception from sysinv.common import utils as cutils -from sysinv.common.storage_backend_conf import StorageBackendConfig from sysinv import objects from sysinv.openstack.common import log from sysinv.openstack.common import uuidutils @@ -515,9 +513,6 @@ def _create(storage_lvm): storage_lvm, storage_lvm.pop('confirmed', False)) - StorageBackendConfig.set_img_conversions_defaults(pecan.request.dbapi, - controller_fs_api) - # We have a valid configuration. create it. system = pecan.request.dbapi.isystem_get_one() storage_lvm['forisystemid'] = system.id diff --git a/sysinv/sysinv/sysinv/sysinv/common/constants.py b/sysinv/sysinv/sysinv/sysinv/common/constants.py index 49a764b409..15b0fc7f35 100644 --- a/sysinv/sysinv/sysinv/sysinv/common/constants.py +++ b/sysinv/sysinv/sysinv/sysinv/common/constants.py @@ -283,31 +283,25 @@ VSWITCH_TYPE_NUAGE_VRS = "nuage_vrs" VSWITCH_TYPE_NONE = "none" # Partition default sizes -DEFAULT_IMAGE_STOR_SIZE = 10 +DEFAULT_CGCS_STOR_SIZE = 20 DEFAULT_DOCKER_STOR_SIZE = 1 DEFAULT_DOCKER_DISTRIBUTION_STOR_SIZE = 1 DEFAULT_DATABASE_STOR_SIZE = 20 -DEFAULT_IMG_CONVERSION_STOR_SIZE = 20 -DEFAULT_SMALL_IMAGE_STOR_SIZE = 10 +DEFAULT_SMALL_CGCS_STOR_SIZE = 10 DEFAULT_SMALL_DATABASE_STOR_SIZE = 10 -DEFAULT_SMALL_IMG_CONVERSION_STOR_SIZE = 10 DEFAULT_SMALL_BACKUP_STOR_SIZE = 40 -DEFAULT_VIRTUAL_IMAGE_STOR_SIZE = 8 DEFAULT_VIRTUAL_DATABASE_STOR_SIZE = 5 -DEFAULT_VIRTUAL_IMG_CONVERSION_STOR_SIZE = 8 DEFAULT_VIRTUAL_BACKUP_STOR_SIZE = 5 DEFAULT_EXTENSION_STOR_SIZE = 1 DEFAULT_PATCH_VAULT_STOR_SIZE = 8 DEFAULT_ETCD_STORE_SIZE = 1 -DEFAULT_GNOCCHI_STOR_SIZE = 5 # The threshold between small and large disks is 240GiB DEFAULT_SMALL_DISK_SIZE = 240 # The minimum disk size needed to create all partitions # Value based on the following calculation: -# DEFAULT_SMALL_IMAGE_STOR_SIZE 10 +# DEFAULT_SMALL_CGCS_STOR_SIZE 10 # 2*DEFAULT_SMALL_DATABASE_STOR_SIZE 20 (2*10) -# DEFAULT_SMALL_IMG_CONVERSION_STOR_SIZE 10 # DEFAULT_SMALL_BACKUP_STOR_SIZE 40 # LOG_VOL_SIZE (reserved in kickstarts) 8 # SCRATCH_VOL_SIZE (reserved in kickstarts) 8 @@ -315,7 +309,6 @@ DEFAULT_SMALL_DISK_SIZE = 240 # PLATFORM_LV 2 # ANCHOR_LV 1 # DEFAULT_EXTENSION_STOR_SIZE 1 -# DEFAULT_GNOCCHI_STOR_SIZE 5 # KUBERNETES_DOCKER_STOR_SIZE (--kubernetes) 30 # DOCKER_DISTRIBUTION_STOR_SIZE (--kubernetes) 16 # ETCD_STOR_SIZE (--kubernetes) 5 @@ -325,8 +318,8 @@ DEFAULT_SMALL_DISK_SIZE = 240 # boot partition (created in kickstarts) 1 # buffer for partition creation 1 # ------------------------------------------------------- -# 201 -MINIMUM_DISK_SIZE = 201 +# 186 +MINIMUM_DISK_SIZE = 186 # Docker lv size when Kubernetes is configured KUBERNETES_DOCKER_STOR_SIZE = 30 @@ -510,14 +503,12 @@ FILESYSTEM_NAME_CGCS = 'cgcs' FILESYSTEM_DISPLAY_NAME_CGCS = 'glance' FILESYSTEM_NAME_CINDER = 'cinder' FILESYSTEM_NAME_DATABASE = 'database' -FILESYSTEM_NAME_IMG_CONVERSIONS = 'img-conversions' FILESYSTEM_NAME_SCRATCH = 'scratch' FILESYSTEM_NAME_DOCKER = 'docker' FILESYSTEM_NAME_DOCKER_DISTRIBUTION = 'docker-distribution' FILESYSTEM_NAME_EXTENSION = 'extension' FILESYSTEM_NAME_ETCD = 'etcd' FILESYSTEM_NAME_PATCH_VAULT = 'patch-vault' -FILESYSTEM_NAME_GNOCCHI = 'gnocchi' FILESYSTEM_LV_DICT = { FILESYSTEM_NAME_CGCS: 'cgcs-lv', @@ -525,12 +516,10 @@ FILESYSTEM_LV_DICT = { FILESYSTEM_NAME_SCRATCH: 'scratch-lv', FILESYSTEM_NAME_DOCKER: 'docker-lv', FILESYSTEM_NAME_DOCKER_DISTRIBUTION: 'dockerdistribution-lv', - FILESYSTEM_NAME_IMG_CONVERSIONS: 'img-conversions-lv', FILESYSTEM_NAME_DATABASE: 'pgsql-lv', FILESYSTEM_NAME_EXTENSION: 'extension-lv', FILESYSTEM_NAME_ETCD: 'etcd-lv', FILESYSTEM_NAME_PATCH_VAULT: 'patch-vault-lv', - FILESYSTEM_NAME_GNOCCHI: 'gnocchi-lv' } SUPPORTED_LOGICAL_VOLUME_LIST = FILESYSTEM_LV_DICT.values() @@ -541,13 +530,11 @@ SUPPORTED_FILEYSTEM_LIST = [ FILESYSTEM_NAME_CINDER, FILESYSTEM_NAME_DATABASE, FILESYSTEM_NAME_EXTENSION, - FILESYSTEM_NAME_IMG_CONVERSIONS, FILESYSTEM_NAME_SCRATCH, FILESYSTEM_NAME_DOCKER, FILESYSTEM_NAME_DOCKER_DISTRIBUTION, FILESYSTEM_NAME_PATCH_VAULT, FILESYSTEM_NAME_ETCD, - FILESYSTEM_NAME_GNOCCHI ] SUPPORTED_REPLICATED_FILEYSTEM_LIST = [ diff --git a/sysinv/sysinv/sysinv/sysinv/common/storage_backend_conf.py b/sysinv/sysinv/sysinv/sysinv/common/storage_backend_conf.py index 877251028e..0faeb0811d 100644 --- a/sysinv/sysinv/sysinv/sysinv/common/storage_backend_conf.py +++ b/sysinv/sysinv/sysinv/sysinv/common/storage_backend_conf.py @@ -12,13 +12,11 @@ import pecan -import wsme import ast from sysinv.common import constants from sysinv.common import exception from sysinv.common import utils as cutils -from sysinv.openstack.common.gettextutils import _ from sysinv.openstack.common import log @@ -380,51 +378,6 @@ class StorageBackendConfig(object): constants.SB_TYPE_CEPH]: return backend.task == constants.SB_TASK_RESTORE - @staticmethod - def set_img_conversions_defaults(dbapi, controller_fs_api): - """ - initialize img_conversion partitions with default values if not - already done - :param dbapi - :param controller_fs_api - """ - # Img conversions identification - values = {'name': constants.FILESYSTEM_NAME_IMG_CONVERSIONS, - 'logical_volume': constants.FILESYSTEM_LV_DICT[ - constants.FILESYSTEM_NAME_IMG_CONVERSIONS], - 'replicated': False} - - # Abort if is already defined - controller_fs_list = dbapi.controller_fs_get_list() - for fs in controller_fs_list: - if values['name'] == fs.name: - LOG.info("Image conversions already defined, " - "avoiding reseting values") - return - - # Check if there is enough space available - cgtsvg_max_free_GiB = controller_fs_api._get_controller_cgtsvg_limit() - args = {'avail': cgtsvg_max_free_GiB, - 'min': constants.DEFAULT_SMALL_IMG_CONVERSION_STOR_SIZE, - 'lvg': constants.LVG_CGTS_VG} - if cgtsvg_max_free_GiB >= constants.DEFAULT_IMG_CONVERSION_STOR_SIZE: - img_conversions_gib = constants.DEFAULT_IMG_CONVERSION_STOR_SIZE - elif cgtsvg_max_free_GiB >= constants.DEFAULT_SMALL_IMG_CONVERSION_STOR_SIZE: - img_conversions_gib = constants.DEFAULT_SMALL_IMG_CONVERSION_STOR_SIZE - else: - msg = _("Not enough space for image conversion partition. " - "Please ensure that '%(lvg)s' VG has at least %(min)s GiB free space." - "Currently available: %(avail)s GiB." % args) - raise wsme.exc.ClientSideError(msg) - - args['size'] = img_conversions_gib - LOG.info("Available space in '%(lvg)s' is %(avail)s GiB " - "from which img_conversions will use %(size)s GiB." % args) - - # Create entry - values['size'] = img_conversions_gib - dbapi.controller_fs_create(values) - @staticmethod def get_enabled_services(dbapi, filter_unconfigured=True, filter_shared=False): diff --git a/sysinv/sysinv/sysinv/sysinv/conductor/manager.py b/sysinv/sysinv/sysinv/sysinv/conductor/manager.py index 9de1b6fda4..902d3d97e0 100644 --- a/sysinv/sysinv/sysinv/sysinv/conductor/manager.py +++ b/sysinv/sysinv/sysinv/sysinv/conductor/manager.py @@ -5575,8 +5575,6 @@ class ConductorManager(service.PeriodicService): classmap = { constants.FILESYSTEM_NAME_BACKUP: 'platform::filesystem::backup::runtime', - constants.FILESYSTEM_NAME_IMG_CONVERSIONS: - 'platform::filesystem::img_conversions::runtime', constants.FILESYSTEM_NAME_SCRATCH: 'platform::filesystem::scratch::runtime', constants.FILESYSTEM_NAME_DOCKER: @@ -5593,8 +5591,6 @@ class ConductorManager(service.PeriodicService): 'platform::drbd::patch_vault::runtime', constants.FILESYSTEM_NAME_ETCD: 'platform::drbd::etcd::runtime', - constants.FILESYSTEM_NAME_GNOCCHI: - 'platform::filesystem::gnocchi::runtime', } puppet_class = None @@ -5688,7 +5684,6 @@ class ConductorManager(service.PeriodicService): classes = ['platform::partitions::runtime', 'platform::lvm::controller::runtime', 'platform::haproxy::runtime', - 'platform::filesystem::img_conversions::runtime', 'platform::drbd::runtime', 'openstack::cinder::runtime', 'platform::sm::norestart::runtime'] @@ -5796,7 +5791,6 @@ class ConductorManager(service.PeriodicService): 'platform::lvm::controller::runtime', 'platform::haproxy::runtime', 'openstack::keystone::endpoint::runtime', - 'platform::filesystem::img_conversions::runtime', 'platform::ceph::runtime_base', ] @@ -5937,7 +5931,6 @@ class ConductorManager(service.PeriodicService): 'platform::lvm::controller::runtime', 'platform::haproxy::runtime', 'openstack::keystone::endpoint::runtime', - 'platform::filesystem::img_conversions::runtime', ] if constants.SB_SVC_GLANCE in services: @@ -6811,21 +6804,12 @@ class ConductorManager(service.PeriodicService): # Add the extension storage extension_lv_size = constants.DEFAULT_EXTENSION_STOR_SIZE scratch_lv_size = cutils.get_controller_fs_scratch_size() - gnocchi_lv_size = constants.DEFAULT_GNOCCHI_STOR_SIZE - - # Assume Non-region mode where glance is local as default - glance_local = True - img_conversions_lv_size = 0 system = self.dbapi.isystem_get_one() system_dc_role = system.get('distributed_cloud_role', None) - region_config = system.capabilities.get('region_config', False) kubernetes_config = system.capabilities.get('kubernetes_enabled', False) LOG.info("Local Region Name: %s" % system.region_name) - # TODO: handle region mode case - if region_config: - glance_local = False disk_size = cutils.get_disk_capacity_mib(rootfs_device) disk_size = int(disk_size / 1024) @@ -6837,9 +6821,9 @@ class ConductorManager(service.PeriodicService): # Defaults: 500G root disk # # Min size of the cgts-vg PV is: - # 218.0 G - PV for cgts-vg (specified in the kickstart) + # 202.0 G - PV for cgts-vg (specified in the kickstart) # or - # 226.0 G - (for DCSC non-AIO) + # 210.0 G - (for DCSC non-AIO) # 8 G - /var/log (reserved in kickstart) # 8 G - /scratch (reserved in kickstart) # 2 G - cgcs_lv (DRBD bootstrap manifest) @@ -6854,15 +6838,12 @@ class ConductorManager(service.PeriodicService): # Final defaults view after controller manifests # 8 G - /var/log (reserved in kickstart) # 8 G - /scratch (reserved in kickstart) - # 10 G - /opt/cgcs + # 20 G - /opt/cgcs # 40 G - /var/lib/postgresql # 2 G - /var/lib/rabbitmq # 2 G - /opt/platform # 1 G - /opt/extension - # 20 G - /opt/img_conversions # 50 G - /opt/backup - # 5 G - /opt/gnocchi - # 1 G - anchor_lv # 30 G - /var/lib/docker (--kubernetes) # 16 G - /var/lib/docker-distribution (--kubernetes) # 5 G - /opt/etcd (--kubernetes) @@ -6870,17 +6851,17 @@ class ConductorManager(service.PeriodicService): # 8 G - /opt/patch-vault (DRBD ctlr manifest for # Distributed Cloud System Controller non-AIO only) # ----- - # 226 G (for DCSC non-AIO) or 218 G + # 210 G (for DCSC non-AIO) or 202 # # The absolute minimum disk size for these default settings: # 0.5 G - /boot # 20.0 G - / - # 218.0 G - cgts-vg PV - # or 226.0 G - (DCSC non-AIO) + # 202.0 G - cgts-vg PV + # or 210.0 G - (DCSC non-AIO) # ------- - # 238.5 G => ~239G min size disk + # 222.5 G => ~223G min size disk # or - # 246.5 G => ~247G min size disk + # 230.5 G => ~231G min size disk # # If required disk is size 500G: # 1) Standard controller - will use all free space for the PV @@ -6891,20 +6872,12 @@ class ConductorManager(service.PeriodicService): # 2) AIO - will leave unused space for further partitioning # 0.5 G - /boot # 20.0 G - / - # 218.0 G - cgts-vg PV - # 261.5 G - unpartitioned free space + # 202.0 G - cgts-vg PV + # 277.5 G - unpartitioned free space # database_storage = constants.DEFAULT_DATABASE_STOR_SIZE - if glance_local: - # When glance is local we need to set the - # img_conversion-lv size. Conversely in region - # mode conversions are done in the other region - # so there is no need to create the conversions - # volume or set lize. - img_conversions_lv_size = \ - constants.DEFAULT_IMG_CONVERSION_STOR_SIZE - cgcs_lv_size = constants.DEFAULT_IMAGE_STOR_SIZE + cgcs_lv_size = constants.DEFAULT_CGCS_STOR_SIZE backup_lv_size = database_storage + \ cgcs_lv_size + constants.BACKUP_OVERHEAD @@ -6915,9 +6888,9 @@ class ConductorManager(service.PeriodicService): # Small disk: under 240G root disk # # Min size of the cgts-vg PV is: - # 178.0 G - PV for cgts-vg (specified in the kickstart) + # 170.0 G - PV for cgts-vg (specified in the kickstart) # or - # 186.0 G - (for DCSC non-AIO) + # 162.0 G - (for DCSC non-AIO) # 8 G - /var/log (reserved in kickstart) # 8 G - /scratch (reserved in kickstart) # 2 G - cgcs_lv (DRBD bootstrap manifest) @@ -6937,28 +6910,25 @@ class ConductorManager(service.PeriodicService): # 2 G - /var/lib/rabbitmq # 2 G - /opt/platform # 1 G - /opt/extension - # 10 G - /opt/img_conversions # 40 G - /opt/backup - # 5 G - /opt/gnocchi - # 1 G - anchor_lv # 30 G - /var/lib/docker (--kubernetes) # 16 G - /var/lib/docker-distribution (--kubernetes) # 20 G - /var/lib/ceph/mon (--kubernetes) # 5 G - /opt/etcd (--kubernetes) # 8 G - /opt/patch-vault (DRBD ctlr manifest for DCSC non-AIO only) # ----- - # 186 G (for DCSC non-AIO) or 178 G + # 170 G (for DCSC non-AIO) or 162 G # # The absolute minimum disk size for these default settings: # 0.5 G - /boot # 20.0 G - / - # 178.0 G - cgts-vg PV + # 162.0 G - cgts-vg PV # or - # 186.0 G - (for DCSC non-AIO) + # 170.0 G - (for DCSC non-AIO) # ------- - # 198.5 G => ~199G min size disk + # 182.5 G => ~183G min size disk # or - # 206.5 G => ~207G min size disk + # 190.5 G => ~191G min size disk # # If required disk is size 240G: # 1) Standard controller - will use all free space for the PV @@ -6968,16 +6938,13 @@ class ConductorManager(service.PeriodicService): # 2) AIO - will leave unused space for further partitioning # 0.5 G - /boot # 20.0 G - / - # 178.0 G - cgts-vg PV - # 41.5 G - unpartitioned free space + # 162.0 G - cgts-vg PV + # 57.5 G - unpartitioned free space # database_storage = \ constants.DEFAULT_SMALL_DATABASE_STOR_SIZE - if glance_local: - img_conversions_lv_size = \ - constants.DEFAULT_SMALL_IMG_CONVERSION_STOR_SIZE - cgcs_lv_size = constants.DEFAULT_SMALL_IMAGE_STOR_SIZE + cgcs_lv_size = constants.DEFAULT_SMALL_CGCS_STOR_SIZE # Due to the small size of the disk we can't provide the # proper amount of backup space which is (database + cgcs_lv # + BACKUP_OVERHEAD) so we are using a smaller default. @@ -7030,29 +6997,6 @@ class ConductorManager(service.PeriodicService): data['name'], data['logical_volume'], data['size'])) self.dbapi.controller_fs_create(data) - data = { - 'name': constants.FILESYSTEM_NAME_GNOCCHI, - 'size': gnocchi_lv_size, - 'logical_volume': constants.FILESYSTEM_LV_DICT[ - constants.FILESYSTEM_NAME_GNOCCHI], - 'replicated': False, - } - LOG.info("Creating FS:%s:%s %d" % ( - data['name'], data['logical_volume'], data['size'])) - self.dbapi.controller_fs_create(data) - - if glance_local: - data = { - 'name': constants.FILESYSTEM_NAME_IMG_CONVERSIONS, - 'size': img_conversions_lv_size, - 'logical_volume': constants.FILESYSTEM_LV_DICT[ - constants.FILESYSTEM_NAME_IMG_CONVERSIONS], - 'replicated': False, - } - LOG.info("Creating FS:%s:%s %d" % ( - data['name'], data['logical_volume'], data['size'])) - self.dbapi.controller_fs_create(data) - data = { 'name': constants.FILESYSTEM_NAME_EXTENSION, 'size': extension_lv_size, @@ -7116,16 +7060,6 @@ class ConductorManager(service.PeriodicService): data['name'], data['logical_volume'], data['size'])) self.dbapi.controller_fs_create(data) - if glance_local: - backends = self.dbapi.storage_backend_get_list() - for b in backends: - if b.backend == constants.SB_TYPE_FILE: - values = { - 'services': constants.SB_SVC_GLANCE, - 'state': constants.SB_STATE_CONFIGURED - } - self.dbapi.storage_backend_update(b.uuid, values) - else: values = { 'services': constants.SB_SVC_GLANCE, @@ -9600,21 +9534,16 @@ class ConductorManager(service.PeriodicService): def get_controllerfs_lv_sizes(self, context): system = self.dbapi.isystem_get_one() system_dc_role = system.get('distributed_cloud_role', None) - kubernetes_config = system.capabilities.get('kubernetes_enabled', False) lvdisplay_command = 'lvdisplay --columns --options lv_size,lv_name ' \ '--units g --noheading --nosuffix ' \ '/dev/cgts-vg/pgsql-lv /dev/cgts-vg/backup-lv ' \ '/dev/cgts-vg/cgcs-lv ' \ - '/dev/cgts-vg/img-conversions-lv ' \ '/dev/cgts-vg/scratch-lv ' \ '/dev/cgts-vg/extension-lv ' \ - '/dev/cgts-vg/gnocchi-lv ' - - if kubernetes_config: - lvdisplay_command = lvdisplay_command + '/dev/cgts-vg/docker-lv ' - lvdisplay_command = lvdisplay_command + '/dev/cgts-vg/etcd-lv ' - lvdisplay_command = lvdisplay_command + '/dev/cgts-vg/dockerdistribution-lv ' + '/dev/cgts-vg/docker-lv ' \ + '/dev/cgts-vg/etcd-lv ' \ + '/dev/cgts-vg/dockerdistribution-lv ' if (system_dc_role == constants.DISTRIBUTED_CLOUD_ROLE_SYSTEMCONTROLLER and tsc.system_type != constants.TIS_AIO_BUILD): diff --git a/sysinv/sysinv/sysinv/sysinv/db/api.py b/sysinv/sysinv/sysinv/sysinv/db/api.py index cb5ea3d4a8..caeeb081cf 100644 --- a/sysinv/sysinv/sysinv/sysinv/db/api.py +++ b/sysinv/sysinv/sysinv/sysinv/db/api.py @@ -2220,8 +2220,8 @@ class Connection(object): :param values: A dict containing several items used to identify and track the controller_fs. Example: - values = {'name': constants.FILESYSTEM_NAME_IMG_CONVERSIONS, - 'size': img_conversions_gib, + values = {'name': constants.DEFAULT_DOCKER_STOR_SIZE, + 'size': 30, 'logical_volume': constants.FILESYSTEM_NAME_LV_DICT, 'replicated': False} :returns: A controller_fs. @@ -2271,10 +2271,10 @@ class Connection(object): :param controller_fs_id: The id or uuid of a controller_fs. :param values: Dict of values to update. May be a partial list. Example: - values = {'name': constants.FILESYSTEM_NAME_IMG_CONVERSIONS, - 'size': img_conversions_gib, + values = {'name': constants.DEFAULT_DOCKER_STOR_SIZE, + 'size': 30, 'logical_volume': constants.FILESYSTEM_LV_DICT[ - constants.FILESYSTEM_NAME_IMG_CONVERSIONS], + constants.DEFAULT_DOCKER_STOR_SIZE], 'replicated': False} :returns: A controller_fs. """ diff --git a/sysinv/sysinv/sysinv/sysinv/puppet/storage.py b/sysinv/sysinv/sysinv/sysinv/puppet/storage.py index 00cb20d3b2..2b43619a63 100644 --- a/sysinv/sysinv/sysinv/sysinv/puppet/storage.py +++ b/sysinv/sysinv/sysinv/sysinv/puppet/storage.py @@ -54,11 +54,6 @@ class StoragePuppet(base.BasePuppet): 'platform::drbd::extension::params::lv_size': controller_fs.size }) - elif controller_fs.name == constants.FILESYSTEM_NAME_IMG_CONVERSIONS: - config.update({ - 'platform::filesystem::img_conversions::params::lv_size': - controller_fs.size - }) elif controller_fs.name == constants.FILESYSTEM_NAME_PATCH_VAULT: config.update({ 'platform::drbd::patch_vault::params::service_enabled': @@ -81,11 +76,6 @@ class StoragePuppet(base.BasePuppet): 'platform::drbd::dockerdistribution::params::lv_size': controller_fs.size }) - elif controller_fs.name == constants.FILESYSTEM_NAME_GNOCCHI: - config.update({ - 'platform::filesystem::gnocchi::params::lv_size': - controller_fs.size - }) return config diff --git a/sysinv/sysinv/sysinv/sysinv/tests/api/test_storage_backends.py b/sysinv/sysinv/sysinv/sysinv/tests/api/test_storage_backends.py index 72d12b1a74..1d24fccf87 100644 --- a/sysinv/sysinv/sysinv/sysinv/tests/api/test_storage_backends.py +++ b/sysinv/sysinv/sysinv/sysinv/tests/api/test_storage_backends.py @@ -329,8 +329,7 @@ class StorageBackendTestCases(base.FunctionalTest): self.assertIn('WARNING : THIS OPERATION IS NOT REVERSIBLE AND CANNOT BE CANCELLED', response.json['error_message']) - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') - def test_post_lvm_without_svc_and_confirm(self, mock_img_conv): + def test_post_lvm_without_svc_and_confirm(self): vals = { 'backend': constants.SB_TYPE_LVM, 'confirmed': True @@ -342,10 +341,9 @@ class StorageBackendTestCases(base.FunctionalTest): self.assertIn('Service cinder is mandatory for the lvm backend.', response.json['error_message']) - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') - def test_post_lvm_with_valid_svc_all_svc_param_and_confirm(self, mock_apply, mock_validate, mock_img_conv): + def test_post_lvm_with_valid_svc_all_svc_param_and_confirm(self, mock_apply, mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -406,10 +404,9 @@ class StorageBackendTestCases(base.FunctionalTest): self.assertIn('Missing required cinder service parameter', response.json['error_message']) - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') - def test_post_lvm_and_remove_svc(self, mock_apply, mock_validate, mock_img_conv): + def test_post_lvm_and_remove_svc(self, mock_apply, mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -431,13 +428,12 @@ class StorageBackendTestCases(base.FunctionalTest): self.assertTrue(patch_response.json['error_message']) self.assertIn('Removing cinder is not supported', patch_response.json['error_message']) - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') @mock.patch.object(SBApiHelper, 'set_backend_data', side_effect=set_backend_state_configured) def test_post_lvm_and_confirm_modify_with_invalid_svc(self, mock_set_backend_data, mock_apply, - mock_validate, mock_img_conv): + mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -460,10 +456,9 @@ class StorageBackendTestCases(base.FunctionalTest): self.assertTrue(patch_response.json['error_message']) self.assertIn('Service glance is not supported', patch_response.json['error_message']) - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') - def test_post_lvm_and_confirm_modify_with_no_changes(self, mock_apply, mock_validate, mock_img_conv): + def test_post_lvm_and_confirm_modify_with_no_changes(self, mock_apply, mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -486,13 +481,12 @@ class StorageBackendTestCases(base.FunctionalTest): self.assertIn('No changes to the existing backend settings were detected', patch_response.json['error_message']) - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') @mock.patch.object(SBApiHelper, 'set_backend_data', side_effect=set_backend_state_configured) def test_post_lvm_and_confirm_modify_with_svc_with_params(self, mock_set_backend_data, - mock_apply, mock_validate, mock_img_conv): + mock_apply, mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -518,10 +512,9 @@ class StorageBackendTestCases(base.FunctionalTest): 'test_cparam2': 'far2'}, # Expected self.get_json('/storage_backend/%s/' % response.json['uuid'])['capabilities']) # Result - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') - def test_post_lvm_and_list(self, mock_apply, mock_validate, mock_img_conv): + def test_post_lvm_and_list(self, mock_apply, mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -569,8 +562,7 @@ class StorageBackendTestCases(base.FunctionalTest): response.json['error_message']) @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') - def test_post_ceph_and_confirm(self, mock_img_conv, mock_mon_ip): + def test_post_ceph_and_confirm(self, mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'capabilities': {'test_bparam3': 'foo'}, @@ -636,10 +628,9 @@ class StorageBackendTestCases(base.FunctionalTest): response.json['error_message']) @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_ceph._discover_and_validate_cinder_capabilities') @mock.patch('sysinv.api.controllers.v1.storage_ceph._apply_backend_changes') - def test_post_ceph_with_valid_svc_all_svc_param_and_confirm(self, mock_apply, mock_validate, mock_img_conv, mock_mon_ip): + def test_post_ceph_with_valid_svc_all_svc_param_and_confirm(self, mock_apply, mock_validate, mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'services': (',').join([constants.SB_SVC_CINDER, constants.SB_SVC_GLANCE]), @@ -654,11 +645,10 @@ class StorageBackendTestCases(base.FunctionalTest): self.get_json('/storage_backend/%s/' % response.json['uuid'])['backend']) # Result @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch.object(SBApiHelper, 'set_backend_data', side_effect=set_backend_state_configured) def test_post_ceph_and_confirm_modify_with_invalid_svc(self, mock_set_backend_data, - mock_img_conv, mock_mon_ip): + mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'capabilities': {'test_bparam3': 'foo'}, @@ -680,14 +670,13 @@ class StorageBackendTestCases(base.FunctionalTest): patch_response.json['error_message']) @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_ceph._discover_and_validate_cinder_capabilities') @mock.patch('sysinv.api.controllers.v1.storage_ceph._apply_backend_changes') @mock.patch.object(SBApiHelper, 'set_backend_data', side_effect=set_backend_state_configured) def test_post_ceph_and_confirm_modify_with_svc_missing_params(self, mock_set_backend_data, mock_apply, mock_validate, - mock_img_conv, mock_mon_ip): + mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'capabilities': {'test_bparam3': 'foo'}, @@ -709,13 +698,12 @@ class StorageBackendTestCases(base.FunctionalTest): patch_response.json['error_message']) @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_ceph._discover_and_validate_cinder_capabilities') @mock.patch('sysinv.api.controllers.v1.storage_ceph._apply_backend_changes') @mock.patch.object(SBApiHelper, 'set_backend_data', side_effect=set_backend_state_configured) def test_post_ceph_and_confirm_modify_with_svc_missing_some_params(self, mock_set_backend_data, mock_apply, - mock_validate, mock_img_conv, mock_mon_ip): + mock_validate, mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'capabilities': {'test_bparam3': 'foo'}, @@ -739,14 +727,13 @@ class StorageBackendTestCases(base.FunctionalTest): patch_response.json['error_message']) @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_ceph._discover_and_validate_cinder_capabilities') @mock.patch('sysinv.api.controllers.v1.storage_ceph._apply_backend_changes') @mock.patch.object(SBApiHelper, 'set_backend_data', side_effect=set_backend_state_configured) def test_post_ceph_and_confirm_modify_with_svc_with_params(self, mock_set_backend_data, mock_apply, mock_validate, - mock_img_conv, mock_mon_ip): + mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'capabilities': {'test_bparam3': 'foo'}, @@ -774,8 +761,7 @@ class StorageBackendTestCases(base.FunctionalTest): self.get_json('/storage_backend/%s/' % response.json['uuid'])['capabilities']) # Result @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') - def test_post_ceph_and_list(self, mock_img_conv, mock_mon_ip): + def test_post_ceph_and_list(self, mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'capabilities': {'test_bparam3': 'foo'}, @@ -1052,10 +1038,9 @@ class StorageLvmTestCases(base.FunctionalTest): self.assertIn('WARNING : THIS OPERATION IS NOT REVERSIBLE AND CANNOT BE CANCELLED', response.json['error_message']) - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') - def test_post_and_confirm(self, mock_apply, mock_validate, mock_img_conv): + def test_post_and_confirm(self, mock_apply, mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -1116,10 +1101,9 @@ class StorageLvmTestCases(base.FunctionalTest): self.assertIn('Missing required cinder service parameter', response.json['error_message']) - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') - def test_post_with_valid_svc_all_svc_param_and_confirm(self, mock_apply, mock_validate, mock_img_conv): + def test_post_with_valid_svc_all_svc_param_and_confirm(self, mock_apply, mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -1132,13 +1116,12 @@ class StorageLvmTestCases(base.FunctionalTest): self.assertEqual(constants.SB_TYPE_LVM, # Expected self.get_json('/storage_lvm/%s/' % response.json['uuid'])['backend']) # Result - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') @mock.patch.object(SBApiHelper, 'set_backend_data', side_effect=set_backend_state_configured) def test_post_and_confirm_modify_with_invalid_svc(self, mock_set_backend_data, - mock_apply, mock_validate, mock_img_conv): + mock_apply, mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -1161,10 +1144,9 @@ class StorageLvmTestCases(base.FunctionalTest): self.assertTrue(patch_response.json['error_message']) self.assertIn('Service glance is not supported', patch_response.json['error_message']) - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch('sysinv.api.controllers.v1.storage_lvm._discover_and_validate_cinder_hiera_data') @mock.patch('sysinv.api.controllers.v1.storage_lvm._apply_backend_changes') - def test_post_and_list(self, mock_apply, mock_validate, mock_img_conv): + def test_post_and_list(self, mock_apply, mock_validate): vals = { 'backend': constants.SB_TYPE_LVM, 'services': constants.SB_SVC_CINDER, @@ -1212,8 +1194,7 @@ class StorageCephTestCases(base.FunctionalTest): response.json['error_message']) @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') - def test_post_and_confirm(self, mock_img_conv, mock_mon_ip): + def test_post_and_confirm(self, mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'capabilities': {'test_bparam3': 'foo'}, @@ -1240,8 +1221,7 @@ class StorageCephTestCases(base.FunctionalTest): response.json['error_message']) @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') - def test_post_with_valid_svc_all_svc_param_and_confirm(self, mock_img_conv, mock_mon_ip): + def test_post_with_valid_svc_all_svc_param_and_confirm(self, mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'services': constants.SB_SVC_SWIFT, @@ -1255,10 +1235,9 @@ class StorageCephTestCases(base.FunctionalTest): self.get_json('/storage_ceph/%s/' % response.json['uuid'])['backend']) # Result @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') @mock.patch.object(SBApiHelper, 'set_backend_data', side_effect=set_backend_state_configured) - def test_post_and_confirm_modify_with_invalid_svc(self, mock_set_backend_data, mock_img_conv, mock_mon_ip): + def test_post_and_confirm_modify_with_invalid_svc(self, mock_set_backend_data, mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'capabilities': {'test_bparam3': 'foo'}, @@ -1279,8 +1258,7 @@ class StorageCephTestCases(base.FunctionalTest): self.assertIn('Service invalid_svc is not supported', patch_response.json['error_message']) @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') - def test_post_and_confirm_modify_with_svc_with_params(self, mock_img_conv, mock_mon_ip): + def test_post_and_confirm_modify_with_svc_with_params(self, mock_mon_ip): # Test skipped. Fix later. self.skipTest("Skipping to prevent failure notification on Jenkins") vals = { @@ -1306,8 +1284,7 @@ class StorageCephTestCases(base.FunctionalTest): self.get_json('/storage_ceph/%s/' % response.json['uuid'])['capabilities']) # Result @mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses') - @mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults') - def test_post_and_list(self, mock_img_conv, mock_mon_ip): + def test_post_and_list(self, mock_mon_ip): vals = { 'backend': constants.SB_TYPE_CEPH, 'capabilities': {'test_bparam3': 'foo'}, diff --git a/sysinv/sysinv/sysinv/sysinv/tests/api/test_storage_tier.py b/sysinv/sysinv/sysinv/sysinv/tests/api/test_storage_tier.py index eba303644e..08bf8cd4f4 100644 --- a/sysinv/sysinv/sysinv/sysinv/tests/api/test_storage_tier.py +++ b/sysinv/sysinv/sysinv/sysinv/tests/api/test_storage_tier.py @@ -639,9 +639,8 @@ class StorageTierDependentTCs(base.FunctionalTest): 'services': "%s,%s" % (constants.SB_SVC_CINDER, constants.SB_SVC_GLANCE), 'confirmed': True } - with nested(mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses'), - mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults')) as ( - mock_ceph_mon, mock_conv): + with nested(mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses')) as ( + mock_ceph_mon): response = self.post_json('/storage_backend', values, expect_errors=False) self.assertEqual(http_client.OK, response.status_int) self.assertEqual('ceph', # Expected @@ -811,9 +810,8 @@ class StorageTierDependentTCs(base.FunctionalTest): 'capabilities': {'test_bparam3': 'foo'}, 'confirmed': True } - with nested(mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses'), - mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults')) as ( - mock_ceph_mon, mock_conv): + with nested(mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses')) as ( + mock_ceph_mon): response = self.post_json('/storage_ceph', values, expect_errors=True) self.assertEqual(http_client.BAD_REQUEST, response.status_int) self.assertEqual('application/json', response.content_type) @@ -830,9 +828,8 @@ class StorageTierDependentTCs(base.FunctionalTest): 'name': 'ceph-gold', 'confirmed': True } - with nested(mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses'), - mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults')) as ( - mock_ceph_mon, mock_conv): + with nested(mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses')) as ( + mock_ceph_mon): response = self.post_json('/storage_ceph', values, expect_errors=True) self.assertEqual(http_client.BAD_REQUEST, response.status_int) self.assertEqual('application/json', response.content_type) @@ -851,9 +848,8 @@ class StorageTierDependentTCs(base.FunctionalTest): 'confirmed': True } with nested(mock.patch.object(StorageBackendConfig, 'get_ceph_mon_ip_addresses'), - mock.patch.object(StorageBackendConfig, 'set_img_conversions_defaults'), mock.patch.object(StorageBackendConfig, 'get_ceph_tier_size')) as ( - mock_ceph_mon, mock_conv, mock_space): + mock_ceph_mon, mock_space): mock_space.return_value = 0 response = self.post_json('/storage_ceph', values, expect_errors=True) diff --git a/sysinv/sysinv/sysinv/sysinv/tests/db/sqlalchemy/test_migrations.py b/sysinv/sysinv/sysinv/sysinv/tests/db/sqlalchemy/test_migrations.py index 0c73197403..355fbe7fef 100644 --- a/sysinv/sysinv/sysinv/sysinv/tests/db/sqlalchemy/test_migrations.py +++ b/sysinv/sysinv/sysinv/sysinv/tests/db/sqlalchemy/test_migrations.py @@ -1317,7 +1317,6 @@ class TestMigrations(BaseMigrationTestCase, WalkVersionsMixin): storconfigs = db_utils.get_table(engine, 'i_storconfig') storconfigs_col = { 'glance_backend': 'String', 'glance_gib': 'Integer', - 'img_conversions_gib': 'String', } for col, coltype in storconfigs_col.items(): self.assertTrue(isinstance(storconfigs.c[col].type, @@ -1571,7 +1570,6 @@ class TestMigrations(BaseMigrationTestCase, WalkVersionsMixin): 'uuid': 'String', 'database_gib': 'Integer', 'cgcs_gib': 'Integer', - 'img_conversions_gib': 'Integer', 'backup_gib': 'Integer', 'forisystemid': 'Integer', }