Juan Hernandez has uploaded a new change for review.

Change subject: core: Generate UUIDs from engine
......................................................................

core: Generate UUIDs from engine

We used to generate UUIDs used as primary keys of entities in the
database. This patch changes the engine so that it generates them
directly and passes them as parameters to the stored procedures as
needed.

Note that some UUIDs can still be generated using the database function
uuid_generate_v1 during upgrades, as upgrade scripts haven't been
changed.

Change-Id: Idecd3aa570017b4198243a9d3f9ebfdc7a777195
Signed-off-by: Juan Hernandez <[email protected]>
---
M backend/manager/dbscripts/bookmarks_sp.sql
M backend/manager/dbscripts/business_entity_snapshot_sp.sql
M backend/manager/dbscripts/common_sp.sql
M backend/manager/dbscripts/insert_data.sql
M backend/manager/dbscripts/inst_sp.sql
M backend/manager/dbscripts/tags_sp.sql
M backend/manager/dbscripts/vds_groups_sp.sql
M backend/manager/dbscripts/vds_sp.sql
M backend/manager/dbscripts/vm_pools_sp.sql
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitySnapshot.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/kerberos/ManageDomainsDAOImpl.java
M packaging/fedora/setup/engine-setup.py
18 files changed, 81 insertions(+), 57 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/90/8990/1

diff --git a/backend/manager/dbscripts/bookmarks_sp.sql 
b/backend/manager/dbscripts/bookmarks_sp.sql
index 6304a8d..d7956d1 100644
--- a/backend/manager/dbscripts/bookmarks_sp.sql
+++ b/backend/manager/dbscripts/bookmarks_sp.sql
@@ -7,13 +7,14 @@
 
 
 
-Create or replace FUNCTION InsertBookmark(v_bookmark_name VARCHAR(40),
+Create or replace FUNCTION InsertBookmark(v_bookmark_id UUID,
+       v_bookmark_name VARCHAR(40),
        v_bookmark_value VARCHAR(300))
 RETURNS VOID
    AS $procedure$
 BEGIN
 INSERT INTO bookmarks(bookmark_Id,bookmark_name, bookmark_value)
-       VALUES(uuid_generate_v1(),v_bookmark_name, v_bookmark_value);
+       VALUES(v_bookmark_id, v_bookmark_name, v_bookmark_value);
 END; $procedure$
 LANGUAGE plpgsql;
 
diff --git a/backend/manager/dbscripts/business_entity_snapshot_sp.sql 
b/backend/manager/dbscripts/business_entity_snapshot_sp.sql
index e5b64be..75eedfc 100644
--- a/backend/manager/dbscripts/business_entity_snapshot_sp.sql
+++ b/backend/manager/dbscripts/business_entity_snapshot_sp.sql
@@ -1,11 +1,10 @@
-CREATE OR REPLACE FUNCTION insert_entity_snapshot(v_command_id 
uuid,v_command_type character varying , v_entity_id character varying, 
v_entity_type character varying, v_entity_snapshot text, v_snapshot_class 
character varying, v_snapshot_type INTEGER,v_insertion_order INTEGER)
+CREATE OR REPLACE FUNCTION insert_entity_snapshot(v_id uuid, v_command_id 
uuid,v_command_type character varying , v_entity_id character varying, 
v_entity_type character varying, v_entity_snapshot text, v_snapshot_class 
character varying, v_snapshot_type INTEGER,v_insertion_order INTEGER)
   RETURNS void AS
 $procedure$
-declare v_id uuid;
 BEGIN
        BEGIN
                INSERT INTO business_entity_snapshot(id, command_id, 
command_type, entity_id,entity_type,entity_snapshot, snapshot_class, 
snapshot_type,insertion_order)
-                               VALUES(uuid_generate_v1(), v_command_id, 
v_command_type, v_entity_id,v_entity_type,v_entity_snapshot, v_snapshot_class, 
v_snapshot_type,v_insertion_order);
+                               VALUES(v_id, v_command_id, v_command_type, 
v_entity_id,v_entity_type,v_entity_snapshot, v_snapshot_class, 
v_snapshot_type,v_insertion_order);
        END;
 
    RETURN;
diff --git a/backend/manager/dbscripts/common_sp.sql 
b/backend/manager/dbscripts/common_sp.sql
index af0187b..0013742 100644
--- a/backend/manager/dbscripts/common_sp.sql
+++ b/backend/manager/dbscripts/common_sp.sql
@@ -167,7 +167,7 @@
 $BODY$
   LANGUAGE 'plpgsql';
 
-CREATE OR REPLACE FUNCTION attach_user_to_su_role()
+CREATE OR REPLACE FUNCTION attach_user_to_su_role(v_permission_id uuid)
   RETURNS void AS
 $procedure$
    DECLARE
@@ -208,7 +208,7 @@
 
 insert into users(user_id,name,domain,username,groups,status) select 
v_user_id, v_name, v_domain, v_user_name,'',1 where not exists (select 
user_id,name,domain,username,groups,status from users where user_id = v_user_id 
and name = v_name and domain = v_domain and username = v_user_name and groups = 
'' and status = 1);
 
-insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) 
select uuid_generate_v1(), '00000000-0000-0000-0000-000000000001', v_user_id, 
getGlobalIds('system'), 1 where not exists(select 
role_id,ad_element_id,object_id,object_type_id from permissions where role_id = 
'00000000-0000-0000-0000-000000000001' and ad_element_id = v_user_id and 
object_id= getGlobalIds('system') and object_type_id = 1);
+insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) 
select v_permission_id, '00000000-0000-0000-0000-000000000001', v_user_id, 
getGlobalIds('system'), 1 where not exists(select 
role_id,ad_element_id,object_id,object_type_id from permissions where role_id = 
'00000000-0000-0000-0000-000000000001' and ad_element_id = v_user_id and 
object_id= getGlobalIds('system') and object_type_id = 1);
 END; $procedure$
 LANGUAGE plpgsql;
 
@@ -253,7 +253,7 @@
 
 
 
-CREATE OR REPLACE FUNCTION attach_user_to_su_role(v_user_id VARCHAR(255), 
v_name VARCHAR(255), v_domain VARCHAR(255))
+CREATE OR REPLACE FUNCTION attach_user_to_su_role(v_permission_id uuid, 
v_user_id VARCHAR(255), v_name VARCHAR(255), v_domain VARCHAR(255))
   RETURNS void AS
 $BODY$
    DECLARE
@@ -275,7 +275,7 @@
 
 insert into users(user_id,name,domain,username,groups,status) select 
input_uuid, v_name, v_domain, v_user_name,'',1 where not exists (select 
user_id,name,domain,username,groups,status from users where user_id = 
input_uuid);
 
-insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) 
select uuid_generate_v1(), '00000000-0000-0000-0000-000000000001', input_uuid, 
getGlobalIds('system'), 1 where not exists(select 
role_id,ad_element_id,object_id,object_type_id from permissions where role_id = 
'00000000-0000-0000-0000-000000000001' and ad_element_id = input_uuid and 
object_id= getGlobalIds('system') and object_type_id = 1);
+insert into permissions(id,role_id,ad_element_id,object_id,object_type_id) 
select v_permission_id, '00000000-0000-0000-0000-000000000001', input_uuid, 
getGlobalIds('system'), 1 where not exists(select 
role_id,ad_element_id,object_id,object_type_id from permissions where role_id = 
'00000000-0000-0000-0000-000000000001' and ad_element_id = input_uuid and 
object_id= getGlobalIds('system') and object_type_id = 1);
 END; $BODY$
 
 LANGUAGE plpgsql;
diff --git a/backend/manager/dbscripts/insert_data.sql 
b/backend/manager/dbscripts/insert_data.sql
index 4b7c4cf..f412d12 100644
--- a/backend/manager/dbscripts/insert_data.sql
+++ b/backend/manager/dbscripts/insert_data.sql
@@ -8,7 +8,7 @@
    v_id_0009 UUID;
 BEGIN
    v_id_0000 := '00000000-0000-0000-0000-000000000000';
-   v_storage_pool_id := uuid_generate_v1();
+   v_storage_pool_id := '5849B030-626E-47CB-AD90-3CE782D831B3';
    v_cluster_id := '99408929-82CF-4DC7-A532-9D998063FA95';
    v_id_0009 := '00000000-0000-0000-0000-000000000009';
 
diff --git a/backend/manager/dbscripts/inst_sp.sql 
b/backend/manager/dbscripts/inst_sp.sql
index 6e76bcf..f25d49d 100644
--- a/backend/manager/dbscripts/inst_sp.sql
+++ b/backend/manager/dbscripts/inst_sp.sql
@@ -19,13 +19,11 @@
 -- This function calls insert_server_connections, 
insertstorage_domain_static,insertstorage_domain_dynamic
 -- Any change to these functions may effect correctness of the installion.
 
-Create or replace FUNCTION inst_add_iso_storage_domain(v_storage_domain_id 
UUID, v_name VARCHAR(250), v_connection VARCHAR(250),v_available int, v_used 
int)
+Create or replace FUNCTION inst_add_iso_storage_domain(v_storage_domain_id 
UUID, v_name VARCHAR(250), v_connection_id uuid, v_connection 
VARCHAR(250),v_available int, v_used int)
 RETURNS VOID
    AS $procedure$
    DECLARE
-   v_connection_id UUID;
 BEGIN
-    v_connection_id := uuid_generate_v1();
     if not exists (select 1 from storage_server_connections where connection = 
v_connection) then
         -- Insert storage server connection info
         perform 
Insertstorage_server_connections(v_connection,cast(v_connection_id as 
varchar(250)),NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL);
diff --git a/backend/manager/dbscripts/tags_sp.sql 
b/backend/manager/dbscripts/tags_sp.sql
index df2d5aa..fad92a8 100644
--- a/backend/manager/dbscripts/tags_sp.sql
+++ b/backend/manager/dbscripts/tags_sp.sql
@@ -8,14 +8,14 @@
 
 
 Create or replace FUNCTION Inserttags(v_description VARCHAR(4000) ,
-       INOUT v_tag_id UUID ,
+       v_tag_id UUID ,
        v_tag_name VARCHAR(50),
        v_parent_id UUID,
        v_readonly BOOLEAN ,
     v_type INTEGER)
+RETURNS VOID
    AS $procedure$
 BEGIN
-      v_tag_id := uuid_generate_v1();
       INSERT INTO tags(tag_id,description, tag_name,parent_id,readonly,type)
        VALUES(v_tag_id,v_description, 
v_tag_name,v_parent_id,v_readonly,v_type);
 END; $procedure$
diff --git a/backend/manager/dbscripts/vds_groups_sp.sql 
b/backend/manager/dbscripts/vds_groups_sp.sql
index b41fbd4..7fd7d3a 100644
--- a/backend/manager/dbscripts/vds_groups_sp.sql
+++ b/backend/manager/dbscripts/vds_groups_sp.sql
@@ -7,7 +7,9 @@
 
 
 
-Create or replace FUNCTION InsertVdsGroups(v_description VARCHAR(4000) ,
+Create or replace FUNCTION InsertVdsGroups(
+       v_vds_group_id UUID,
+       v_description VARCHAR(4000),
        v_name VARCHAR(40),
        v_cpu_name VARCHAR(255),
        v_selection_algorithm INTEGER,
@@ -20,16 +22,15 @@
        v_compatibility_version VARCHAR(40),
        v_transparent_hugepages BOOLEAN ,
        v_migrate_on_error INTEGER,
-       INOUT v_vds_group_id UUID,
        v_virt_service BOOLEAN,
        v_gluster_service BOOLEAN)
+RETURNS VOID
    AS $procedure$
 BEGIN
-      v_vds_group_id := uuid_generate_v1();
-      INSERT INTO vds_groups(vds_group_id,description, name, cpu_name, 
selection_algorithm, high_utilization, low_utilization,
+      INSERT INTO vds_groups(vds_group_id, description, name, cpu_name, 
selection_algorithm, high_utilization, low_utilization,
        cpu_over_commit_duration_minutes, hypervisor_type, storage_pool_id,  
max_vds_memory_over_commit, compatibility_version, transparent_hugepages, 
migrate_on_error,
        virt_service, gluster_service)
-       VALUES(v_vds_group_id,v_description, v_name, v_cpu_name, 
v_selection_algorithm, v_high_utilization, v_low_utilization,
+       VALUES(v_vds_group_id, v_description, v_name, v_cpu_name, 
v_selection_algorithm, v_high_utilization, v_low_utilization,
        v_cpu_over_commit_duration_minutes, v_hypervisor_type, 
v_storage_pool_id,  v_max_vds_memory_over_commit, v_compatibility_version, 
v_transparent_hugepages, v_migrate_on_error,
        v_virt_service, v_gluster_service);
 END; $procedure$
diff --git a/backend/manager/dbscripts/vds_sp.sql 
b/backend/manager/dbscripts/vds_sp.sql
index 848c264..10ce75f 100644
--- a/backend/manager/dbscripts/vds_sp.sql
+++ b/backend/manager/dbscripts/vds_sp.sql
@@ -318,12 +318,13 @@
 --
 
 
-Create or replace FUNCTION InsertVdsStatic(v_host_name VARCHAR(255),
+Create or replace FUNCTION InsertVdsStatic(
+    v_vds_id UUID,
+    v_host_name VARCHAR(255),
        v_ip VARCHAR(255) ,
     v_vds_unique_id VARCHAR(128) ,
        v_port INTEGER,
        v_vds_group_id UUID,
-       INOUT v_vds_id UUID ,
        v_vds_name VARCHAR(255),
        v_server_SSL_enabled BOOLEAN ,
        v_vds_type INTEGER,
@@ -336,11 +337,11 @@
     v_pm_enabled BOOLEAN,
     v_vds_spm_priority INTEGER,
     v_sshKeyFingerprint VARCHAR(128))
+RETURNS VOID
    AS $procedure$
 BEGIN
    IF v_vds_unique_id IS NULL OR NOT EXISTS(SELECT vds_name FROM vds_static 
WHERE vds_unique_id = v_vds_unique_id) then
       BEGIN
-         v_vds_id := uuid_generate_v1();
          INSERT INTO vds_static(vds_id,host_name, ip, vds_unique_id, port, 
vds_group_id, vds_name, 
server_SSL_enabled,vds_type,vds_strength,pm_type,pm_user,pm_password,pm_port,pm_options,pm_enabled,
 vds_spm_priority, sshKeyFingerprint)
                        VALUES(v_vds_id,v_host_name, v_ip, v_vds_unique_id, 
v_port, v_vds_group_id, v_vds_name, 
v_server_SSL_enabled,v_vds_type,v_vds_strength,v_pm_type,v_pm_user,v_pm_password,v_pm_port,v_pm_options,v_pm_enabled,
 v_vds_spm_priority, v_sshKeyFingerprint);
       END;
@@ -638,12 +639,13 @@
 
 
 
-Create or replace FUNCTION InsertVds(v_host_name VARCHAR(255),
+Create or replace FUNCTION InsertVds(
+    v_vds_id UUID,
+    v_host_name VARCHAR(255),
  v_ip VARCHAR(40) ,
     v_vds_unique_id VARCHAR(128) ,
  v_port INTEGER,
  v_vds_group_id UUID,
- INOUT v_vds_id UUID ,
  v_vds_name VARCHAR(255),
  v_server_SSL_enabled BOOLEAN ,
  v_vds_type INTEGER,
@@ -655,11 +657,11 @@
     v_pm_options VARCHAR(4000) ,
     v_pm_enabled BOOLEAN,
     v_vds_spm_priority INTEGER)
+RETURNS VOID
    AS $procedure$
 BEGIN
 
    BEGIN
-      v_vds_id := uuid_generate_v1();
       INSERT INTO vds_static(vds_id,host_name, ip, vds_unique_id, port, 
vds_group_id, vds_name, 
server_SSL_enabled,vds_type,vds_strength,pm_type,pm_user,pm_password, pm_port, 
pm_options, pm_enabled, vds_spm_priority)
        VALUES(v_vds_id,v_host_name, v_ip, v_vds_unique_id, v_port, 
v_vds_group_id, v_vds_name, v_server_SSL_enabled,v_vds_type, 
v_vds_strength,v_pm_type,v_pm_user,v_pm_password,v_pm_port, v_pm_options, 
v_pm_enabled, v_vds_spm_priority);
 
diff --git a/backend/manager/dbscripts/vm_pools_sp.sql 
b/backend/manager/dbscripts/vm_pools_sp.sql
index 3508615..b91f9ab 100644
--- a/backend/manager/dbscripts/vm_pools_sp.sql
+++ b/backend/manager/dbscripts/vm_pools_sp.sql
@@ -4,15 +4,15 @@
 
 
 Create or replace FUNCTION InsertVm_pools(v_vm_pool_description VARCHAR(4000),
- INOUT v_vm_pool_id UUID ,
+ v_vm_pool_id UUID ,
  v_vm_pool_name VARCHAR(255),
  v_vm_pool_type INTEGER,
  v_parameters VARCHAR(200),
  v_prestarted_vms INTEGER,
  v_vds_group_id UUID)
+RETURNS VOID
    AS $procedure$
 BEGIN
-      v_vm_pool_id := uuid_generate_v1();
       INSERT INTO vm_pools(vm_pool_id,vm_pool_description, vm_pool_name, 
vm_pool_type,parameters, prestarted_vms, vds_group_id)
       VALUES(v_vm_pool_id,v_vm_pool_description, 
v_vm_pool_name,v_vm_pool_type,v_parameters, v_prestarted_vms, v_vds_group_id);
 END; $procedure$
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitySnapshot.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitySnapshot.java
index 5c66f10..3c381de 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitySnapshot.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitySnapshot.java
@@ -75,11 +75,11 @@
     private SnapshotType snapshotType;
     private int insertionOrder;
 
-    protected Guid getId() {
+    public Guid getId() {
         return Id;
     }
 
-    protected void setId(Guid id) {
+    public void setId(Guid id) {
         Id = id;
     }
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
index e3c6dd8..d53de4a 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BookmarkDAODbFacadeImpl.java
@@ -77,6 +77,11 @@
 
     @Override
     public void save(bookmarks bookmark) {
+        Guid id = bookmark.getbookmark_id();
+        if (id == null) {
+            id = Guid.NewGuid();
+            bookmark.setbookmark_id(id);
+        }
         MapSqlParameterSource parameterSource = new BookmarkSqlParameterSource(
                 bookmark);
 
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
index e0aaa46..0357cee 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/BusinessEntitySnapshotDAODbFacadeImpl.java
@@ -25,6 +25,7 @@
         @Override
         public BusinessEntitySnapshot mapRow(ResultSet rs, int rowNum) throws 
SQLException {
             BusinessEntitySnapshot result = new BusinessEntitySnapshot();
+            result.setId(Guid.createGuidFromString(rs.getString("id")));
             
result.setCommandId(Guid.createGuidFromString(rs.getString("command_id")));
             result.setCommandType(rs.getString("command_type"));
             result.setEntityId(rs.getString("entity_id"));
@@ -71,8 +72,14 @@
 
     @Override
     public void save(BusinessEntitySnapshot entitySnapshot) {
+        Guid id = entitySnapshot.getId();
+        if (id == null) {
+            id = Guid.NewGuid();
+            entitySnapshot.setId(id);
+        }
         MapSqlParameterSource parameterSource =
                 getCustomMapSqlParameterSource()
+                        .addValue("id", entitySnapshot.getId())
                         .addValue("command_id", entitySnapshot.getCommandId())
                         .addValue("command_type", 
entitySnapshot.getCommandType())
                         .addValue("entity_id", entitySnapshot.getEntityId())
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
index 90dd2ea..f647f59 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/TagDAODbFacadeImpl.java
@@ -3,7 +3,6 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.List;
-import java.util.Map;
 
 import org.ovirt.engine.core.common.businessentities.TagsType;
 import org.ovirt.engine.core.common.businessentities.tags;
@@ -182,18 +181,21 @@
 
     @Override
     public void save(tags tag) {
+        Guid id = tag.gettag_id();
+        if (id == null) {
+            id = Guid.NewGuid();
+            tag.settag_id(id);
+        }
+
         MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
                 .addValue("description", tag.getdescription())
-                .addValue("tag_id", tag.gettag_id())
+                .addValue("tag_id", id)
                 .addValue("tag_name", tag.gettag_name())
                 .addValue("parent_id", tag.getparent_id())
                 .addValue("readonly", tag.getIsReadonly())
                 .addValue("type", tag.gettype());
 
-        Map<String, Object> dbResults = getCallsHandler()
-                .executeModification("Inserttags", parameterSource);
-
-        tag.settag_id(new Guid(dbResults.get("tag_id").toString()));
+        getCallsHandler().executeModification("Inserttags", parameterSource);
     }
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
index 16bfa64..eef1c34 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java
@@ -3,7 +3,6 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.List;
-import java.util.Map;
 
 import org.ovirt.engine.core.common.businessentities.ActionGroup;
 import org.ovirt.engine.core.common.businessentities.HypervisorType;
@@ -89,10 +88,12 @@
 
     @Override
     public void save(VDSGroup group) {
-        Map<String, Object> dbResults =
-                getCallsHandler().executeModification("InsertVdsGroups", 
getVdsGroupParamSource(group));
-
-        group.setvds_group_id(new 
Guid(dbResults.get("vds_group_id").toString()));
+        Guid id = group.getId();
+        if (id == null) {
+            id = Guid.NewGuid();
+            group.setId(id);
+        }
+        getCallsHandler().executeModification("InsertVdsGroups", 
getVdsGroupParamSource(group));
     }
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
index 28bc864..2615f33 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsStaticDAODbFacadeImpl.java
@@ -3,7 +3,6 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.List;
-import java.util.Map;
 
 import org.apache.commons.lang.NotImplementedException;
 import org.ovirt.engine.core.common.businessentities.VDSType;
@@ -62,10 +61,12 @@
 
     @Override
     public void save(VdsStatic vds) {
-        Map<String, Object> dbResults = new SimpleJdbcCall(jdbcTemplate)
-                
.withProcedureName("InsertVdsStatic").execute(getInsertOrUpdateParams(vds));
-
-        vds.setId(new Guid(dbResults.get("vds_id").toString()));
+        Guid id = vds.getId();
+        if (id == null) {
+            id = Guid.NewGuid();
+            vds.setId(id);
+        }
+        new 
SimpleJdbcCall(jdbcTemplate).withProcedureName("InsertVdsStatic").execute(getInsertOrUpdateParams(vds));
     }
 
     @Override
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
index 7c29638..abf2e36 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmPoolDAODbFacadeImpl.java
@@ -3,7 +3,6 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.List;
-import java.util.Map;
 
 import org.ovirt.engine.core.common.businessentities.VM;
 import org.ovirt.engine.core.common.businessentities.VMStatus;
@@ -73,17 +72,21 @@
 
     @Override
     public void save(vm_pools pool) {
+        Guid id = pool.getvm_pool_id();
+        if (id == null) {
+            id = Guid.NewGuid();
+            pool.setvm_pool_id(id);
+        }
         MapSqlParameterSource parameterSource = 
getCustomMapSqlParameterSource()
                 .addValue("vm_pool_description", pool.getvm_pool_description())
-                .addValue("vm_pool_id", pool.getvm_pool_id())
+                .addValue("vm_pool_id", id)
                 .addValue("vm_pool_name", pool.getvm_pool_name())
                 .addValue("vm_pool_type", pool.getvm_pool_type())
                 .addValue("parameters", pool.getparameters())
                 .addValue("prestarted_vms", pool.getPrestartedVms())
                 .addValue("vds_group_id", pool.getvds_group_id());
 
-        Map<String, Object> result = 
getCallsHandler().executeModification("InsertVm_pools", parameterSource);
-        pool.setvm_pool_id(new Guid(result.get("vm_pool_id").toString()));
+        getCallsHandler().executeModification("InsertVm_pools", 
parameterSource);
     }
 
     @Override
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/kerberos/ManageDomainsDAOImpl.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/kerberos/ManageDomainsDAOImpl.java
index 2315a8e..c27705a 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/kerberos/ManageDomainsDAOImpl.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/kerberos/ManageDomainsDAOImpl.java
@@ -3,6 +3,7 @@
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import java.util.UUID;
 
 import javax.sql.DataSource;
 
@@ -12,7 +13,7 @@
 public class ManageDomainsDAOImpl implements ManageDomainsDAO {
 
     private DataSource ds;
-    private String actionQuery = "select attach_user_to_su_role(?,?,?)";
+    private String actionQuery = "select attach_user_to_su_role(?,?,?,?)";
     private final static Logger log = 
Logger.getLogger(ManageDomainsDAOImpl.class);
 
     public ManageDomainsDAOImpl() throws SQLException {
@@ -20,17 +21,19 @@
     }
 
     @Override
-    public boolean updatePermissionsTable(String uuid, String username, String 
domain) throws SQLException {
+    public boolean updatePermissionsTable(String userId, String userName, 
String domain) throws SQLException {
         Connection connection = null;
         PreparedStatement prepareStatement = null;
         boolean result = false;
         try {
-            log.info("uuid: " + uuid + " username: " + username + " domain: " 
+ domain);
+            log.info("uuid: " + userId + " username: " + userName + " domain: 
" + domain);
             connection = ds.getConnection();
             prepareStatement = connection.prepareStatement(actionQuery);
-            prepareStatement.setString(1, uuid);
-            prepareStatement.setString(2, username);
-            prepareStatement.setString(3, domain);
+            String permissionId = UUID.randomUUID().toString();
+            prepareStatement.setString(1, permissionId);
+            prepareStatement.setString(2, userId);
+            prepareStatement.setString(3, userName);
+            prepareStatement.setString(4, domain);
             result = prepareStatement.execute();
         } finally {
             if (prepareStatement != null) {
diff --git a/packaging/fedora/setup/engine-setup.py 
b/packaging/fedora/setup/engine-setup.py
index 0e6a872..3e7bafa 100755
--- a/packaging/fedora/setup/engine-setup.py
+++ b/packaging/fedora/setup/engine-setup.py
@@ -1642,7 +1642,8 @@
 
 def _addIsoDomaintoDB(uuid, description):
     logging.debug("Adding iso domain into DB")
-    sqlQuery = "select inst_add_iso_storage_domain ('%s', '%s', '%s:%s', %s, 
%s)" % (uuid, description, controller.CONF["HOST_FQDN"], 
controller.CONF["NFS_MP"], 0, 0)
+    connectionId = nfsutils.generateUUID()
+    sqlQuery = "select inst_add_iso_storage_domain ('%s', '%s', '%s', '%s:%s', 
%s, %s)" % (uuid, description, connectionId, controller.CONF["HOST_FQDN"], 
controller.CONF["NFS_MP"], 0, 0)
     utils.execRemoteSqlCommand(getDbUser(), getDbHostName(), getDbPort(), 
basedefs.DB_NAME, sqlQuery, True, 
output_messages.ERR_FAILED_INSERT_ISO_DOMAIN%(basedefs.DB_NAME))
 
 def _startNfsServices():


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idecd3aa570017b4198243a9d3f9ebfdc7a777195
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Juan Hernandez <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to