Merge branch 'master' into resize-root
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/0eb99673 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/0eb99673 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/0eb99673 Branch: refs/heads/resize-root Commit: 0eb9967354c7a7f90383fad127290425867035c5 Parents: 4a21da6 548c810 Author: Marcus Sorensen <mar...@betterservers.com> Authored: Fri Mar 7 17:21:57 2014 -0700 Committer: Marcus Sorensen <mar...@betterservers.com> Committed: Fri Mar 7 17:21:57 2014 -0700 ---------------------------------------------------------------------- agent/conf/agent.properties | 11 + .../cloud/agent/api/HostVmStateReportEntry.java | 10 +- api/src/com/cloud/event/EventTypes.java | 13 + api/src/com/cloud/network/NetworkProfile.java | 7 + .../cloud/network/vpc/StaticRouteProfile.java | 28 +- .../com/cloud/offering/DiskOfferingInfo.java | 65 ++ api/src/com/cloud/server/ManagementService.java | 4 - api/src/com/cloud/storage/Volume.java | 2 + api/src/com/cloud/storage/VolumeApiService.java | 2 + api/src/com/cloud/user/AccountService.java | 2 + api/src/com/cloud/uservm/UserVm.java | 1 + api/src/com/cloud/vm/UserVmService.java | 6 + .../apache/cloudstack/acl/ControlledEntity.java | 1 + .../apache/cloudstack/acl/IAMEntityType.java | 61 ++ .../apache/cloudstack/acl/PermissionScope.java | 41 + .../apache/cloudstack/acl/QuerySelector.java | 72 ++ .../apache/cloudstack/acl/SecurityChecker.java | 22 +- .../org/apache/cloudstack/api/APICommand.java | 3 + .../cloudstack/api/ApiCommandJobType.java | 4 +- .../org/apache/cloudstack/api/ApiConstants.java | 33 +- .../org/apache/cloudstack/api/BaseAsyncCmd.java | 34 - .../apache/cloudstack/api/BaseAsyncVMCmd.java | 30 + .../cloudstack/api/BaseAsyncVolumeCmd.java | 30 + api/src/org/apache/cloudstack/api/BaseCmd.java | 255 +++--- .../org/apache/cloudstack/api/BaseListCmd.java | 30 +- .../BaseListTemplateOrIsoPermissionsCmd.java | 5 +- .../org/apache/cloudstack/api/Parameter.java | 2 - .../admin/offering/CreateDiskOfferingCmd.java | 6 +- .../offering/CreateServiceOfferingCmd.java | 32 + .../api/command/admin/user/CreateUserCmd.java | 5 +- .../affinitygroup/CreateAffinityGroupCmd.java | 5 +- .../affinitygroup/DeleteAffinityGroupCmd.java | 5 +- .../user/autoscale/CreateConditionCmd.java | 5 +- .../firewall/CreateEgressFirewallRuleCmd.java | 11 +- .../user/firewall/CreateFirewallRuleCmd.java | 12 +- .../firewall/CreatePortForwardingRuleCmd.java | 10 +- .../api/command/user/iso/ListIsosCmd.java | 5 +- .../api/command/user/iso/RegisterIsoCmd.java | 5 +- .../user/nat/CreateIpForwardingRuleCmd.java | 18 +- .../command/user/network/CreateNetworkCmd.java | 2 +- .../gslb/CreateGlobalLoadBalancerRuleCmd.java | 5 +- .../user/resource/ListResourceLimitsCmd.java | 5 +- .../user/resource/UpdateResourceCountCmd.java | 7 +- .../user/resource/UpdateResourceLimitCmd.java | 7 +- .../AuthorizeSecurityGroupEgressCmd.java | 5 +- .../AuthorizeSecurityGroupIngressCmd.java | 5 +- .../securitygroup/CreateSecurityGroupCmd.java | 5 +- .../securitygroup/DeleteSecurityGroupCmd.java | 5 +- .../command/user/ssh/CreateSSHKeyPairCmd.java | 5 +- .../command/user/ssh/DeleteSSHKeyPairCmd.java | 5 +- .../command/user/ssh/RegisterSSHKeyPairCmd.java | 5 +- .../command/user/template/ListTemplatesCmd.java | 5 +- .../user/template/RegisterTemplateCmd.java | 5 +- .../api/command/user/vm/DeployVMCmd.java | 62 +- .../api/command/user/vm/DestroyVMCmd.java | 4 +- .../api/command/user/vm/RebootVMCmd.java | 4 +- .../api/command/user/vm/ResetVMPasswordCmd.java | 4 +- .../api/command/user/vm/ResetVMSSHKeyCmd.java | 4 +- .../api/command/user/vm/RestoreVMCmd.java | 10 +- .../api/command/user/vm/ScaleVMCmd.java | 4 +- .../api/command/user/vm/StartVMCmd.java | 4 +- .../api/command/user/vm/StopVMCmd.java | 4 +- .../api/command/user/vm/UpdateVMCmd.java | 10 + .../api/command/user/vm/UpgradeVMCmd.java | 5 + .../command/user/vmgroup/CreateVMGroupCmd.java | 5 +- .../command/user/volume/AttachVolumeCmd.java | 4 +- .../command/user/volume/CreateVolumeCmd.java | 12 +- .../command/user/volume/DeleteVolumeCmd.java | 5 + .../command/user/volume/DetachVolumeCmd.java | 4 +- .../command/user/volume/ExtractVolumeCmd.java | 4 +- .../command/user/volume/MigrateVolumeCmd.java | 10 +- .../command/user/volume/ResizeVolumeCmd.java | 10 +- .../command/user/volume/UpdateVolumeCmd.java | 5 + .../command/user/volume/UploadVolumeCmd.java | 5 +- .../api/command/user/vpc/CreateVPCCmd.java | 2 +- .../api/command/user/vpn/AddVpnUserCmd.java | 5 +- .../user/vpn/CreateVpnCustomerGatewayCmd.java | 5 +- .../api/command/user/vpn/RemoveVpnUserCmd.java | 5 +- .../command/user/vpn/ResetVpnConnectionCmd.java | 5 +- .../user/vpn/UpdateVpnCustomerGatewayCmd.java | 5 +- .../api/response/DiskOfferingResponse.java | 12 + .../api/response/ServiceOfferingResponse.java | 48 ++ .../apache/cloudstack/context/CallContext.java | 13 + .../org/apache/cloudstack/api/BaseCmdTest.java | 69 ++ .../classes/resources/messages.properties | 209 +++++ .../classes/resources/messages_ja_JP.properties | 272 ++++++- .../classes/resources/messages_zh_CN.properties | 572 +++++++++---- .../com/cloud/agent/api/ClusterSyncAnswer.java | 10 +- .../agent/api/ClusterVMMetaDataSyncAnswer.java | 52 ++ .../agent/api/ClusterVMMetaDataSyncCommand.java | 47 ++ .../cloud/agent/api/StartupRoutingCommand.java | 8 +- .../api/routing/FinishAggregationCommand.java | 31 + .../api/routing/StartAggregationCommand.java | 31 + .../virtualnetwork/VirtualRoutingResource.java | 189 +++-- .../storage/to/PrimaryDataStoreTO.java | 18 + .../VirtualRoutingResourceTest.java | 474 +++++++++-- .../src/com/cloud/vm/VirtualMachineManager.java | 9 +- .../service/NetworkOrchestrationService.java | 2 +- .../service/VolumeOrchestrationService.java | 2 +- .../api/storage/DataMotionService.java | 2 + .../api/storage/DataMotionStrategy.java | 2 + .../api/storage/PrimaryDataStoreInfo.java | 18 + .../subsystem/api/storage/VolumeService.java | 6 +- .../src/com/cloud/network/addr/PublicIp.java | 7 + .../cloud/network/rules/StaticNatRuleImpl.java | 33 +- .../src/com/cloud/template/TemplateManager.java | 3 + .../cloud/agent/manager/DirectAgentAttache.java | 2 - .../com/cloud/vm/VirtualMachineManagerImpl.java | 109 ++- .../engine/orchestration/CloudOrchestrator.java | 56 +- .../orchestration/NetworkOrchestrator.java | 101 ++- .../orchestration/VolumeOrchestrator.java | 29 +- engine/schema/src/com/cloud/event/EventVO.java | 23 +- .../com/cloud/network/UserIpv6AddressVO.java | 17 +- .../schema/src/com/cloud/network/VpnUserVO.java | 19 +- .../com/cloud/network/as/AutoScalePolicyVO.java | 9 +- .../cloud/network/as/AutoScaleVmGroupVO.java | 11 +- .../cloud/network/as/AutoScaleVmProfileVO.java | 11 +- .../src/com/cloud/network/as/ConditionVO.java | 11 +- .../src/com/cloud/network/dao/IPAddressVO.java | 45 +- .../cloud/network/dao/MonitoringServiceVO.java | 7 + .../src/com/cloud/network/dao/NetworkVO.java | 46 +- .../cloud/network/dao/RemoteAccessVpnVO.java | 17 +- .../network/dao/Site2SiteCustomerGatewayVO.java | 9 +- .../network/dao/Site2SiteVpnConnectionVO.java | 14 +- .../network/dao/Site2SiteVpnGatewayVO.java | 13 +- .../src/com/cloud/network/dao/SslCertVO.java | 14 +- .../com/cloud/network/rules/FirewallRuleVO.java | 24 +- .../cloud/network/security/SecurityGroupVO.java | 13 +- .../com/cloud/network/vpc/StaticRouteVO.java | 15 +- .../src/com/cloud/network/vpc/VpcGatewayVO.java | 17 +- .../schema/src/com/cloud/network/vpc/VpcVO.java | 15 +- .../com/cloud/projects/ProjectInvitationVO.java | 17 +- .../src/com/cloud/storage/SnapshotVO.java | 19 +- .../src/com/cloud/storage/VMTemplateVO.java | 6 + .../schema/src/com/cloud/storage/VolumeVO.java | 102 +-- .../src/com/cloud/tags/ResourceTagVO.java | 11 +- .../cloud/upgrade/dao/DatabaseAccessObject.java | 99 +++ .../com/cloud/upgrade/dao/DbUpgradeUtils.java | 76 +- engine/schema/src/com/cloud/user/AccountVO.java | 16 +- .../schema/src/com/cloud/user/SSHKeyPairVO.java | 6 + .../src/com/cloud/vm/InstanceGroupVO.java | 11 +- .../schema/src/com/cloud/vm/VMInstanceVO.java | 28 +- .../src/com/cloud/vm/dao/NicIpAliasVO.java | 14 +- .../src/com/cloud/vm/dao/NicSecondaryIpVO.java | 9 +- .../src/com/cloud/vm/snapshot/VMSnapshotVO.java | 14 +- .../cloudstack/affinity/AffinityGroupVO.java | 12 +- .../engine/cloud/entity/api/db/VMEntityVO.java | 28 +- .../region/gslb/GlobalLoadBalancerRuleVO.java | 15 +- .../upgrade/dao/DatabaseAccessObjectTest.java | 463 +++++++++++ .../cloud/upgrade/dao/DbUpgradeUtilsTest.java | 162 ++++ .../motion/AncientDataMotionStrategy.java | 25 +- .../storage/motion/DataMotionServiceImpl.java | 9 +- .../storage/image/store/TemplateObject.java | 20 + .../storage/test/MockStorageMotionStrategy.java | 5 + .../storage/snapshot/SnapshotObject.java | 6 + .../storage/image/TemplateEntityImpl.java | 5 + .../storage/snapshot/SnapshotEntityImpl.java | 5 + .../storage/datastore/PrimaryDataStoreImpl.java | 20 +- .../datastore/provider/DefaultHostListener.java | 2 +- .../cloudstack/storage/volume/VolumeObject.java | 169 ++-- .../storage/volume/VolumeServiceImpl.java | 156 +++- .../networkservice/BareMetalResourceBase.java | 3 +- .../resource/HypervDirectConnectResource.java | 2 +- .../kvm/resource/LibvirtComputingResource.java | 101 ++- .../cloud/ovm/hypervisor/OvmResourceBase.java | 2 +- .../cloud/resource/AgentRoutingResource.java | 2 +- .../motion/SimulatorDataMotionStrategy.java | 5 + .../vmware/resource/VmwareResource.java | 2 +- .../motion/VmwareStorageMotionStrategy.java | 5 + .../xen/resource/CitrixResourceBase.java | 148 ++-- .../xen/resource/XenServer610Resource.java | 8 - .../xen/resource/XenServerPoolVms.java | 41 +- .../xen/resource/XenServerStorageProcessor.java | 126 ++- .../xenserver/XenServerResourceNewBase.java | 20 +- .../motion/XenServerStorageMotionStrategy.java | 5 + .../network/lb/LoadBalanceRuleHandler.java | 7 +- .../lb/InternalLoadBalancerVMManagerImpl.java | 18 +- .../api/command/CreateServiceInstanceCmd.java | 2 +- .../contrail/management/ServiceManagerImpl.java | 16 +- .../contrail/management/MockAccountManager.java | 9 +- .../apache/cloudstack/ldap/LdapUserManager.java | 8 +- .../cloudstack/ldap/LdapUserManagerSpec.groovy | 263 +++--- .../core/spring-server-core-misc-context.xml | 12 + server/src/com/cloud/acl/DomainChecker.java | 14 +- server/src/com/cloud/api/ApiDispatcher.java | 491 +---------- server/src/com/cloud/api/ApiServer.java | 438 +++++----- server/src/com/cloud/api/ApiServerService.java | 2 + server/src/com/cloud/api/ApiServlet.java | 133 +-- .../api/dispatch/CommandCreationWorker.java | 56 ++ .../com/cloud/api/dispatch/DispatchChain.java | 40 + .../api/dispatch/DispatchChainFactory.java | 72 ++ .../com/cloud/api/dispatch/DispatchTask.java | 58 ++ .../com/cloud/api/dispatch/DispatchWorker.java | 30 + .../dispatch/ParamGenericValidationWorker.java | 103 +++ .../cloud/api/dispatch/ParamProcessWorker.java | 428 ++++++++++ .../cloud/api/dispatch/ParamUnpackWorker.java | 114 +++ .../dispatch/SpecificCmdValidationWorker.java | 34 + .../com/cloud/api/query/QueryManagerImpl.java | 7 + .../api/query/dao/DiskOfferingJoinDaoImpl.java | 1 + .../query/dao/ServiceOfferingJoinDaoImpl.java | 4 + .../api/query/dao/TemplateJoinDaoImpl.java | 13 +- .../cloud/api/query/vo/AffinityGroupJoinVO.java | 6 + .../cloud/api/query/vo/DiskOfferingJoinVO.java | 7 +- .../cloud/api/query/vo/DomainRouterJoinVO.java | 8 + .../src/com/cloud/api/query/vo/EventJoinVO.java | 15 + .../cloud/api/query/vo/InstanceGroupJoinVO.java | 8 + .../api/query/vo/ProjectInvitationJoinVO.java | 8 + .../cloud/api/query/vo/ResourceTagJoinVO.java | 8 + .../cloud/api/query/vo/SecurityGroupJoinVO.java | 8 + .../api/query/vo/ServiceOfferingJoinVO.java | 28 + .../com/cloud/api/query/vo/TemplateJoinVO.java | 9 +- .../com/cloud/api/query/vo/UserVmJoinVO.java | 8 + .../com/cloud/api/query/vo/VolumeJoinVO.java | 8 + .../api/response/SecurityGroupResultObject.java | 8 +- .../configuration/ConfigurationManagerImpl.java | 51 +- .../consoleproxy/ConsoleProxyManagerImpl.java | 7 +- .../com/cloud/event/ActionEventInterceptor.java | 19 +- .../src/com/cloud/event/ActionEventUtils.java | 34 +- .../cloud/network/as/AutoScaleManagerImpl.java | 466 +++++------ .../VirtualNetworkApplianceManagerImpl.java | 40 +- .../VpcVirtualNetworkApplianceManagerImpl.java | 62 +- .../network/vpc/PrivateGatewayProfile.java | 6 + .../com/cloud/server/ManagementServerImpl.java | 10 - .../com/cloud/storage/VolumeApiServiceImpl.java | 9 + .../storage/snapshot/SnapshotSchedulerImpl.java | 107 +-- server/src/com/cloud/user/AccountManager.java | 4 + .../src/com/cloud/user/AccountManagerImpl.java | 48 ++ server/src/com/cloud/user/DomainManager.java | 3 + server/src/com/cloud/vm/UserVmManagerImpl.java | 19 +- .../test/com/cloud/api/ApiDispatcherTest.java | 106 --- .../api/dispatch/CommandCreationWorkerTest.java | 48 ++ .../api/dispatch/DispatchChainFactoryTest.java | 55 ++ .../ParamGenericValidationWorkerTest.java | 195 +++++ .../api/dispatch/ParamProcessWorkerTest.java | 107 +++ .../SpecificCmdValidationWorkerTest.java | 48 ++ .../com/cloud/user/MockAccountManagerImpl.java | 9 +- .../com/cloud/vpc/MockNetworkManagerImpl.java | 5 +- services/iam/plugin/pom.xml | 58 ++ .../iam-access-checkers/module.properties | 18 + .../spring-iam-access-checkers-context.xml | 35 + .../command/iam/AddAccountToIAMGroupCmd.java | 127 +++ .../iam/AddIAMPermissionToIAMPolicyCmd.java | 155 ++++ .../iam/AttachIAMPolicyToAccountCmd.java | 122 +++ .../iam/AttachIAMPolicyToIAMGroupCmd.java | 127 +++ .../api/command/iam/CreateIAMGroupCmd.java | 168 ++++ .../api/command/iam/CreateIAMPolicyCmd.java | 175 ++++ .../api/command/iam/DeleteIAMGroupCmd.java | 102 +++ .../api/command/iam/DeleteIAMPolicyCmd.java | 102 +++ .../api/command/iam/ListIAMGroupsCmd.java | 88 ++ .../api/command/iam/ListIAMPoliciesCmd.java | 88 ++ .../iam/RemoveAccountFromIAMGroupCmd.java | 127 +++ .../RemoveIAMPermissionFromIAMPolicyCmd.java | 148 ++++ .../iam/RemoveIAMPolicyFromAccountCmd.java | 122 +++ .../iam/RemoveIAMPolicyFromIAMGroupCmd.java | 127 +++ .../api/response/iam/IAMGroupResponse.java | 193 +++++ .../api/response/iam/IAMPermissionResponse.java | 125 +++ .../api/response/iam/IAMPolicyResponse.java | 177 ++++ .../apache/cloudstack/iam/IAMApiService.java | 87 ++ .../cloudstack/iam/IAMApiServiceImpl.java | 800 ++++++++++++++++++ .../iam/RoleBasedAPIAccessChecker.java | 273 +++++++ .../iam/RoleBasedEntityAccessChecker.java | 186 +++++ .../iam/RoleBasedEntityQuerySelector.java | 147 ++++ .../cloudstack/iam/test/IAMApiServiceTest.java | 385 +++++++++ .../iam/plugin/test/resources/db.properties | 75 ++ services/iam/pom.xml | 59 ++ services/iam/server/pom.xml | 52 ++ .../core/spring-iam-server-context.xml | 40 + .../org/apache/cloudstack/iam/api/IAMGroup.java | 37 + .../apache/cloudstack/iam/api/IAMPolicy.java | 41 + .../cloudstack/iam/api/IAMPolicyPermission.java | 53 ++ .../apache/cloudstack/iam/api/IAMService.java | 92 +++ .../iam/server/IAMAccountPolicyMapVO.java | 77 ++ .../iam/server/IAMGroupAccountMapVO.java | 78 ++ .../iam/server/IAMGroupPolicyMapVO.java | 79 ++ .../cloudstack/iam/server/IAMGroupVO.java | 122 +++ .../iam/server/IAMPolicyPermissionVO.java | 181 ++++ .../cloudstack/iam/server/IAMPolicyVO.java | 138 ++++ .../cloudstack/iam/server/IAMServiceImpl.java | 815 +++++++++++++++++++ .../iam/server/dao/IAMAccountPolicyMapDao.java | 33 + .../server/dao/IAMAccountPolicyMapDaoImpl.java | 77 ++ .../iam/server/dao/IAMGroupAccountMapDao.java | 40 + .../server/dao/IAMGroupAccountMapDaoImpl.java | 119 +++ .../cloudstack/iam/server/dao/IAMGroupDao.java | 28 + .../iam/server/dao/IAMGroupDaoImpl.java | 59 ++ .../iam/server/dao/IAMGroupPolicyMapDao.java | 33 + .../server/dao/IAMGroupPolicyMapDaoImpl.java | 77 ++ .../cloudstack/iam/server/dao/IAMPolicyDao.java | 28 + .../iam/server/dao/IAMPolicyDaoImpl.java | 57 ++ .../iam/server/dao/IAMPolicyPermissionDao.java | 39 + .../server/dao/IAMPolicyPermissionDaoImpl.java | 129 +++ .../cloudstack/iam/IAMServiceUnitTest.java | 211 +++++ .../iam/server/test/resources/db.properties | 75 ++ services/pom.xml | 1 + .../SecondaryStorageManagerImpl.java | 10 +- setup/db/db/schema-430to440.sql | 51 ++ .../debian/config/opt/cloud/bin/vr_cfg.sh | 96 +++ tools/ngui/static/js/app/accounts/accounts.js | 16 +- tools/ngui/static/js/app/storage/storage.js | 2 +- ui/css/cloudstack3.css | 141 +++- ui/dictionary.jsp | 220 ++++- ui/images/icons.png | Bin 50052 -> 61164 bytes ui/images/sprites.png | Bin 210353 -> 211543 bytes ui/index.jsp | 11 + .../vnmcNetworkProvider/vnmcNetworkProvider.js | 50 +- ui/scripts/configuration.js | 272 +++++-- ui/scripts/installWizard.js | 6 +- ui/scripts/instanceWizard.js | 16 +- ui/scripts/instances.js | 20 +- ui/scripts/network.js | 62 +- ui/scripts/sharedFunctions.js | 28 +- ui/scripts/storage.js | 6 +- ui/scripts/system.js | 634 +++++++-------- ui/scripts/templates.js | 6 +- ui/scripts/ui-custom/instanceWizard.js | 8 + ui/scripts/ui-custom/zoneChart.js | 16 +- ui/scripts/ui/core.js | 2 +- ui/scripts/ui/dialog.js | 5 + ui/scripts/ui/widgets/tagger.js | 4 +- ui/scripts/vpc.js | 16 +- ui/scripts/zoneWizard.js | 12 +- utils/src/com/cloud/utils/db/EntityManager.java | 6 + 321 files changed, 15605 insertions(+), 3234 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0eb99673/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java ---------------------------------------------------------------------- diff --cc engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java index 2232d69,f3753a7..b6d62e1 --- a/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java +++ b/engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java @@@ -608,17 -609,15 +609,21 @@@ public class VolumeOrchestrator extend assert (template.getFormat() != ImageFormat.ISO) : "ISO is not a template really...."; Long size = _tmpltMgr.getTemplateSize(template.getId(), vm.getDataCenterId()); - if (rootDisksize != null) { - size = (rootDisksize * 1024 * 1024 * 1024); + if (rootDisksize != null ) { + rootDisksize = rootDisksize * 1024 * 1024 * 1024; + if (rootDisksize > size) { + s_logger.debug("Using root disk size of " + rootDisksize + " for volume " + name); + size = rootDisksize; + } else { + s_logger.debug("Using root disk size of " + size + " for volume " + name + "since specified root disk size of " + rootDisksize + " is smaller than template"); + } } - VolumeVO vol = new VolumeVO(type, name, vm.getDataCenterId(), owner.getDomainId(), owner.getId(), offering.getId(), size, offering.getMinIops(), offering.getMaxIops(), - null); + + minIops = minIops != null ? minIops : offering.getMinIops(); + maxIops = maxIops != null ? maxIops : offering.getMaxIops(); + + VolumeVO vol = new VolumeVO(type, name, vm.getDataCenterId(), owner.getDomainId(), owner.getId(), offering.getId(), size, minIops, maxIops, null); + vol.setFormat(getSupportedImageFormatForCluster(template.getHypervisorType())); if (vm != null) { vol.setInstanceId(vm.getId()); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0eb99673/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0eb99673/server/src/com/cloud/storage/VolumeApiServiceImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/0eb99673/server/src/com/cloud/vm/UserVmManagerImpl.java ----------------------------------------------------------------------