Koushik,

This is part of the cloud-engine / orchestration layer refactoring started in 
4.1. The final idea is to separate out the cloudstack API layer and  the 
orchestration logic into different services. Each service will have its own set 
of VO's as per the view the service works with. Thus the VO will 
populate/retrieve only those fields that are visible/essential for that service 
functionality. Hence you see some difference in the two VO's you mention.
The VM deployment API layer works with VMInstanceVO ; while the orchestration 
flow works with VMEntityVO.

There are many other entities for which this has been done so far, Alex has put 
everything under cloud-engine-schema recently where you can find some more of 
such examples.

Prachi

-----Original Message-----
From: Koushik Das 
Sent: Sunday, December 15, 2013 9:50 PM
To: <dev@cloudstack.apache.org>
Cc: Prachi Damle
Subject: Re: VMEntityVO and VMInstanceVO

Prachi, From the history I see that you added VMEntityVO. Any specific reason 
for having both?

On 12-Dec-2013, at 2:36 PM, Koushik Das <koushik....@citrix.com> wrote:

> I see that both the VOs uses the same vm_instance table. What is the need for 
> having 2 VOs for the same table? Should one be removed?
> Also VMEntityVO I see a field called "speed" which is not there in 
> VMInstanceVO. Why this discrepancy?
> 
> Thanks,
> Koushik

Reply via email to