Gilad Chaplik has uploaded a new change for review. Change subject: engine: scheduling: add cluster overbooking ......................................................................
engine: scheduling: add cluster overbooking Added an option to the user to enable parallel VM schduling for cluster. by default this feature is hidden from the user (unless setting config.OptimizeSchedulerAllowOverBookingSupported to true). Change-Id: If52abf9974ab71b1f8d52ca268dac8dc39b89dc8 Signed-off-by: Gilad Chaplik <gchap...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.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/config/ConfigValues.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsGroupDAODbFacadeImpl.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml A packaging/dbscripts/upgrade/03_03_0880_add_vds_group_scheduling_allow_overbooking.sql M packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql M packaging/dbscripts/vds_groups_sp.sql M packaging/etc/engine-config/engine-config.properties 15 files changed, 88 insertions(+), 10 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/19272/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java index 70bbe9c..dc5fd53 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java @@ -173,7 +173,10 @@ VdsFreeMemoryChecker memoryChecker) { clusterLockMap.putIfAbsent(cluster.getId(), new Semaphore(1)); try { - clusterLockMap.get(cluster.getId()).acquire(); + if (!cluster.isSchedulerAllowOverbooking() + || !Config.<Boolean> GetValue(ConfigValues.OptimizeSchedulerAllowOverBookingSupported)) { + clusterLockMap.get(cluster.getId()).acquire(); + } List<VDS> vdsList = getVdsDAO() .getAllForVdsGroupWithStatus(cluster.getId(), VDSStatus.Up); updateInitialHostList(vdsList, hostBlackList, true); 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 48498ca..216845a 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 @@ -78,6 +78,8 @@ private boolean schedulerOptimizeForSpeed; + private boolean schedulerAllowOverbooking; + public VDSGroup() { migrateOnError = MigrateOnErrorOptions.YES; name = ""; @@ -275,6 +277,14 @@ this.schedulerOptimizeForSpeed = schedulerOptimizeForSpeed; } + public boolean isSchedulerAllowOverbooking() { + return schedulerAllowOverbooking; + } + + public void setSchedulerAllowOverbooking(boolean schedulerAllowOverbooking) { + this.schedulerAllowOverbooking = schedulerAllowOverbooking; + } + @Override public int hashCode() { final int prime = 31; @@ -300,6 +310,7 @@ result = prime * result + (clusterPolicyProperties == null ? 0 : clusterPolicyProperties.hashCode()); result = prime * result + (enableBallooning ? 1231 : 1237); result = prime * result + (schedulerOptimizeForSpeed ? 1231 : 1237); + result = prime * result + (schedulerAllowOverbooking ? 1231 : 1237); return result; } @@ -336,6 +347,7 @@ && ObjectUtils.objectsEqual(clusterPolicyName, other.clusterPolicyName) && ObjectUtils.objectsEqual(clusterPolicyProperties, other.clusterPolicyProperties) && enableBallooning == other.enableBallooning - && schedulerOptimizeForSpeed == other.schedulerOptimizeForSpeed); + && schedulerOptimizeForSpeed == other.schedulerOptimizeForSpeed + && schedulerAllowOverbooking == other.schedulerAllowOverbooking); } } 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 0e16f75..bd631f5 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 @@ -1517,6 +1517,10 @@ @DefaultValueAttribute("10") OptimizeSchedulerForSpeedPendingRequests(539), + @TypeConverterAttribute(Boolean.class) + @DefaultValueAttribute("false") + OptimizeSchedulerAllowOverBookingSupported(540), + Invalid(65535); private int intValue; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java index 2d91607..ee261e1 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java @@ -106,7 +106,8 @@ MaxVmNameLengthWindows(ConfigAuthType.User), MaxVmNameLengthNonWindows(ConfigAuthType.User), AttestationServer, - OptimizeSchedulerForSpeedPendingRequests + OptimizeSchedulerForSpeedPendingRequests, + OptimizeSchedulerAllowOverBookingSupported ; public static enum ConfigAuthType { 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 4045a8e..d2a56b6 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 @@ -169,7 +169,8 @@ .addValue("cluster_policy_custom_properties", SerializationFactory.getSerializer().serialize(group.getClusterPolicyProperties())) .addValue("enable_balloon", group.isEnableBallooning()) - .addValue("optimize_for_speed", group.isSchedulerOptimizeForSpeed()); + .addValue("optimize_for_speed", group.isSchedulerOptimizeForSpeed()) + .addValue("allow_overbooking", group.isSchedulerAllowOverbooking()); return parameterSource; } @@ -209,6 +210,7 @@ .deserializeOrCreateNew(rs.getString("cluster_policy_custom_properties"), LinkedHashMap.class)); entity.setEnableBallooning(rs.getBoolean("enable_balloon")); entity.setSchedulerOptimizeForSpeed(rs.getBoolean("optimize_for_speed")); + entity.setSchedulerAllowOverbooking(rs.getBoolean("allow_overbooking")); return entity; } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java index bb17616..8a171e4 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/dataprovider/AsyncDataProvider.java @@ -3281,4 +3281,9 @@ return (Integer) getConfigValuePreConverted(ConfigurationValues.OptimizeSchedulerForSpeedPendingRequests, getDefaultConfigurationVersion()); } + + public static boolean getScheudulingAllowOverbookingSupported() { + return (Boolean) getConfigValuePreConverted(ConfigurationValues.OptimizeSchedulerAllowOverBookingSupported, + getDefaultConfigurationVersion()); + } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java index 460d696..69b0494 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterListModel.java @@ -370,6 +370,7 @@ } clusterModel.getOptimizeForSpeed().setEntity(cluster.isSchedulerOptimizeForSpeed()); + clusterModel.getAllowOverbooking().setEntity(cluster.isSchedulerAllowOverbooking()); AsyncDataProvider.getAllowClusterWithVirtGlusterEnabled(new AsyncQuery(this, new INewAsyncCallback() { @Override @@ -640,6 +641,7 @@ cluster.setClusterPolicyId(((ClusterPolicy) model.getClusterPolicy().getSelectedItem()).getId()); cluster.setClusterPolicyProperties(KeyValueModel.convertProperties(model.getCustomPropertySheet().getEntity())); cluster.setSchedulerOptimizeForSpeed((Boolean) model.getOptimizeForSpeed().getEntity()); + cluster.setSchedulerAllowOverbooking((Boolean) model.getAllowOverbooking().getEntity()); model.startProgress(null); diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java index beb0dfc..72f2002 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/clusters/ClusterModel.java @@ -508,6 +508,16 @@ this.optimizeForSpeed = optimizeForSpeed; } + private EntityModel allowOverbooking; + + public EntityModel getAllowOverbooking() { + return allowOverbooking; + } + + public void setAllowOverbooking(EntityModel allowOverbooking) { + this.allowOverbooking = allowOverbooking; + } + private boolean isGeneralTabValid; public boolean getIsGeneralTabValid() @@ -836,6 +846,10 @@ getOptimizeForUtilization().getEntityChangedEvent().addListener(this); getOptimizeForSpeed().getEntityChangedEvent().addListener(this); + setAllowOverbooking(new EntityModel()); + getAllowOverbooking().setEntity(false); + getAllowOverbooking().setIsAvailable(AsyncDataProvider.getScheudulingAllowOverbookingSupported()); + AsyncQuery _asyncQuery = new AsyncQuery(); _asyncQuery.setModel(this); _asyncQuery.asyncCallback = new INewAsyncCallback() { diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java index 52f30b9..83065bf 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/ApplicationConstants.java @@ -3249,4 +3249,10 @@ @DefaultStringValue("Scheduler Optimization") String schedulerOptimizationPanelLabel(); + @DefaultStringValue("Allow Overbooking") + String allowOverbookingLabel(); + + @DefaultStringValue("Allows running cluster's scheulding requests in parallel, which may cause in " + + "overbooking of cluster's resources") + String allowSchedulingOverbookingInfo(); } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java index daf413f..0ad66dd 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.java @@ -256,6 +256,9 @@ InfoIcon schedulerOptimizationInfoIcon; @UiField(provided = true) + InfoIcon allowOverbookingInfoIcon; + + @UiField(provided = true) @Path(value = "optimizeForUtilization.entity") @WithElementId EntityModelRadioButtonEditor optimizeForUtilizationEditor; @@ -264,6 +267,11 @@ @Path(value = "optimizeForSpeed.entity") @WithElementId EntityModelRadioButtonEditor optimizeForSpeedEditor; + + @UiField(provided = true) + @Path(value = "allowOverbooking.entity") + @WithElementId + EntityModelCheckBoxEditor allowOverbookingEditor; private final Driver driver = GWT.create(Driver.class); @@ -303,7 +311,7 @@ countThreadsAsCoresEditor.setContentWidgetStyleName(style.fullWidth()); enableTrustedServiceEditor.setContentWidgetStyleName(style.fullWidth()); - + allowOverbookingEditor.setContentWidgetStyleName(style.allowOverbookingContentWidget()); } private void localize(ApplicationConstants constants) { @@ -351,6 +359,7 @@ schedulerOptimizationPanelTitle.setText(constants.schedulerOptimizationPanelLabel()); optimizeForUtilizationEditor.setLabel(constants.optimizeForUtilizationLabel()); optimizeForSpeedEditor.setLabel(constants.optimizeForSpeedLabel()); + allowOverbookingEditor.setLabel(constants.allowOverbookingLabel()); } private void initRadioButtonEditors() { @@ -412,6 +421,7 @@ enableBallooning = new EntityModelCheckBoxEditor(Align.RIGHT); enableBallooning.getContentWidgetContainer().setWidth("350px"); //$NON-NLS-1$ + allowOverbookingEditor = new EntityModelCheckBoxEditor(Align.RIGHT); } private void initInfoIcons(ApplicationResources resources, ApplicationConstants constants, ApplicationTemplates templates) @@ -420,6 +430,9 @@ cpuThreadsInfo = new InfoIcon(templates.italicFixedWidth("600px", constants.clusterPopupCpuThreadsInfo()), resources); //$NON-NLS-1$ schedulerOptimizationInfoIcon = new InfoIcon(SafeHtmlUtils.EMPTY_SAFE_HTML, resources); + + allowOverbookingInfoIcon = + new InfoIcon(templates.italicFixedWidth("350px", constants.allowSchedulingOverbookingInfo()), resources); //$NON-NLS-1$ } private void applyModeCustomizations() { @@ -509,6 +522,7 @@ templates.italicFixedWidth("350px",//$NON-NLS-1$ object.getSchedulerOptimizationInfoMessage()).asString() .replaceAll("(\r\n|\n)", "<br />"))); //$NON-NLS-1$ //$NON-NLS-2$ + allowOverbookingInfoIcon.setVisible(allowOverbookingEditor.isVisible()); } private void optimizationForServerFormatter(ClusterModel object) { @@ -563,6 +577,8 @@ String fullWidth(); String timeTextBoxEditorWidget(); + + String allowOverbookingContentWidget(); } } diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml index 3c2ebe7..3d17b27 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterPopupView.ui.xml @@ -136,6 +136,9 @@ margin-top: 10px; margin-bottom: 5px; } + .allowOverbookingContentWidget { + width: 100%; + } </ui:style> <d:SimpleDialogPanel width="620px" height="560px"> @@ -222,6 +225,10 @@ <e:EntityModelRadioButtonEditor ui:field="optimizeForUtilizationEditor" addStyleNames="{style.label}" /> <e:EntityModelRadioButtonEditor ui:field="optimizeForSpeedEditor" addStyleNames="{style.label}" /> </g:FlowPanel> + <g:HorizontalPanel> + <e:EntityModelCheckBoxEditor ui:field="allowOverbookingEditor"/> + <d:InfoIcon ui:field="allowOverbookingInfoIcon" addStyleNames="{style.panelInfo}" /> + </g:HorizontalPanel> <g:FlowPanel ui:field="additionPropsPanel" addStyleNames="{style.nestedSubsequentPanel}"> <g:Label ui:field="additionPropsPanelTitle" addStyleNames="{style.panelTitle}" /> <e:EntityModelCheckBoxEditor ui:field="enableTrustedServiceEditor" /> diff --git a/packaging/dbscripts/upgrade/03_03_0880_add_vds_group_scheduling_allow_overbooking.sql b/packaging/dbscripts/upgrade/03_03_0880_add_vds_group_scheduling_allow_overbooking.sql new file mode 100644 index 0000000..05ae7b4 --- /dev/null +++ b/packaging/dbscripts/upgrade/03_03_0880_add_vds_group_scheduling_allow_overbooking.sql @@ -0,0 +1 @@ +select fn_db_add_column('vds_groups', 'allow_overbooking', 'boolean not null default false'); diff --git a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql index b219b7d..1764684 100644 --- a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql +++ b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql @@ -376,6 +376,7 @@ select fn_db_add_config_value('MTUOverrideSupported','true','3.2'); select fn_db_add_config_value('MTUOverrideSupported','true','3.3'); select fn_db_add_config_value('OptimizeSchedulerForSpeedPendingRequests','10','general'); +select fn_db_add_config_value('OptimizeSchedulerAllowOverBookingSupported','false','general'); --Handling Organization Name select fn_db_add_config_value('OrganizationName','oVirt','general'); select fn_db_add_config_value('OriginType','OVIRT','general'); diff --git a/packaging/dbscripts/vds_groups_sp.sql b/packaging/dbscripts/vds_groups_sp.sql index 1981cea..0d3f850 100644 --- a/packaging/dbscripts/vds_groups_sp.sql +++ b/packaging/dbscripts/vds_groups_sp.sql @@ -27,15 +27,16 @@ v_cluster_policy_id UUID, v_cluster_policy_custom_properties text, v_enable_balloon BOOLEAN, - v_optimize_for_speed BOOLEAN) + v_optimize_for_speed BOOLEAN, + v_allow_overbooking BOOLEAN) 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, trusted_service, cluster_policy_id, - cluster_policy_custom_properties, enable_balloon, optimize_for_speed) + cluster_policy_custom_properties, enable_balloon, optimize_for_speed, allow_overbooking) 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_trusted_service, v_cluster_policy_id, v_cluster_policy_custom_properties, v_enable_balloon, v_optimize_for_speed); + v_transparent_hugepages, v_migrate_on_error, v_virt_service, v_gluster_service, v_tunnel_migration, v_emulated_machine, v_trusted_service, v_cluster_policy_id, v_cluster_policy_custom_properties, v_enable_balloon, v_optimize_for_speed, v_allow_overbooking); END; $procedure$ LANGUAGE plpgsql; @@ -62,7 +63,8 @@ v_cluster_policy_id UUID, v_cluster_policy_custom_properties text, v_enable_balloon BOOLEAN, - v_optimize_for_speed BOOLEAN) + v_optimize_for_speed BOOLEAN, + v_allow_overbooking BOOLEAN) RETURNS VOID --The [vds_groups] table doesn't have a timestamp column. Optimistic concurrency logic cannot be generated @@ -78,7 +80,7 @@ virt_service = v_virt_service, gluster_service = v_gluster_service, tunnel_migration = v_tunnel_migration, emulated_machine = v_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, - optimize_for_speed = v_optimize_for_speed + optimize_for_speed = v_optimize_for_speed, allow_overbooking = v_allow_overbooking WHERE vds_group_id = v_vds_group_id; END; $procedure$ LANGUAGE plpgsql; diff --git a/packaging/etc/engine-config/engine-config.properties b/packaging/etc/engine-config/engine-config.properties index 9a2401d..84232db 100644 --- a/packaging/etc/engine-config/engine-config.properties +++ b/packaging/etc/engine-config/engine-config.properties @@ -73,6 +73,8 @@ MaxSchedulerWeight.type=Integer OptimizeSchedulerForSpeedPendingRequests.description="Skip Host weights if there are more than X requests pending for scheduling" OptimizeSchedulerForSpeedPendingRequests.type=Integer +OptimizeSchedulerAllowOverBookingSupported.description="Disable Scheduling synchronization, which could result in overbooking" +OptimizeSchedulerAllowOverBookingSupported.type=Boolean MaxStorageVdsDelayCheckSec.description="Max delay for check of domain in seconds" MaxStorageVdsDelayCheckSec.type=Integer MaxStorageVdsTimeoutCheckSec.description="Max timeout for last check of domain in seconds" -- To view, visit http://gerrit.ovirt.org/19272 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If52abf9974ab71b1f8d52ca268dac8dc39b89dc8 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches