bug 5924: conforming the api to the ec2 implementation

status 5924: resolved fixed
This commit is contained in:
abhishek 2010-09-03 11:23:28 -07:00
parent bb6a66030a
commit 1ca7b1fd1f
3 changed files with 18 additions and 0 deletions

View File

@ -2190,4 +2190,5 @@ public interface ManagementServer {
Map<String, String> listCapabilities();
GuestOSCategoryVO getGuestOsCategory(Long guestOsId);
VolumeVO findVolumeByInstanceAndDeviceId(long instanceId, long deviceId);
VolumeVO getRootVolume(Long instanceId);
}

View File

@ -34,7 +34,10 @@ import com.cloud.host.HostVO;
import com.cloud.server.Criteria;
import com.cloud.service.ServiceOfferingVO;
import com.cloud.storage.GuestOSCategoryVO;
import com.cloud.storage.StoragePool;
import com.cloud.storage.StoragePoolVO;
import com.cloud.storage.VMTemplateVO;
import com.cloud.storage.VolumeVO;
import com.cloud.user.Account;
import com.cloud.uservm.UserVm;
import com.cloud.utils.Pair;
@ -277,6 +280,13 @@ public class ListVMsCmd extends BaseCmd {
//network groups
vmData.add(new Pair<String, Object>(BaseCmd.Properties.NETWORK_GROUP_LIST.getName(), getManagementServer().getNetworkGroupsNamesForVm(vmInstance.getId())));
//root device related
VolumeVO rootVolume = getManagementServer().findRootVolume(vmInstance.getId());
vmData.add(new Pair<String, Object>(BaseCmd.Properties.ROOT_DEVICE_ID.getName(), rootVolume.getDeviceId()));
StoragePoolVO storagePool = getManagementServer().findPoolById(rootVolume.getPoolId());
vmData.add(new Pair<String, Object>(BaseCmd.Properties.ROOT_DEVICE_TYPE.getName(), storagePool.getPoolType().toString()));
vmTag[i++] = vmData;
}
List<Pair<String, Object>> returnTags = new ArrayList<Pair<String, Object>>();

View File

@ -198,6 +198,7 @@ import com.cloud.storage.StorageStats;
import com.cloud.storage.VMTemplateHostVO;
import com.cloud.storage.VMTemplateStorageResourceAssoc;
import com.cloud.storage.VMTemplateVO;
import com.cloud.storage.Volume;
import com.cloud.storage.VolumeStats;
import com.cloud.storage.VolumeVO;
import com.cloud.storage.Snapshot.SnapshotType;
@ -8676,5 +8677,11 @@ public class ManagementServerImpl implements ManagementServer {
{
return _guestOSCategoryDao.findById(guestOsId);
}
@Override
public VolumeVO getRootVolume(Long instanceId)
{
return _volumeDao.findByInstanceAndType(instanceId, Volume.VolumeType.ROOT).get(0);
}
}