Bug 1465107

Summary: [RFE] Add "Actual Disk Size" sortable column in Template Tab view
Product: Red Hat Enterprise Virtualization Manager Reporter: Mauro Oddi <moddi>
Component: ovirt-engineAssignee: Nobody <nobody>
Status: CLOSED WONTFIX QA Contact: Pavel Stehlik <pstehlik>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.1.2CC: gveitmic, lsurette, michal.skrivanek, mkalinin, moddi, mtessun, rbalakri, Rhev-m-bugs, sradco, srevivo, tjelinek, ykaul, ylavi
Target Milestone: ---Keywords: FutureFeature, Improvement, Reopened
Target Release: ---Flags: lsvaty: testing_plan_complete-
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
: 1553888 (view as bug list) Environment:
Last Closed: 2018-06-18 13:34:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1547768    
Bug Blocks:    
Attachments:
Description Flags
top VMs in RHEV.TLV internal setup none

Description Mauro Oddi 2017-06-26 16:38:34 UTC
Description of problem:
The user has over 2000 templates per storage domain and to know which objects are consuming more space of the storage domain has to fall back the REST API to list the disk usage per template. Otherwise has to open the templates one by one from the Template Tab to see disk consumption which is deemed impractical for such amount.

The user proposed as a solution to have an extra sortable column for the actual disk usage in the Template Tab but any alternative solution that allows to use the portal to see this information is valid.

Comment 7 Allon Mureinik 2017-06-27 18:16:01 UTC
The requirement makes perfect sense to me, but the proposed solution does not. Templates are virt entities, and they may have disks on several storage domains, or even several copies of the the same disk on different domains. Looking for the space consumers from the template main tab is the wrong idea, IMHO.

If the concern is the consumed space, the right place to look for the chief offenders should be the disks. There are currently two entry points. Unfortunately, both have some functionality missing

1. The Disks main tab. 
 - allows searching according to the storage domain's parameters (e.g., name)
 - does not display the actual size (seems like an easy win to add it)
 - displays the vm/template the disk is attached to and its type, but does not allow searching/sorting by it.

2. The Disks subtab under a storage domain.
 - The storage domain is implied (by selecting it in the maintab)
 - displays the actual size and allows sorting by it
 - displays the vm/template the disk is attached to and its type, but does not allow searching/sorting by it. 
 - subtabs, unfortunately, don't have a search function, nor a multi-teired sorting. However, if most of the VMs are thinly provisioned on top of templates, chances are that the largest disks on the storage domain would be the base templates anyway.

Mauro - if using either of the aforementioned options makes sense to you, we'll go ahead and analyze the amount of work to close the gaps mentioned there, but offhand, with the exception of the multi-tiered sorting which is a system-wide effort, nothing here looks too complicated to implement.

Comment 8 Yaniv Kaul 2017-06-28 08:29:50 UTC
Mauro - did you try and look at the dashboard (see attachment) ?

Comment 9 Yaniv Kaul 2017-06-28 08:30:57 UTC
Created attachment 1292585 [details]
top VMs in RHEV.TLV internal setup

Comment 15 Shirly Radco 2018-03-21 15:20:05 UTC
User can use the following query against the engine db to get the top utilized templates.

SELECT a.vm_name AS template_name, a.vm_guid AS template_id, a.template_version_number,
    a.template_version_name,
    SUM(disk_image_dynamic.actual_size / 1048576) AS vm_disk_actual_size_mb,
    a._create_date AS create_date
FROM vm_static a
  JOIN vm_device ON a.vm_guid = vm_device.vm_id
  JOIN images i ON i.image_group_id = vm_device.device_id
  JOIN disk_image_dynamic ON disk_image_dynamic.image_id = i.image_guid
WHERE a.entity_type = 'TEMPLATE'
GROUP BY template_name, template_id, create_date
ORDER BY vm_disk_actual_size_mb desc, template_name, template_id;

He can also send the query to a file:

Copy (
SELECT a.vm_name AS template_name, a.vm_guid AS template_id, a.template_version_number,
    a.template_version_name,
    SUM(disk_image_dynamic.actual_size / 1048576) AS vm_disk_actual_size_mb,
    a._create_date AS create_date
FROM vm_static a
  JOIN vm_device ON a.vm_guid = vm_device.vm_id
  JOIN images i ON i.image_group_id = vm_device.device_id
  JOIN disk_image_dynamic ON disk_image_dynamic.image_id = i.image_guid
WHERE a.entity_type = 'TEMPLATE'
GROUP BY template_name, template_id, create_date
ORDER BY vm_disk_actual_size_mb desc, template_name, template_id
) To '/tmp/test.csv' With CSV DELIMITER ',';

Can you please add this to KB?

Comment 27 Tomas Jelinek 2018-05-09 07:56:23 UTC
As per Comment 11, this information is not useful in the dashboard.

The SQL query from Comment 15 could be exposed as an additional field in the templates view, but would be quite challenging to make it sortable, because in order to make the sort useful, it must be using the SearchQuery.

In order to make this available in a SearchQuery, the result of the SQL query would have to be added to the "vm_templates_base_view" or similar which might be a performance hit.

Leaving this to virt to decide.

Comment 30 Martin Tessun 2018-06-18 13:34:10 UTC
I believe the customer should create a report in the new DWH solution shipped with RHV 4.2.

As I understand this is already possible. I don't think it is sensible having this information in the dashboard, but having it as a kibana report sounds sensible.

So if this is not yet possible in 4.2 please reopen this BZ against the new reporting engine.

Thanks!
Martin

Comment 31 Yaniv Lavi 2018-06-18 13:43:45 UTC
(In reply to Martin Tessun from comment #30)
> I believe the customer should create a report in the new DWH solution
> shipped with RHV 4.2.
> 
> As I understand this is already possible. I don't think it is sensible
> having this information in the dashboard, but having it as a kibana report
> sounds sensible.
> 
> So if this is not yet possible in 4.2 please reopen this BZ against the new
> reporting engine.
> 
> Thanks!
> Martin

This is not what the metrics store is for and we are not planning to add this info to that.
If you want a current state sorting, this is something the WebAdmin should provide.
The query we provided was against the engine database, not DWH.

Comment 32 Martin Tessun 2018-06-20 09:42:07 UTC
Ok. I thought metrics store would cover vDisk sizes (realsize).

@Michal: Adding "Actual Size" to the overview (as it already is stored in the DB) should be easily possible then.

Comment 33 Franta Kust 2019-05-16 13:07:23 UTC
BZ<2>Jira Resync