Currently XcpServerDiscoverer.java is only allowing till XenServer 6.1.0. Added
code to support XenServer 6.2.0. Also, added support to allow the RC build
of XenSever 6.2.0.
Signed-off-by: venkataswamybabu budumuru <venkataswamybabu.budumuru@citrix.com>
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
Made vcenter as required parameter to addVmwareDc API.
Removed stale parameter url from addVmwareDc API.
Improved Exception handling, logging remote exception details.
For static NAT rule an IP pool gets created in VNMC. In order to make the pool name unique the rule id is appended. Since static NAT rules are not stored in CS db. like PF/FW rules, the id was always set to 0.
As a result the pool was always getting overridden everytime a static NAT rule is created. Fixed it by appending the public IP address id along with a character indicating that the pool is used for static NAT rule to the pool name.
Provide mock implementations for all network commands in the
MockNetworkManagerImpl of the simualtor
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Renaming the method in the command objects to be uniform with
PlugNicCommand/UnplugNicCommand.getVmName
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
And the components-simulator.xml configuration. Both are unused as we
use Spring injection now.
Remove unused rebootVM method
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
mapped to it is serviced by VR
For remote LB services that are not running on NetScaler, there needs to
be a LB monitor bound to GSLB service. Otherwise service is shown down.
This fix binds a LB monitor with GSLB services.
inactive VM definitions block a new VM starting. Definitions aren't supposed to
be persistent, but sometimes a crash or failed migration can leave behind a
definition.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1370299734 -0600
SimulatoComponentContext need sto include the dedicated resource manager
to see the commands/apis exposed by it.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Moving the package one level up so API discovery can discovery APIs from
org.apache.cloudstack.api.* This also keeps the plugin uniform with the
other plugins which have their APIs in org.apache.cloudstack.api
namespace.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Added hypervisor type to CreateStoragePoolCmd & Storage pool responses.
DatastoreLifeCycle would consider hypervisor type while attaching datastore to zone.
ZoneWideStoragePoolAllocator would filter zone wide primary storage pools by hypervisor type along with tags in disk profile.
hypervisor type is mandatory parameter if scope is specified as ZONE while creating primary storage pool.
As of now KVM, VMware are allowed to use ZoneWideStoragePoolAllocator.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Whitespace cleanup
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Removing injections which are not required in Vmware Manager
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to application context.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Unit tests for vmware storage motion. These test the VmwareStorageMotionStrategy.
CLOUDSTACK-659
Fixing migrate volume.
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Added vm type to prepareNetworkFromNicInfo in MigrateWithStorageCommand implementation.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Fixing attach volume and delete volume cases for volumes that are moved off original path in datastore when created.
If volume is not found in root directory or datastore, do search in sub folders.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Sending command MigrateWithStorageCommand to source host instead of target host for the case of migration of VM within cluster.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Searching for virtual disk during device tear down.
Adding dependency of 'cloud-engine-storage' to vmware hypervisor plugin.
Add hypervisor capability storage_motion_supported for VMware 5.0 and 5.1
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to deal with storage motion tasks.
Added target host parameter to MigrateWithStorageCommand.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to application context.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Unit tests for vmware storage motion. These test the VmwareStorageMotionStrategy.
CLOUDSTACK-659
Fixing migrate volume.
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Added vm type to prepareNetworkFromNicInfo in MigrateWithStorageCommand implementation.
Adding dependency of 'cloud-engine-storage' to vmware hypervisor plugin.
Add hypervisor capability storage_motion_supported for VMware 5.0 and 5.1
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to deal with storage motion tasks.
Added target host parameter to MigrateWithStorageCommand.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to application context.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
Unit tests for vmware storage motion. These test the VmwareStorageMotionStrategy.
CLOUDSTACK-659
Fixing migrate volume.
Adding dependency of 'cloud-engine-storage' to vmware hypervisor plugin.
Add hypervisor capability storage_motion_supported for VMware 5.0 and 5.1
Adding dependency of 'cloud-engine-storage' to vmware hypervisor plugin.
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to deal with storage motion tasks.
Added target host parameter to MigrateWithStorageCommand.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware Added
Resource changes to perform VM live migration along with virtual disks across the clusters in a zone.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
CLOUDSTACK-659
Support for storage migration in Cloudstack deployment over VMware
Added VmwareStorageMotionStrategy to application context.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for volume live migration across datastores
CLOUDSTACK-659
Fixing migrate volume.
Unit tests for vmware storage motion. These test the VmwareStorageMotionStrategy.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Sending command MigrateWithStorageCommand to source host instead of target host for the case of migration of VM within cluster.
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Moved 2 methods that are not specific to VMware but Volume are moved to VolumeManager from VmwareManager.
Moved datastore volume path constructing code to separate method.
Added check for source and target host, if they are from different DCs/vCenter instances.
Updated error message & removed stale comment
CLOUDSTACK-2701 - Enable storage migration for VMware resources
Injecting component VolumeManager into VmwareResource.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Introduced 2 new API command classes AddVmwareDcCmd & RemoveVmwareDcCmd.
The new APIs are addVmwareDc & removeVmwareDc, these APIs will associate a Vmware datacenter to a cloudstack zone & dis-associate a Vmware datacenter from a cloudstack zone.
Constraint checks are added for infrastructure change operations in zone that encompass resources like clusters.
Constraint checks are added in discoverer and manager classes.
Added a service 'VmwareDatacenterService' to expose methods that will have API implementation for 2 APIs addVmwareDc & removeVmwareDc
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Support for DB changes for Vmware datacenter objects
Support for DB changes to store mapping with CloudStack zones.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
Issues:
In Implicit planner resource usage is fixed to "Dedicated". It should be Dedicated/Shared depending upon the Implict Planner strict/preferred modes and hosts availability.
Fixed:
Issue is fixed by determining the resource usage to be "Dedicated/Shared" depending upon the Implicit strict/preferred mode and the hosts availability for the planner.
This feature allows a user to deploy VMs only in the resources dedicated to his account or domain.
1. Resources(Zones, Pods, Clusters or hosts) can be dedicated to an account or domain.
Implemented 12 new APIs to dedicate/list/release resources:
- dedicateZone, listDedicatedZones, releaseDedicatedZone for a Zone.
- dedicatePod, listDedicatedPods, releaseDedicatedPod for a Pod.
- dedicateCluster, listDedicatedClusters, releaseDedicatedCluster for a Cluster
- dedicateHost, listDedicatedHosts, releaseDedicatedHost for a Host.
2. Once a resource(eg. pod) is dedicated to an account, other resources(eg. clusters/hosts) inside that cannot be further dedicated.
3. Once a resource is dedicated to a domain, other resources inside that can be further dedicated to its sub-domain or account.
4. If any resource (eg.cluster) is dedicated to a account/domain, then resources(eg. Pod) above that cannot be dedicated to different accounts/domain (not belonging to the same domain)
5. To use Explicit dedication, user needs to create an Affinity Group of type 'ExplicitDedication'
6. A VM can be deployed with the above affinity group parameter as an input.
7. A new ExplicitDedicationProcessor has been added which will process the affinity group of type 'Explicit Dedication' for a deployment of a VM that demands dedicated resources.
This processor implements the AffinityGroupProcessor adapter. This processor will update the avoid list.
8. A VM requesting dedication will be deployed on dedicatd resources if available with the user account.
9. A VM requesting dedication can also be deployed on the dedicated resources available with the parent domains iff no dedicated resources are available with the current user's account or
domain.
10. A VM (without dedication) can be deployed on shared host but not on dedicated hosts.
11. To modify the dedication, the resource has to be released first.
12. Existing Private zone functionality has been redirected to Explicit dedication of zones.
13. Updated the db upgrade schema script. A new table "dedicated_resources" has been added.
14. Added the right permissions in commands.properties
15. Unit tests: For the new APIs and Service, added unit tests under : plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/DedicatedApiUnitTest.java
16. Marvin Test: To dedicate host, create affinity group, deploy-vm, check if vm is deployed on the dedicated host.
An extra public ip is acquired while implementing the vnmc element as there is a limitation where in the source nat cannot be used as asa outside ip.
As a result of this when the network gets re-implemented an additional ip is acquired every time. The fix involves checking for existing public ips
in the network and reuse it in case it is not a source nat ip for assigning to asa outside interface.
DevCloud is a XCP Kronos based xen. For this we use the XcpOssResource
whose memory limits were not set explicitly. Instead the base
CitrixResourceBase would set the limits. static_min was set to 128MB
failing the cpvm and ssvm start fails whose offerings have 100MB set to
the max limits.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
RBD format 2 supports cloning (aka layering) where one base image can serve
as a parent image for multiple child images.
This enables fast deployment of a large amount of virtual machines, but it also
saves spaces on the Ceph cluster and improves performance due to better caching.
Qemu-img doesn't support RBD format 2 (yet), so to enable these functions the
RADOS/RBD Java bindings are required.
This patch also enables deployment of System VMs on RBD storage pools. Since we
no longer require a patchdisk for passing the boot arguments we are able to deploy
these VMs on RBD.
Detail: We do two strange things, #1, when a vm is created, we create the uuid
for the domain by converting the name into a uuid, then subsequently, any time
we look for a domain, we convert its name to a uuid and domainLookupByUUID. This
is an unnecessary obfuscation, so instead we just do a domainLookupByName. As
a bonus, we are now setting the domain's uuid to be the cloudstack uuid. It is
no longer used anywhere, but will be less confusing to admins. This shouldn't
affect upgrades, since we can always lookup existing VMs by name.
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1369287049 -0600
Detail: Undefine VM after migration. Lingering domain definitions cause
migrations back to the original host to fail, since domain already exists.
BUG-ID: CLOUDSTACK-2640
Bugfix-for: 4.1.0,4.2.0
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1369285950 -0600