Libor Spevak has uploaded a new change for review. Change subject: core,webadmin: Show Pools tab based on tree ......................................................................
core,webadmin: Show Pools tab based on tree Tab Pools was shown only for System node when selected in left tree panel. New support for Datacenter and Cluster filtering is available. oVirt query language had to be extended in new syntax: Pools: cluster = XXXX Pools: datacenter = XXXX Change-Id: I39c39366865ff6a62d30fab993685c72e0c39e10 Bug-Url: https://bugzilla.redhat.com/846284 Signed-off-by: Libor Spevak <lspe...@redhat.com> --- M backend/manager/dbscripts/create_views.sql M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/PoolConditionFieldAutoCompleter.java M backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java 4 files changed, 38 insertions(+), 31 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/73/14073/1 diff --git a/backend/manager/dbscripts/create_views.sql b/backend/manager/dbscripts/create_views.sql index 560fd17..c728fb1 100644 --- a/backend/manager/dbscripts/create_views.sql +++ b/backend/manager/dbscripts/create_views.sql @@ -761,30 +761,24 @@ -CREATE OR REPLACE VIEW vm_pools_view -AS -SELECT vm_pools.vm_pool_id as vm_pool_id, vm_pools.vm_pool_name as vm_pool_name, vm_pools.vm_pool_description as vm_pool_description, vm_pools.vm_pool_type as vm_pool_type, - vm_pools.parameters as parameters, vm_pools.prestarted_vms as prestarted_vms, vm_pools.vds_group_id as vds_group_id, vds_groups.name as vds_group_name -FROM vm_pools INNER JOIN -vds_groups ON vm_pools.vds_group_id = vds_groups.vds_group_id; +CREATE OR REPLACE VIEW vm_pools_view AS + SELECT vm_pools.vm_pool_id, vm_pools.vm_pool_name, vm_pools.vm_pool_description, vm_pools.vm_pool_type, vm_pools.parameters, vm_pools.prestarted_vms, vm_pools.vds_group_id, vds_groups.name AS vds_group_name, storage_pool.name as storage_pool_name, storage_pool.id as storage_pool_id + FROM vm_pools + JOIN vds_groups ON vm_pools.vds_group_id = vds_groups.vds_group_id + JOIN storage_pool ON storage_pool.id = vds_groups.storage_pool_id; -CREATE OR REPLACE VIEW vm_pools_full_view -AS - -SELECT vm_pool_id as vm_pool_id, vm_pool_name as vm_pool_name, vm_pool_description as vm_pool_description, vm_pool_type as vm_pool_type, parameters as parameters, prestarted_vms as prestarted_vms, vds_group_id as vds_group_id, vds_group_name as vds_group_name, - (SELECT COUNT(vm_pool_map.vm_pool_id) as Expr1 - FROM vm_pools_view AS v1 LEFT OUTER JOIN - vm_pool_map ON v1.vm_pool_id = vm_pool_map.vm_pool_id AND v1.vm_pool_id = vmp.vm_pool_id) as assigned_vm_count, - (SELECT COUNT(v2.vm_pool_id) as Expr1 - FROM vm_pools AS v2 LEFT OUTER JOIN - vm_pool_map AS vm_pool_map_1 ON v2.vm_pool_id = vm_pool_map_1.vm_pool_id AND - v2.vm_pool_id = vmp.vm_pool_id LEFT OUTER JOIN - vm_dynamic ON vm_pool_map_1.vm_guid = vm_dynamic.vm_guid - WHERE vm_dynamic.status not in(0,15) - GROUP BY v2.vm_pool_id) as vm_running_count -FROM vm_pools_view AS vmp; +CREATE OR REPLACE VIEW vm_pools_full_view AS + SELECT vmp.vm_pool_id, vmp.vm_pool_name, vmp.vm_pool_description, vmp.vm_pool_type, vmp.parameters, vmp.prestarted_vms, vmp.vds_group_id, vmp.vds_group_name, ( SELECT count(vm_pool_map.vm_pool_id) AS expr1 + FROM vm_pools_view v1 + LEFT JOIN vm_pool_map ON v1.vm_pool_id = vm_pool_map.vm_pool_id AND v1.vm_pool_id = vmp.vm_pool_id) AS assigned_vm_count, ( SELECT count(v2.vm_pool_id) AS expr1 + FROM vm_pools v2 + LEFT JOIN vm_pool_map vm_pool_map_1 ON v2.vm_pool_id = vm_pool_map_1.vm_pool_id AND v2.vm_pool_id = vmp.vm_pool_id + LEFT JOIN vm_dynamic ON vm_pool_map_1.vm_guid = vm_dynamic.vm_guid + WHERE vm_dynamic.status <> ALL (ARRAY[0, 15]) + GROUP BY v2.vm_pool_id) AS vm_running_count, vmp.storage_pool_name, vmp.storage_pool_id + FROM vm_pools_view vmp; diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/PoolConditionFieldAutoCompleter.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/PoolConditionFieldAutoCompleter.java index f57e101..6b73e78 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/PoolConditionFieldAutoCompleter.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/PoolConditionFieldAutoCompleter.java @@ -8,6 +8,8 @@ mVerbs.put("NAME", "NAME"); mVerbs.put("DESCRIPTION", "DESCRIPTION"); mVerbs.put("TYPE", "TYPE"); + mVerbs.put("CLUSTER", "CLUSTER"); + mVerbs.put("DATACENTER", "DATACENTER"); // Building the autoCompletion Dict buildCompletions(); @@ -15,11 +17,15 @@ getTypeDictionary().put("NAME", String.class); getTypeDictionary().put("DESCRIPTION", String.class); getTypeDictionary().put("TYPE", VmPoolType.class); + getTypeDictionary().put("CLUSTER", String.class); + getTypeDictionary().put("DATACENTER", String.class); // building the ColumnName Dict columnNameDict.put("NAME", "vm_pool_name"); columnNameDict.put("DESCRIPTION", "vm_pool_description"); columnNameDict.put("TYPE", "vm_pool_type"); + columnNameDict.put("CLUSTER", "vds_group_name"); + columnNameDict.put("DATACENTER", "storage_pool_name"); // Building the validation dict buildBasicValidationTable(); diff --git a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java index c3d1494..0ed91e3 100644 --- a/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java +++ b/backend/manager/modules/searchbackend/src/main/java/org/ovirt/engine/core/searchbackend/SearchObjectAutoCompleter.java @@ -135,6 +135,9 @@ // host interface - host addJoin(SearchObjects.VDS_OBJ_NAME, "vds_id", SearchObjects.VDS_NETWORK_INTERFACE_OBJ_NAME, "vds_id"); + + // cluster - vm pool + addJoin(SearchObjects.VDC_CLUSTER_OBJ_NAME, "vds_group_id", SearchObjects.VDC_POOL_OBJ_NAME, "vds_group_id"); } private void addJoin(String firstObj, String firstColumnName, String secondObj, String secondColumnName) { diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java index 665363b..8f8c30e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/CommonModel.java @@ -4,9 +4,9 @@ import java.util.List; import org.ovirt.engine.core.common.businessentities.AuditLog; +import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.businessentities.StorageDomainType; import org.ovirt.engine.core.common.businessentities.VDSGroup; -import org.ovirt.engine.core.common.businessentities.StorageDomain; import org.ovirt.engine.core.common.users.VdcUser; import org.ovirt.engine.core.compat.RefObject; import org.ovirt.engine.core.compat.Regex; @@ -426,11 +426,7 @@ storageList.setIsAvailable(!getHasSelectedTags()); vmList.setIsAvailable(true); volumeList.setIsAvailable(true); - - if (poolList != null) - { - poolList.setIsAvailable(!getHasSelectedTags()); - } + poolList.setIsAvailable(!getHasSelectedTags()); templateList.setIsAvailable(!getHasSelectedTags()); userList.setIsAvailable(true); @@ -558,10 +554,10 @@ || model.getType() == SystemTreeItemType.VMs || model.getType() == SystemTreeItemType.System); - if (poolList != null) - { - poolList.setIsAvailable(model.getType() == SystemTreeItemType.System); - } + poolList.setIsAvailable(model.getType() == SystemTreeItemType.System + || model.getType() == SystemTreeItemType.DataCenter + || model.getType() == SystemTreeItemType.Cluster + || model.getType() == SystemTreeItemType.Cluster_Gluster); templateList.setIsAvailable(model.getType() == SystemTreeItemType.DataCenter || model.getType() == SystemTreeItemType.Cluster @@ -1047,6 +1043,10 @@ { prefix.argvalue = "Network: datacenter = " + model.getTitle(); //$NON-NLS-1$ } + else if (poolList.IsSearchStringMatch(source)) + { + prefix.argvalue = "Pools: datacenter = " + model.getTitle(); //$NON-NLS-1$ + } } break; case Clusters: { @@ -1091,6 +1091,10 @@ { prefix.argvalue = "Network: Cluster_network.cluster_name = " + model.getTitle(); //$NON-NLS-1$ } + else if (poolList.IsSearchStringMatch(source)) + { + prefix.argvalue = "Pools: cluster = " + model.getTitle(); //$NON-NLS-1$ + } } break; case Hosts: { -- To view, visit http://gerrit.ovirt.org/14073 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I39c39366865ff6a62d30fab993685c72e0c39e10 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Libor Spevak <lspe...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches