Tomas Jelinek has uploaded a new change for review. Change subject: engine: added spice proxy to vds and vm_static ......................................................................
engine: added spice proxy to vds and vm_static This patch adds the spice_proxy field to vds and to vm_static. The meaning of this field is to give the possibility to override the SpiceProxyDefault configuration from vdc_options on two different levels (cluster and pool). Change-Id: I5dd4f5ef908464d75af6911eedf2dd053d07cb9e Signed-off-by: Tomas Jelinek <tjeli...@redhat.com> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VDSGroup.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmStatic.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/VmDAODbFacadeImpl.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java M packaging/dbscripts/create_views.sql A packaging/dbscripts/upgrade/03_04_0130_add_spice_proxy_to_vds_groups_and_vm_static.sql M packaging/dbscripts/vds_groups_sp.sql M packaging/dbscripts/vms_sp.sql 11 files changed, 72 insertions(+), 16 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/18/21518/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java index 10d2c83..027fe66 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/BusinessEntitiesDefinitions.java @@ -92,4 +92,6 @@ // Jobs public static final int CORRELATION_ID_SIZE = 50; + // SPICE + public static final int SPICE_PROXY_ADDR_SIZE = 255; } 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 1394299..7b89d5d 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 @@ -72,6 +72,9 @@ private String clusterPolicyName; + @Size(max = BusinessEntitiesDefinitions.GENERAL_MAX_SIZE) + private String spiceProxy; + private Map<String, String> clusterPolicyProperties; private boolean detectEmulatedMachine; @@ -274,6 +277,14 @@ return detectEmulatedMachine; } + public String getSpiceProxy() { + return spiceProxy; + } + + public void setSpiceProxy(String spiceProxy) { + this.spiceProxy = spiceProxy; + } + @Override public int hashCode() { final int prime = 31; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java index e598608..c1f53cf 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VM.java @@ -34,6 +34,8 @@ private List<Snapshot> snapshots; private boolean runOnce; + private String vdsGroupSpiceProxy; + private InitializationType initializationType; private Map<VmDevice, Map<String, String>> runtimeDeviceCustomProperties; @@ -1608,6 +1610,22 @@ vmStatic.setImageTypeId(ImageTypeId); } + public String getSpiceProxy() { + return vmStatic.getSpiceProxy(); + } + + public void setSpiceProxy(String spiceProxy) { + vmStatic.setSpiceProxy(spiceProxy); + } + + public String getVdsGroupSpiceProxy() { + return vdsGroupSpiceProxy; + } + + public void setVdsGroupSpiceProxy(String vdsGroupSpiceProxy) { + this.vdsGroupSpiceProxy = vdsGroupSpiceProxy; + } + public void clearDisks() { getDiskList().clear(); getDiskMap().clear(); diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmStatic.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmStatic.java index 3c7d6dd..ccad41f 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmStatic.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmStatic.java @@ -44,6 +44,10 @@ @EditableField private boolean useHostCpuFlags; + @EditableField + @Size(max = BusinessEntitiesDefinitions.GENERAL_MAX_SIZE) + private String spiceProxy; + private Guid instanceTypeId; private Guid imageTypeId; @@ -103,6 +107,7 @@ setDedicatedVmForVds(vmStatic.getDedicatedVmForVds()); setMigrationSupport(vmStatic.getMigrationSupport()); setAllowConsoleReconnect(vmStatic.isAllowConsoleReconnect()); + setSpiceProxy(vmStatic.getSpiceProxy()); } public String getCustomProperties() { @@ -251,4 +256,12 @@ public void setImageTypeId(Guid imageTypeId) { this.imageTypeId = imageTypeId; } + + public String getSpiceProxy() { + return spiceProxy; + } + + public void setSpiceProxy(String spiceProxy) { + this.spiceProxy = spiceProxy; + } } 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 989c56f..9a5747f 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 @@ -171,7 +171,8 @@ .addValue("cluster_policy_id", group.getClusterPolicyId()) .addValue("cluster_policy_custom_properties", SerializationFactory.getSerializer().serialize(group.getClusterPolicyProperties())) - .addValue("enable_balloon", group.isEnableBallooning()); + .addValue("enable_balloon", group.isEnableBallooning()) + .addValue("spice_proxy", group.getSpiceProxy()); return parameterSource; } @@ -211,7 +212,7 @@ entity.setClusterPolicyProperties(SerializationFactory.getDeserializer() .deserializeOrCreateNew(rs.getString("cluster_policy_custom_properties"), LinkedHashMap.class)); entity.setEnableBallooning(rs.getBoolean("enable_balloon")); - + entity.setSpiceProxy(rs.getString("spice_proxy")); return entity; } } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java index cc4c420..14e4f39 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java @@ -375,6 +375,8 @@ entity.setCpuName(rs.getString("cpu_name")); entity.setInstanceTypeId(Guid.createGuidFromString(rs.getString("instance_type_id"))); entity.setImageTypeId(Guid.createGuidFromString(rs.getString("image_type_id"))); + entity.setSpiceProxy(rs.getString("spice_proxy")); + entity.setVdsGroupSpiceProxy(rs.getString("vds_group_spice_proxy")); return entity; } } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java index 1b55722..b5d57be 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java @@ -91,7 +91,8 @@ .addValue("is_run_and_pause", vm.isRunAndPause()) .addValue("created_by_user_id", vm.getCreatedByUserId()) .addValue("instance_type_id", vm.getInstanceTypeId()) - .addValue("image_type_id", vm.getImageTypeId()); + .addValue("image_type_id", vm.getImageTypeId()) + .addValue("spice_proxy", vm.getSpiceProxy()); } @Override @@ -223,6 +224,7 @@ entity.setVncKeyboardLayout(rs.getString("vnc_keyboard_layout")); entity.setInstanceTypeId(Guid.createGuidFromString(rs.getString("instance_type_id"))); entity.setImageTypeId(Guid.createGuidFromString(rs.getString("image_type_id"))); + entity.setSpiceProxy(rs.getString("spice_proxy")); return entity; } diff --git a/packaging/dbscripts/create_views.sql b/packaging/dbscripts/create_views.sql index 6493872..18c093a 100644 --- a/packaging/dbscripts/create_views.sql +++ b/packaging/dbscripts/create_views.sql @@ -570,10 +570,10 @@ SELECT vm_static.vm_name as vm_name, vm_static.mem_size_mb as vm_mem_size_mb, vm_static.nice_level as nice_level, vm_static.cpu_shares as cpu_shares, vm_static.vmt_guid as vmt_guid, vm_static.os as vm_os, vm_static.description as vm_description, vm_static.free_text_comment as vm_comment, vm_static.vds_group_id as vds_group_id, vm_static.domain as vm_domain, vm_static.creation_date as vm_creation_date, vm_static.auto_startup as auto_startup, vm_static.is_stateless as is_stateless, vm_static.is_smartcard_enabled as is_smartcard_enabled, vm_static.is_delete_protected as is_delete_protected, vm_static.dedicated_vm_for_vds as dedicated_vm_for_vds, - vm_static.fail_back as fail_back, vm_static.default_boot_sequence as default_boot_sequence, vm_static.vm_type as vm_type, + vm_static.fail_back as fail_back, vm_static.default_boot_sequence as default_boot_sequence, vm_static.vm_type as vm_type, vm_static.spice_proxy as spice_proxy, vds_groups.name as vds_group_name, vds_groups.transparent_hugepages as transparent_hugepages, vds_groups.trusted_service as trusted_service, storage_pool.id as storage_pool_id, storage_pool.name as storage_pool_name, - vds_groups.description as vds_group_description, vm_templates.vm_name as vmt_name, + vds_groups.description as vds_group_description, vds_groups.spice_proxy as vds_group_spice_proxy, vm_templates.vm_name as vmt_name, vm_templates.mem_size_mb as vmt_mem_size_mb, vm_templates.os as vmt_os, vm_templates.creation_date as vmt_creation_date, vm_templates.child_count as vmt_child_count, vm_templates.num_of_sockets as vmt_num_of_sockets, vm_templates.cpu_per_socket as vmt_cpu_per_socket, vm_templates.num_of_sockets*vm_templates.cpu_per_socket as vmt_num_of_cpus, @@ -633,7 +633,7 @@ vms.exit_status, vms.exit_message, vms.min_allocated_mem, storage_domain_static.id AS storage_id, vms.quota_id as quota_id, vms.quota_name as quota_name, vms.tunnel_migration as tunnel_migration, vms.vnc_keyboard_layout as vnc_keyboard_layout, vms.is_run_and_pause as is_run_and_pause, vms.created_by_user_id as created_by_user_id, vms.vm_fqdn, vms.cpu_name as cpu_name, - vms.instance_type_id as instance_type_id, vms.image_type_id as image_type_id + vms.instance_type_id as instance_type_id, vms.image_type_id as image_type_id, vms.spice_proxy as spice_proxy, vms.vds_group_spice_proxy as vds_group_spice_proxy FROM vms LEFT OUTER JOIN tags_vm_map_view ON vms.vm_guid = tags_vm_map_view.vm_id LEFT OUTER JOIN vm_device ON vm_device.vm_id = vms.vm_guid LEFT OUTER JOIN diff --git a/packaging/dbscripts/upgrade/03_04_0130_add_spice_proxy_to_vds_groups_and_vm_static.sql b/packaging/dbscripts/upgrade/03_04_0130_add_spice_proxy_to_vds_groups_and_vm_static.sql new file mode 100644 index 0000000..c2472e0 --- /dev/null +++ b/packaging/dbscripts/upgrade/03_04_0130_add_spice_proxy_to_vds_groups_and_vm_static.sql @@ -0,0 +1,2 @@ +select fn_db_add_column('vds_groups', 'spice_proxy', 'varchar(255)'); +select fn_db_add_column('vm_static', 'spice_proxy', 'varchar(255)'); diff --git a/packaging/dbscripts/vds_groups_sp.sql b/packaging/dbscripts/vds_groups_sp.sql index 7d47129..ba4e679 100644 --- a/packaging/dbscripts/vds_groups_sp.sql +++ b/packaging/dbscripts/vds_groups_sp.sql @@ -27,15 +27,16 @@ v_trusted_service BOOLEAN, v_cluster_policy_id UUID, v_cluster_policy_custom_properties text, - v_enable_balloon BOOLEAN) + v_enable_balloon BOOLEAN, + v_spice_proxy VARCHAR(255)) RETURNS VOID AS $procedure$ BEGIN INSERT INTO vds_groups(vds_group_id,description, name, free_text_comment, cpu_name, storage_pool_id, max_vds_memory_over_commit, count_threads_as_cores, compatibility_version, transparent_hugepages, migrate_on_error, virt_service, gluster_service, tunnel_migration, emulated_machine, detect_emulated_machine, trusted_service, cluster_policy_id, - cluster_policy_custom_properties, enable_balloon) + cluster_policy_custom_properties, enable_balloon, spice_proxy) VALUES(v_vds_group_id,v_description, v_name, v_free_text_comment, v_cpu_name, v_storage_pool_id, v_max_vds_memory_over_commit, v_count_threads_as_cores, v_compatibility_version, - v_transparent_hugepages, v_migrate_on_error, v_virt_service, v_gluster_service, v_tunnel_migration, v_emulated_machine, v_detect_emulated_machine, v_trusted_service, v_cluster_policy_id, v_cluster_policy_custom_properties, v_enable_balloon); + v_transparent_hugepages, v_migrate_on_error, v_virt_service, v_gluster_service, v_tunnel_migration, v_emulated_machine, v_detect_emulated_machine, v_trusted_service, v_cluster_policy_id, v_cluster_policy_custom_properties, v_enable_balloon, v_spice_proxy); END; $procedure$ LANGUAGE plpgsql; @@ -62,7 +63,9 @@ v_trusted_service BOOLEAN, v_cluster_policy_id UUID, v_cluster_policy_custom_properties text, - v_enable_balloon BOOLEAN) + v_enable_balloon BOOLEAN, + v_spice_proxy VARCHAR(255) +) RETURNS VOID --The [vds_groups] table doesn't have a timestamp column. Optimistic concurrency logic cannot be generated @@ -77,7 +80,7 @@ migrate_on_error = v_migrate_on_error, virt_service = v_virt_service, gluster_service = v_gluster_service, tunnel_migration = v_tunnel_migration, emulated_machine = v_emulated_machine, detect_emulated_machine = v_detect_emulated_machine, trusted_service = v_trusted_service, cluster_policy_id = v_cluster_policy_id, - cluster_policy_custom_properties = v_cluster_policy_custom_properties, enable_balloon = v_enable_balloon + cluster_policy_custom_properties = v_cluster_policy_custom_properties, enable_balloon = v_enable_balloon, spice_proxy = v_spice_proxy WHERE vds_group_id = v_vds_group_id; END; $procedure$ LANGUAGE plpgsql; diff --git a/packaging/dbscripts/vms_sp.sql b/packaging/dbscripts/vms_sp.sql index 653f726..c1cfad0 100644 --- a/packaging/dbscripts/vms_sp.sql +++ b/packaging/dbscripts/vms_sp.sql @@ -445,12 +445,13 @@ v_is_run_and_pause BOOLEAN, v_created_by_user_id UUID, v_instance_type_id UUID, - v_image_type_id UUID) + v_image_type_id UUID, + v_spice_proxy VARCHAR(255)) RETURNS VOID AS $procedure$ BEGIN -INSERT INTO vm_static(description, free_text_comment, mem_size_mb, os, vds_group_id, vm_guid, VM_NAME, vmt_guid,domain,creation_date,num_of_monitors, single_qxl_pci, allow_console_reconnect,is_initialized,num_of_sockets,cpu_per_socket,usb_policy, time_zone,auto_startup,is_stateless,dedicated_vm_for_vds, fail_back, default_boot_sequence, vm_type, nice_level, cpu_shares, default_display_type, priority,iso_path,origin,initrd_url,kernel_url,kernel_params,migration_support,predefined_properties,userdefined_properties,min_allocated_mem, entity_type, quota_id, cpu_pinning, is_smartcard_enabled,is_delete_protected,host_cpu_flags, tunnel_migration, vnc_keyboard_layout, is_run_and_pause, created_by_user_id, instance_type_id, image_type_id) - VALUES(v_description, v_free_text_comment, v_mem_size_mb, v_os, v_vds_group_id, v_vm_guid, v_vm_name, v_vmt_guid, v_domain, v_creation_date, v_num_of_monitors,v_single_qxl_pci, v_allow_console_reconnect, v_is_initialized, v_num_of_sockets, v_cpu_per_socket, v_usb_policy, v_time_zone, v_auto_startup,v_is_stateless,v_dedicated_vm_for_vds,v_fail_back, v_default_boot_sequence, v_vm_type, v_nice_level, v_cpu_shares, v_default_display_type, v_priority,v_iso_path,v_origin,v_initrd_url,v_kernel_url,v_kernel_params,v_migration_support,v_predefined_properties,v_userdefined_properties,v_min_allocated_mem, 'VM', v_quota_id, v_cpu_pinning, v_is_smartcard_enabled,v_is_delete_protected,v_host_cpu_flags, v_tunnel_migration, v_vnc_keyboard_layout, v_is_run_and_pause, v_created_by_user_id, v_instance_type_id, v_image_type_id); +INSERT INTO vm_static(description, free_text_comment, mem_size_mb, os, vds_group_id, vm_guid, VM_NAME, vmt_guid,domain,creation_date,num_of_monitors, single_qxl_pci, allow_console_reconnect,is_initialized,num_of_sockets,cpu_per_socket,usb_policy, time_zone,auto_startup,is_stateless,dedicated_vm_for_vds, fail_back, default_boot_sequence, vm_type, nice_level, cpu_shares, default_display_type, priority,iso_path,origin,initrd_url,kernel_url,kernel_params,migration_support,predefined_properties,userdefined_properties,min_allocated_mem, entity_type, quota_id, cpu_pinning, is_smartcard_enabled,is_delete_protected,host_cpu_flags, tunnel_migration, vnc_keyboard_layout, is_run_and_pause, created_by_user_id, instance_type_id, image_type_id, spice_proxy) + VALUES(v_description, v_free_text_comment, v_mem_size_mb, v_os, v_vds_group_id, v_vm_guid, v_vm_name, v_vmt_guid, v_domain, v_creation_date, v_num_of_monitors,v_single_qxl_pci, v_allow_console_reconnect, v_is_initialized, v_num_of_sockets, v_cpu_per_socket, v_usb_policy, v_time_zone, v_auto_startup,v_is_stateless,v_dedicated_vm_for_vds,v_fail_back, v_default_boot_sequence, v_vm_type, v_nice_level, v_cpu_shares, v_default_display_type, v_priority,v_iso_path,v_origin,v_initrd_url,v_kernel_url,v_kernel_params,v_migration_support,v_predefined_properties,v_userdefined_properties,v_min_allocated_mem, 'VM', v_quota_id, v_cpu_pinning, v_is_smartcard_enabled,v_is_delete_protected,v_host_cpu_flags, v_tunnel_migration, v_vnc_keyboard_layout, v_is_run_and_pause, v_created_by_user_id, v_instance_type_id, v_image_type_id, v_spice_proxy); -- perform deletion from vm_ovf_generations to ensure that no record exists when performing insert to avoid PK violation. DELETE FROM vm_ovf_generations gen WHERE gen.vm_guid = v_vm_guid; INSERT INTO vm_ovf_generations(vm_guid, storage_pool_id) VALUES (v_vm_guid, (SELECT storage_pool_id FROM vds_groups vg WHERE vg.vds_group_id = v_vds_group_id)); @@ -566,7 +567,8 @@ v_is_run_and_pause BOOLEAN, v_created_by_user_id UUID, v_instance_type_id UUID, -v_image_type_id UUID) +v_image_type_id UUID, +v_spice_proxy VARCHAR(255)) RETURNS VOID --The [vm_static] table doesn't have a timestamp column. Optimistic concurrency logic cannot be generated @@ -593,7 +595,7 @@ min_allocated_mem = v_min_allocated_mem, quota_id = v_quota_id, cpu_pinning = v_cpu_pinning, is_smartcard_enabled = v_is_smartcard_enabled, is_delete_protected = v_is_delete_protected, host_cpu_flags = v_host_cpu_flags, tunnel_migration = v_tunnel_migration, vnc_keyboard_layout = v_vnc_keyboard_layout, is_run_and_pause = v_is_run_and_pause, created_by_user_id = v_created_by_user_id, - instance_type_id = v_instance_type_id, image_type_id = v_image_type_id + instance_type_id = v_instance_type_id, image_type_id = v_image_type_id, spice_proxy = v_spice_proxy WHERE vm_guid = v_vm_guid AND entity_type = 'VM'; END; $procedure$ -- To view, visit http://gerrit.ovirt.org/21518 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5dd4f5ef908464d75af6911eedf2dd053d07cb9e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Tomas Jelinek <tjeli...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches