-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/22354/
-----------------------------------------------------------

Review request for cloudstack and Kishan Kavala.


Bugs: CLOUDSTACK-6850
    https://issues.apache.org/jira/browse/CLOUDSTACK-6850


Repository: cloudstack-git


Description
-------

This patch updates VMInstanceUsageParser to process usage details (cpu cores, 
cpu speed and memory) for dynamic compute offering usages, in order to save 
them in table cloud_usage.cloud_usage and return them with the API 
(listUsageRecords).

See CLOUDSTACK-6850.

A change in database model is required for this patch (three new columns in 
cloud_usage.cloud_usage).

The patch should apply on master and 4.4.


Diffs
-----

  api/src/org/apache/cloudstack/api/response/UsageRecordResponse.java 5e2e85d 
  api/src/org/apache/cloudstack/usage/Usage.java 20dc189 
  engine/schema/src/com/cloud/usage/UsageVMInstanceVO.java 06d4876 
  engine/schema/src/com/cloud/usage/UsageVO.java 67014ef 
  engine/schema/src/com/cloud/usage/dao/UsageVMInstanceDaoImpl.java b94e12f 
  server/src/com/cloud/api/ApiResponseHelper.java 119f56d 
  setup/db/db/schema-430to440.sql d149a65 
  usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java ba0d4bf 

Diff: https://reviews.apache.org/r/22354/diff/


Testing
-------

Packaged in RPMs, installed and manually tested.

1. Create a VM with compute offering "Small instance".
2. Stop the VM.
3. Change service offering to a custom offering, with cpu_number=1, 
cpu_speed=500 MHz, memory=512 MB
4. Start the VM, wait... Stop the VM.
6. Change service offering to an other custom offering, with cpu_number=2, 
cpu_speed=800 MHz, memory=1024 MB
7. Start the VM, wait... Stop the VM.
8. Change service offering to the first custom offering, with same "details" 
(cpu_number=2, cpu_speed=800 MHz, memory=1024 MB)
9. Start the VM, wait... Stop the VM.
10. Change service offering to "Medium instance".

Usages and details are reflected in database and in API response. There is no 
regression found for other usage types.
Details are returned (and saved in database) only for RUNNING_VM and 
ALLOCATED_VM, only if the service offering is a custom one.

Example of response:

<usagerecord>
    <account>admin</account>
    <accountid>184a6564-edab-11e3-b629-0050569ed71c</accountid>
    <domainid>fbc7578a-edaa-11e3-b629-0050569ed71c</domainid>
    <zoneid>e5047089-c911-40ea-8251-4a76810ac1e0</zoneid>
    <description>california allocated (ServiceOffering: 12) (Template: 
5)</description>
    <usage>0.098078 Hrs</usage>
    <usagetype>2</usagetype>
    <rawusage>0.098078</rawusage>
    <virtualmachineid>e89c22af-65cf-42a2-8905-6f4bbd7d59a1</virtualmachineid>
    <name>california</name>
    <offeringid>b05b64e9-8e0f-4335-b0e0-acc5bad81938</offeringid>
    <templateid>fbca2564-edaa-11e3-b629-0050569ed71c</templateid>
    <usageid>e89c22af-65cf-42a2-8905-6f4bbd7d59a1</usageid>
    <type>XenServer</type>
    <cpunumber>1</cpunumber>
    <cpuspeed>500</cpuspeed>
    <memory>512</memory>
    <startdate>2014-06-08'T'17:05:52+02:00</startdate>
    <enddate>2014-06-08'T'17:15:52+02:00</enddate>
</usagerecord>
<usagerecord>
    <account>admin</account>
    <accountid>184a6564-edab-11e3-b629-0050569ed71c</accountid>
    <domainid>fbc7578a-edaa-11e3-b629-0050569ed71c</domainid>
    <zoneid>e5047089-c911-40ea-8251-4a76810ac1e0</zoneid>
    <description>california allocated (ServiceOffering: 1) (Template: 
5)</description>
    <usage>0.068594 Hrs</usage>
    <usagetype>2</usagetype>
    <rawusage>0.068594</rawusage>
    <virtualmachineid>e89c22af-65cf-42a2-8905-6f4bbd7d59a1</virtualmachineid>
    <name>california</name>
    <offeringid>84bbf38f-b582-440b-8a8d-20e63e0dbed7</offeringid>
    <templateid>fbca2564-edaa-11e3-b629-0050569ed71c</templateid>
    <usageid>e89c22af-65cf-42a2-8905-6f4bbd7d59a1</usageid>
    <type>XenServer</type>
    <startdate>2014-06-08'T'17:05:52+02:00</startdate>
    <enddate>2014-06-08'T'17:15:52+02:00</enddate>
</usagerecord>


Thanks,

Olivier Lemasle

Reply via email to