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
