Eli Mesika has uploaded a new change for review.

Change subject: core: Default DC & Cluster has fixed UUIDs
......................................................................

core: Default DC & Cluster has fixed UUIDs

When installing several RHEV environments and having integrated
management for the heterogeneous virtual environment.

When the integrated management program gathering information through the
rhev REST api every RHEVM installations of The 'Default' Datacenter
uuid and 'Default' Cluster uuid are the same.

These were generated uniq uuids on previous virsions implementations
such as RHEV 3.0 or 3.1.

This patch removes the static DC & Cluster UUID (except from the tests)
and change all references to take the dynamic generated value that is
stored in the vdc_options table.

Change-Id: I96c96f5692a9ba113f37f0f8b082aaee244b3ed7
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1026885
Signed-off-by: Eli Mesika <emes...@redhat.com>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsGroupCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolValidator.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.java
M 
backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommandTest.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java
M packaging/dbscripts/insert_data.sql
M packaging/setup/ovirt_engine_setup/constants.py
M packaging/setup/plugins/ovirt-engine-setup/config/appmode.py
9 files changed, 31 insertions(+), 21 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/40/21040/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsGroupCommand.java
index 76b9b5d..7185eb5 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/RemoveVdsGroupCommand.java
@@ -4,8 +4,9 @@
 
 import org.ovirt.engine.core.common.AuditLogType;
 import org.ovirt.engine.core.common.action.VdsGroupParametersBase;
-import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.VmPool;
+import org.ovirt.engine.core.common.config.Config;
+import org.ovirt.engine.core.common.config.ConfigValues;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.common.validation.group.RemoveEntity;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
@@ -32,7 +33,7 @@
             addCanDoActionMessage(VdcBllMessages.VMT_CLUSTER_IS_NOT_VALID);
             returnValue = false;
         } else {
-            if (getVdsGroup().getId().equals(VDSGroup.DEFAULT_VDS_GROUP_ID)) {
+            if 
(getVdsGroup().getId().equals(Config.GetValue(ConfigValues.AutoRegistrationDefaultVdsGroupID)))
 {
                 
addCanDoActionMessage(VdcBllMessages.VDS_CANNOT_REMOVE_DEFAULT_VDS_GROUP);
                 returnValue = false;
             }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
index be33823..713698b 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommand.java
@@ -22,6 +22,8 @@
 import org.ovirt.engine.core.common.businessentities.network.Network;
 import org.ovirt.engine.core.common.businessentities.network.NetworkCluster;
 import org.ovirt.engine.core.common.businessentities.network.NetworkStatus;
+import org.ovirt.engine.core.common.config.Config;
+import org.ovirt.engine.core.common.config.ConfigValues;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.common.gluster.GlusterFeatureSupported;
 import org.ovirt.engine.core.common.utils.ListUtils;
@@ -34,8 +36,6 @@
 import org.ovirt.engine.core.dao.VdsStaticDAO;
 import org.ovirt.engine.core.dao.network.NetworkDao;
 import org.ovirt.engine.core.utils.NetworkUtils;
-import org.ovirt.engine.core.common.config.Config;
-import org.ovirt.engine.core.common.config.ConfigValues;
 
 public class UpdateVdsGroupCommand<T extends VdsGroupOperationParameters> 
extends
         VdsGroupOperationCommandBase<T>  implements RenamedEntityInfoProvider{
@@ -266,7 +266,7 @@
                                     .toString());
                     result = false;
                 }
-                else if 
(VDSGroup.DEFAULT_VDS_GROUP_ID.equals(getVdsGroup().getId())) {
+                else if 
(Config.GetValue(ConfigValues.AutoRegistrationDefaultVdsGroupID).equals(getVdsGroup().getId()))
 {
                     
addCanDoActionMessage(VdcBllMessages.DEFAULT_CLUSTER_CANNOT_BE_ON_LOCALFS);
                     result = false;
                 }
diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolValidator.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolValidator.java
index c23907e..055641c 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolValidator.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolValidator.java
@@ -3,10 +3,10 @@
 import java.util.List;
 
 import org.ovirt.engine.core.bll.ValidationResult;
+import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.businessentities.StoragePoolStatus;
 import org.ovirt.engine.core.common.businessentities.StorageType;
 import org.ovirt.engine.core.common.businessentities.VDSGroup;
-import org.ovirt.engine.core.common.businessentities.StoragePool;
 import org.ovirt.engine.core.common.config.Config;
 import org.ovirt.engine.core.common.config.ConfigValues;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
@@ -69,7 +69,7 @@
         List<VDSGroup> clusters = 
getVdsGroupDao().getAllForStoragePool(storagePool.getId());
         boolean hasDefaultCluster = false;
         for (VDSGroup cluster : clusters) {
-            if (cluster.getId().equals(VDSGroup.DEFAULT_VDS_GROUP_ID)) {
+            if 
(cluster.getId().equals(Config.GetValue(ConfigValues.AutoRegistrationDefaultVdsGroupID)))
 {
                 hasDefaultCluster = true;
                 break;
             }
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.java
index 9c5bfd0..09a7082 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/UpdateVdsGroupCommandTest.java
@@ -48,7 +48,7 @@
     private static final Version VERSION_1_1 = new Version(1, 1);
     private static final Version VERSION_1_2 = new Version(1, 2);
     private static final Guid STORAGE_POOL_ID = Guid.newGuid();
-
+    private static final Guid DEFAULT_VDS_GROUP_ID = new 
Guid("99408929-82CF-4DC7-A532-9D998063FA95");
     @Mock
     private VdsGroupDAO vdsGroupDAO;
     @Mock
@@ -150,6 +150,7 @@
 
     @Test
     public void defaultClusterInLocalFs() {
+        mcr.mockConfigValue(ConfigValues.AutoRegistrationDefaultVdsGroupID, 
DEFAULT_VDS_GROUP_ID);
         createCommandWithDefaultVdsGroup();
         oldGroupIsDetachedDefault();
         storagePoolIsLocalFS();
@@ -309,7 +310,7 @@
     private static VDSGroup createDefaultVdsGroup() {
         VDSGroup group = new VDSGroup();
         group.setName("Default");
-        group.setId(VDSGroup.DEFAULT_VDS_GROUP_ID);
+        group.setId(DEFAULT_VDS_GROUP_ID);
         group.setcpu_name("Intel Conroe");
         group.setcompatibility_version(VERSION_1_1);
         group.setStoragePoolId(STORAGE_POOL_ID);
@@ -319,7 +320,7 @@
     private static VDSGroup createVdsGroupWithNoCpuName() {
         VDSGroup group = new VDSGroup();
         group.setName("Default");
-        group.setId(VDSGroup.DEFAULT_VDS_GROUP_ID);
+        group.setId(DEFAULT_VDS_GROUP_ID);
         group.setcompatibility_version(VERSION_1_1);
         group.setStoragePoolId(STORAGE_POOL_ID);
         return group;
@@ -413,7 +414,7 @@
 
     private void clusterHasVMs() {
         VM vm = new VM();
-        vm.setVdsGroupId(VDSGroup.DEFAULT_VDS_GROUP_ID);
+        vm.setVdsGroupId(DEFAULT_VDS_GROUP_ID);
         List<VM> vmList = new ArrayList<VM>();
         vmList.add(vm);
 
diff --git 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommandTest.java
 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommandTest.java
index 460612a..d1bac37 100644
--- 
a/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommandTest.java
+++ 
b/backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/storage/UpdateStoragePoolCommandTest.java
@@ -14,30 +14,37 @@
 import java.util.Set;
 
 import org.junit.Before;
+import org.junit.ClassRule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.runners.MockitoJUnitRunner;
 import org.ovirt.engine.core.bll.utils.VersionSupport;
 import org.ovirt.engine.core.common.action.StoragePoolManagementParameter;
-import org.ovirt.engine.core.common.businessentities.StorageType;
-import org.ovirt.engine.core.common.businessentities.VDSGroup;
 import org.ovirt.engine.core.common.businessentities.StorageDomainStatic;
 import org.ovirt.engine.core.common.businessentities.StoragePool;
+import org.ovirt.engine.core.common.businessentities.StorageType;
+import org.ovirt.engine.core.common.businessentities.VDSGroup;
+import org.ovirt.engine.core.common.config.ConfigValues;
 import org.ovirt.engine.core.common.errors.VdcBllMessages;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dao.StorageDomainStaticDAO;
 import org.ovirt.engine.core.dao.StoragePoolDAO;
 import org.ovirt.engine.core.dao.VdsGroupDAO;
+import org.ovirt.engine.core.utils.MockConfigRule;
 
 @RunWith(MockitoJUnitRunner.class)
 public class UpdateStoragePoolCommandTest {
+
+    @ClassRule
+    public static MockConfigRule mcr = new MockConfigRule();
 
     private static final Version VERSION_1_0 = new Version(1, 0);
     private static final Version VERSION_1_1 = new Version(1, 1);
     private static final Version VERSION_1_2 = new Version(1, 2);
     private static final Version VERSION_2_0 = new Version(2, 0);
+    private static final Guid DEFAULT_VDS_GROUP_ID = new 
Guid("99408929-82CF-4DC7-A532-9D998063FA95");
 
     private UpdateStoragePoolCommand<StoragePoolManagementParameter> cmd;
 
@@ -139,6 +146,7 @@
 
     @Test
     public void poolHasDefaultCluster() {
+        mcr.mockConfigValue(ConfigValues.AutoRegistrationDefaultVdsGroupID, 
DEFAULT_VDS_GROUP_ID);
         addDefaultClusterToPool();
         storagePoolWithLocalFS();
         
canDoActionFailed(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_POOL_WITH_DEFAULT_VDS_GROUP_CANNOT_BE_LOCALFS.toString());
@@ -231,7 +239,7 @@
     private void addDefaultClusterToPool() {
         VDSGroup defaultCluster = new VDSGroup();
         defaultCluster.setcompatibility_version(VERSION_1_1);
-        defaultCluster.setId(VDSGroup.DEFAULT_VDS_GROUP_ID);
+        defaultCluster.setId(DEFAULT_VDS_GROUP_ID);
         List<VDSGroup> clusters = new ArrayList<VDSGroup>();
         clusters.add(defaultCluster);
         
when(vdsDao.getAllForStoragePool(any(Guid.class))).thenReturn(clusters);
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java
index 3da0c8e..c8c8883 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java
@@ -20,8 +20,6 @@
 
     private static final long serialVersionUID = 5659359762655478095L;
 
-    public static final Guid DEFAULT_VDS_GROUP_ID = new 
Guid("99408929-82CF-4DC7-A532-9D998063FA95");
-
     private Guid id;
 
     @NotNull(message = "VALIDATION.VDS_GROUP.NAME.NOT_NULL", groups = { 
CreateEntity.class, UpdateEntity.class })
@@ -114,10 +112,12 @@
         description = value;
     }
 
+    @Override
     public String getComment() {
         return comment;
     }
 
+    @Override
     public void setComment(String value) {
         comment = value;
     }
diff --git a/packaging/dbscripts/insert_data.sql 
b/packaging/dbscripts/insert_data.sql
index acf65cd..2582670 100644
--- a/packaging/dbscripts/insert_data.sql
+++ b/packaging/dbscripts/insert_data.sql
@@ -1,3 +1,5 @@
+INSERT INTO vdc_options(option_name, option_value, version) values 
('AutoRegistrationDefaultVdsGroupID', uuid_generate_v1(),'general');
+
 Create or replace FUNCTION insert_data()
 RETURNS VOID
    AS $procedure$
@@ -8,8 +10,8 @@
    v_id_0009 UUID;
 BEGIN
    v_id_0000 := '00000000-0000-0000-0000-000000000000';
-   v_storage_pool_id := '5849B030-626E-47CB-AD90-3CE782D831B3';
-   v_cluster_id := '99408929-82CF-4DC7-A532-9D998063FA95';
+   v_storage_pool_id := uuid_generate_v1();
+   v_cluster_id := option_value from vdc_options where option_name = 
'AutoRegistrationDefaultVdsGroupID' and version = 'general';
    v_id_0009 := '00000000-0000-0000-0000-000000000009';
 
 
diff --git a/packaging/setup/ovirt_engine_setup/constants.py 
b/packaging/setup/ovirt_engine_setup/constants.py
index f87e168..420a81c 100644
--- a/packaging/setup/ovirt_engine_setup/constants.py
+++ b/packaging/setup/ovirt_engine_setup/constants.py
@@ -597,7 +597,6 @@
     ENGINE_SERVICE_NAME = 'ovirt-engine'
     WEBSOCKET_PROXY_SERVICE_NAME = 'ovirt-websocket-proxy'
     PKI_PASSWORD = 'mypass'
-    DEFAULT_CLUSTER_ID = '99408929-82CF-4DC7-A532-9D998063FA95'
     MINIMUM_SPACE_ISODOMAIN_MB = 350
     ISO_DOMAIN_IMAGE_UID = '11111111-1111-1111-1111-111111111111'
     MAC_RANGE_BASE = '00:1a:4a'
diff --git a/packaging/setup/plugins/ovirt-engine-setup/config/appmode.py 
b/packaging/setup/plugins/ovirt-engine-setup/config/appmode.py
index 37bc3f7..c5fe0fe 100644
--- a/packaging/setup/plugins/ovirt-engine-setup/config/appmode.py
+++ b/packaging/setup/plugins/ovirt-engine-setup/config/appmode.py
@@ -99,13 +99,12 @@
         self.environment[osetupcons.DBEnv.STATEMENT].execute(
             statement="""
                 select inst_update_service_type(
-                    %(clusterid)s,
+                    null,
                     %(virt)s,
                     %(gluster)s
                 )
             """,
             args=dict(
-                clusterid=osetupcons.Const.DEFAULT_CLUSTER_ID,
                 virt=(v in ('both', 'virt')),
                 gluster=(v == 'gluster'),
             ),


-- 
To view, visit http://gerrit.ovirt.org/21040
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I96c96f5692a9ba113f37f0f8b082aaee244b3ed7
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Eli Mesika <emes...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to