listUsageRecords to return the physical size of VM snapshots on primary storage
- Lenguaje dominante
- Java
- Estrellas
- 3.1k
- Forks
- 1.4k
- Merge medio
- 6 d 19 h
- PR fusionados (30 d)
- 32
Descripción
##### ISSUE TYPE
* Improvement Request
##### COMPONENT NAME
~~~
API, Usage
~~~
##### CLOUDSTACK VERSION
~~~
4.18.1
~~~
##### CONFIGURATION
VM snapshots , VMware
##### OS / ENVIRONMENT
##### SUMMARY
Currently cloudstack usage only returns the virtual size of the VM snapshot on primary storage i.e usage type 27. It would be useful to get the physical size as well in the API response.
```
cmk list usagerecords startdate=2023-12-06 09:00:00 type=27 enddate=2023-12-06 09:59:59
--
{
"account": "admin",
"accountid": "570917c5-8ddb-11ee-a6eb-1e002e000c9f",
"description": "VMSnapshot on primary storage usage Id: 0333f93b-fd60-42ad-a961-49b75df4313f for VM Rocky-2 (9058215a-d674-468d-ac61-449bd0593448) with size (50.00 GB) 53687091200",
"domain": "ROOT",
"domainid": "376e4be1-8ddb-11ee-a6eb-1e002e000c9f",
"enddate": "2023-12-06'T'09:59:59+00:00",
"name": "rocky-snapshot3",
"rawusage": "1",
"size": 53687091200,
"startdate": "2023-12-06'T'09:00:00+00:00",
"tags": [],
"usage": "1 Hrs",
"usageid": "0333f93b-fd60-42ad-a961-49b75df4313f",
"usagetype": 27,
"virtualmachineid": "9058215a-d674-468d-ac61-449bd0593448",
"zoneid": "771aecba-b1ef-4bfc-94e6-b325aa2a4c01"
},
--
{
"account": "admin",
"accountid": "570917c5-8ddb-11ee-a6eb-1e002e000c9f",
"description": "VMSnapshot on primary storage usage Id: 591a15ab-b0d0-465c-a30f-fe9c0785da88 for VM Rocky-2 (9058215a-d674-468d-ac61-449bd0593448) with size (50.00 GB) 53687091200",
"domain": "ROOT",
"domainid": "376e4be1-8ddb-11ee-a6eb-1e002e000c9f",
"enddate": "2023-12-06'T'09:59:59+00:00",
"name": "rocky-snapshot1",
"rawusage": "1",
"size": 53687091200,
"startdate": "2023-12-06'T'09:00:00+00:00",
"tags": [],
"usage": "1 Hrs",
"usageid": "591a15ab-b0d0-465c-a30f-fe9c0785da88",
"usagetype": 27,
"virtualmachineid": "9058215a-d674-468d-ac61-449bd0593448",
"zoneid": "771aecba-b1ef-4bfc-94e6-b325aa2a4c01"
},
{
"account": "admin",
"accountid": "570917c5-8ddb-11ee-a6eb-1e002e000c9f",
"description": "VMSnapshot on primary storage usage Id: e82b68a2-5e63-4509-9be0-48aedd822529 for VM Rocky-2 (9058215a-d674-468d-ac61-449bd0593448) with size (50.00 GB) 53687091200",
"domain": "ROOT",
"domainid": "376e4be1-8ddb-11ee-a6eb-1e002e000c9f",
"enddate": "2023-12-06'T'09:59:59+00:00",
"name": "rocky-snapshot2",
"rawusage": "1",
"size": 53687091200,
"startdate": "2023-12-06'T'09:00:00+00:00",
"tags": [],
"usage": "1 Hrs",
"usageid": "e82b68a2-5e63-4509-9be0-48aedd822529",
"usagetype": 27,
"virtualmachineid": "9058215a-d674-468d-ac61-449bd0593448",
"zoneid": "771aecba-b1ef-4bfc-94e6-b325aa2a4c01"
},
mysql> select id,usage_display,usage_type,format_bytes(size) as size,format_bytes(virtual_size) as virtual_size,start_date,end_date from cloud_usage.cloud_usage where usage_type=27 and vm_instance_id=2782 and start_date='2023-12-06 09:00:00';
+------+---------------+------------+-----------+--------------+---------------------+---------------------+
| id | usage_display | usage_type | size | virtual_size | start_date | end_date |
+------+---------------+------------+-----------+--------------+---------------------+---------------------+
| 9709 | 1 Hrs | 27 | 24.61 GiB | 50.00 GiB | 2023-12-06 09:00:00 | 2023-12-06 09:59:59 |
| 9713 | 1 Hrs | 27 | 50.00 GiB | 50.00 GiB | 2023-12-06 09:00:00 | 2023-12-06 09:59:59 |
| 9714 | 1 Hrs | 27 | 24.61 GiB | 50.00 GiB | 2023-12-06 09:00:00 | 2023-12-06 09:59:59 |
+------+---------------+------------+-----------+--------------+---------------------+---------------------+
```
Guía de contribución
Línea de trabajo
Comienza con el procesamiento de la API listUsageRecords para el tipo de uso 27 y compara su respuesta con las columnas cloud_usage y virtual_size que se muestran en el informe. Rastrea cómo se obtiene el uso de instantáneas de VM para el almacenamiento primario de VMware. El trabajo estará terminado cuando la API exponga tanto el tamaño físico como el tamaño virtual para estos registros de uso.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java, mysql
- Área
- api, cloud, databases
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100