Oved Ourfali has uploaded a new change for review. Change subject: core: glance import as template should fail on old DCs ......................................................................
core: glance import as template should fail on old DCs If the DC compatibility level is less than 3.4 then the glance import should fail on canDoAction. This patch adds this validation Change-Id: I4b975d2f8d540af6f0a3c8e4de9296173950f9ce Bug-Url: https://bugzilla.redhat.com/1072023 Signed-off-by: Oved Ourfali <oourf...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java M packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql 4 files changed, 24 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/76/25476/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java index 6a68b1c..ef96f7b 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/ImportRepoImageCommand.java @@ -11,6 +11,7 @@ import org.ovirt.engine.core.bll.tasks.TaskHandlerCommand; import org.ovirt.engine.core.bll.utils.PermissionSubject; import org.ovirt.engine.core.common.AuditLogType; +import org.ovirt.engine.core.common.FeatureSupported; import org.ovirt.engine.core.common.VdcObjectType; import org.ovirt.engine.core.common.action.ImportRepoImageParameters; import org.ovirt.engine.core.common.action.VdcActionType; @@ -200,6 +201,11 @@ if (getVdsGroup().getArchitecture() == ArchitectureType.undefined) { return failCanDoAction(VdcBllMessages.ACTION_TYPE_FAILED_CLUSTER_UNDEFINED_ARCHITECTURE); } + + setStoragePoolId(getParameters().getStoragePoolId()); + if (!FeatureSupported.importGlanceImageAsTemplate(getStoragePool().getcompatibility_version())) { + return failCanDoAction(VdcBllMessages.ACTION_NOT_SUPPORTED_FOR_CLUSTER_POOL_LEVEL); + } } DiskImage diskImage = null; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java index 7e97072..fc531ce 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/FeatureSupported.java @@ -229,4 +229,14 @@ public static boolean defaultRoute(Version version) { return supportedInConfig(ConfigValues.DefaultRouteSupported, version); } + + /** + * @param version + * Compatibility version to check for. + * @return <code>true</code> if importing a glance image as template is supported for the given version. + */ + public static boolean importGlanceImageAsTemplate(Version version) { + return supportedInConfig(ConfigValues.ImportGlanceImageAsTemplate, version); + } + } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java index e9b5dfb..0d4fb8b 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java @@ -1635,5 +1635,9 @@ @DefaultValueAttribute("true") GetFileStats, + @TypeConverterAttribute(Boolean.class) + @DefaultValueAttribute("true") + ImportGlanceImageAsTemplate, + Invalid; } diff --git a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql index b89854b..30e8e53 100644 --- a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql +++ b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql @@ -203,6 +203,10 @@ select fn_db_add_config_value('CloudInitSupported','false','3.0'); select fn_db_add_config_value('CloudInitSupported','false','3.1'); select fn_db_add_config_value('CloudInitSupported','false','3.2'); +select fn_db_add_config_value('ImportGlanceImageAsTemplate','false','3.0'); +select fn_db_add_config_value('ImportGlanceImageAsTemplate','false','3.1'); +select fn_db_add_config_value('ImportGlanceImageAsTemplate','false','3.2'); +select fn_db_add_config_value('ImportGlanceImageAsTemplate','false','3.3'); select fn_db_add_config_value('HotPlugDiskSnapshotSupported','false','3.0'); select fn_db_add_config_value('HotPlugDiskSnapshotSupported','false','3.1'); select fn_db_add_config_value('HotPlugDiskSnapshotSupported','false','3.2'); -- To view, visit http://gerrit.ovirt.org/25476 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4b975d2f8d540af6f0a3c8e4de9296173950f9ce Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.4 Gerrit-Owner: Oved Ourfali <oourf...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches