Commit Graph

472 Commits

Author SHA1 Message Date
Prasanna Santhanam f321acd06d Provide mock implementations of VPC network commands
Provide mock implementations for all network commands in the
MockNetworkManagerImpl of the simualtor

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-06-05 12:47:31 +05:30
Prasanna Santhanam da6f39b782 PlugNic and UnplugNic both call the method getVmName
Renaming the method in the command objects to be uniform with
PlugNicCommand/UnplugNicCommand.getVmName

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-06-05 12:37:42 +05:30
Prasanna Santhanam 5bfe2f99d7 Enable the bean for network manager
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-06-05 12:37:41 +05:30
Prasanna Santhanam b2dccf618f Removing unused simulator component library
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>
2013-06-05 12:37:29 +05:30
Prasanna Santhanam 956a5967dd Pulling out Network operations into a separate manager
Network operations like VM, host and storage are pulled into a separate
managaer for simulator.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-06-05 12:23:07 +05:30
Marcus Sorensen ddfdc9af63 KVM - Don't fail to start due to old VM definition. On rare occasion we see
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
2013-06-03 16:48:54 -06:00
Bharat Kumar 48913679e8 CLOUDSTACK-2648 [Multiple_IP_Ranges] Reboot or start/stop router vm deletes the ip alises created on VR in case of multiple subnets
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-06-03 19:22:27 +05:30
Sateesh Chodapuneedi a0372ccd17 Setting object name in response object. 2013-06-03 17:18:16 +05:30
Wei Zhou f714d26039 Revert "CLOUDSTACK-1301: Add VM Disk I/O Throttling"
This reverts commit 6dad8adf8f.
2013-06-03 07:48:03 +02:00
Wei Zhou 6dad8adf8f CLOUDSTACK-1301: Add VM Disk I/O Throttling 2013-06-01 08:03:02 +02:00
Wei Zhou b9b0168da4 CLOUDSTACK-1192: Add Disk I/O Statistics 2013-06-01 08:00:48 +02:00
Sateesh Chodapuneedi 51996094ff CLOUDSTACK-2701 - Enable storage migration for VMware resources
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
2013-06-01 00:01:03 +05:30
Sateesh Chodapuneedi f24e81fe0d 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

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>
2013-05-31 21:19:28 +05:30
Sateesh Chodapuneedi f5f00ee0ea Adding dependency of 'cloud-engine-storage' to vmware hypervisor plugin.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-05-31 21:19:27 +05:30
Sateesh Chodapuneedi 08afeb49d7 Temporarily disabling some of the tests that are failing. 2013-05-31 17:56:33 +05:30
Sateesh Chodapuneedi 55b3e69733 Added check for legacy zones. Improved log statements.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-05-31 13:33:46 +05:30
Sateesh Chodapuneedi 4b67b1d36a CLOUDSTACK-1963 New mapping model for CloudStack zone and Vmware datacenter
Unit tests to test functionality of the feature.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-05-31 13:33:46 +05:30
Sateesh Chodapuneedi 1f790e615a CLOUDSTACK-1963 New mapping model for CloudStack zone and Vmware datacenter
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>
2013-05-31 13:33:45 +05:30
Sateesh Chodapuneedi 6cd87d2e21 CLOUDSTACK-1963 New mapping model for CloudStack zone and Vmware datacenter
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>
2013-05-31 13:33:45 +05:30
Nitin Mehta 0a5e3fa607 CLOUDSTACK-2060
Global config to turn off dynamically scale vm functionality
2013-05-30 15:11:08 +05:30
Sateesh Chodapuneedi 4b9b475336 Add method getVolumeRelativeDirInSecStroage to fix compile error. 2013-05-30 11:23:12 +05:30
Anthony Xu ddba994a97 unitNumber is per adapter/controller not per VM in wmware, after this patch, you can plug in up to 10 NICs to vmware VM 2013-05-29 15:57:25 -07:00
Anthony Xu a91f04e759 migrate volume in Vmware leaves a copy of this volume untracked in secondary storage,
this patch removes the volume in secondary storag after volume migration
2013-05-29 14:11:57 -07:00
Nitin Mehta 8d1189c2ae CLOUDSTACK-2060
Global config to turn off dynamically scale vm functionality
2013-05-29 19:02:06 +05:30
Hiroaki KAWAI cfd8056c14 remove a call path that cause NullPointerException
QemuImg.convert expects the arguments not null.
2013-05-28 20:54:01 +09:00
Wido den Hollander 322db71eed agent: Only probe running VMs for the current Hypervisor Type
Otherwise we try to probe for LXC VMs on a KVM hypervisor and vise versa.
2013-05-26 11:38:41 +02:00
Prasanna Santhanam 5b902c7005 CLOUDSTACK-2683: DevCloud systemVMs fail to launch
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>
2013-05-26 14:49:52 +05:30
Wido den Hollander bef3a2edb7 CLOUDSTACK-1191: rbd: Use cloning for deploying templates instead of a copy
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.
2013-05-24 16:00:08 +02:00
Jayapal d8f5f2ea10 CLOUDSTACK-2671 Updated vpc private gateway scipt args 2013-05-24 18:54:04 +05:30
Marcus Sorensen fce59b8fc4 Summary: Code cleanup for KVM - look up domains by name rather than coversion
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
2013-05-22 23:30:49 -06:00
Marcus Sorensen 795fd803da Summary: KVM - double migration can fail
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
2013-05-22 23:12:30 -06:00
Devdeep Singh 85ff507094 CLOUDSTACK-2602. XenServer storage motion strategy returns true for canHandle even though hosts are of different hypervisor type. Fixed the canHandle routine to return true only if source and destination hosts are of type XenServer. 2013-05-22 17:47:11 +05:30
Nitin Mehta a67728b312 CLOUDSTACK-2567 - check for ! dmcEnabled. 2013-05-22 15:31:18 +05:30
Nitin Mehta a58ee74e1c CLOUDSTACK-2567 - Check whether DMC - dynamic memory control is enabled for the hyervisor before trying to scale the vm. If its not then dont scale and instead throw and exception. 2013-05-21 16:39:25 +05:30
Devdeep Singh 904a2a87f7 CLOUDSTACK-2601 : xen.heartbeat.interval doesn't change the parameter passed to xenheartbeat.sh. Made changes to read the parameter from config and to pass it to the resource.
Signed-off-by: Devdeep Singh <devdeep@gmail.com>
2013-05-21 13:33:07 +05:30
Prasanna Santhanam 8da7ec05f1 CLOUDSTACK-2085: DMC enable guest scaling
When dmc is enabled allow cloudstack to scale the VM between dynamic
ranges. This requires a further commit where there is enough memory
available between dynamic-max and static-max for the VM to scale under
memory pressure. See the TODO in Xenserver56FP1Resource.java

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-20 17:51:49 +05:30
Prasanna Santhanam 85d54cd1c0 CLOUDSTACK-2554: Incorrect compute of minmemory and cpu
23e54bb0 introduced multiple hypervisors support for cpu and memory
overcommit. Here the HypervisorGuru base which determines the min, max
range for the memory for all hypervisors computes the minCpu using the
MemoryOverCommit ratio and minMemory using the CpuOverCommit ratio.

Minor typo/logic issue but massive damage across all HV if enabled ;)

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-19 18:34:27 +05:30
Prasanna Santhanam 7ea2c950f5 CLOUDSTACK-2554: Ensuring that we honor hypervisor xen's memory constraints
When setting memory constraints on Xen guests we should honor:
static-min <= dynamic-min <= dynamic-max <= static-max

Our VmSpec while allows the guests to like between dynamic-min and
dynamic-max the memory set by the resource set the static min to be
equal to the dynamic max. This restricts the hypervisor from ensuring
optimized memory handling of guests.

see: http://wiki.xen.org/wiki/XCP_FAQ_Dynamic_Memory_Control#How_does_XCP_choose_targets_for_guests_in_dynamic_range_mode.3F

Another fix was related the restrict_dmc option. when enabled (true)
this option disallows scaling a vm. The logic was reverse handled
allowing scaling when restrict_dmc was on. This control flow is now
fixed.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-19 18:34:27 +05:30
Prasanna Santhanam 806aeb990d CLOUDSTACK-2554: CloudStack fails to load XCP 1.6 hypervisors
Missing default constructor fails the agent manager reloading the XCP
resource on reboot of management server. This is fixed by using the
default constructor as do other Xen resources and include a new resource
ala XenServers for XCP1.6.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-19 18:34:26 +05:30
Wido den Hollander 239bb13dde Better parse domain XMLs so network devices can be detached as well 2013-05-18 10:34:22 +02:00
Wido den Hollander 5646f5e977 rbd: Allow RBD disks to be attached to a Instance 2013-05-17 17:34:05 +02:00
Prachi Damle a2eb7bab1e CLOUDSTACK-2056: DeploymentPlanner choice via ServiceOffering
- Changes merged from planner_reserve branch
- Exposing deploymentplanner as an optional parameter while creating a service offering
- changes to DeploymentPlanningManagerImpl to make sure host reserve-release happens between conflicting planner usages.
2013-05-16 15:02:17 -07:00
Vijayendra Bhamidipati 15be97772e PVLAN : Implementing PVLAN deployment capability for VMware deployments in cloudstack. 2013-05-16 14:50:16 -07:00
Wei Zhou a29e39365a CLOUDSTACK-2545: Change unit of network statistics from 1000 to 1024 for KVM
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2013-05-16 22:07:50 +01:00
Sheng Yang 2d2c0c48cd Merge branch 'pvlan'
Conflicts:
	scripts/vm/hypervisor/xenserver/xenserver60/patch
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/NetworkServiceImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java
2013-05-15 16:08:08 -07:00
Marcus Sorensen bfc5887a1b Summary: Use hypervisor as clock source for system vms
BUG-ID: CLOUDSTACK-2492
Bugfix-for: 4.1,master
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1368635782 -0600
2013-05-15 10:36:22 -06:00
Wido den Hollander 68a428f84d CLOUDSTACK-2515: Verify if the targetPath isn't null before comparing 2013-05-15 13:57:58 +02:00
Harikrishna Patnala ffe90c0059 CLOUDSTACK-2085: VM weight on xen remain same as before vmscaleup ;because "Add-To-VCPUs-Params-Live.sh" is not getting copied on xs host
Fixed by updating the patch files that has
 entries to copy scipts on xenserver. Here we added
 Add-To-VCPUs-Params-Live.sh

Added a check on Host params whether host restricts Dynamic memory control(DMC) to able to allow scale up VM.
If DMC is not enabled then static max and min are set to SO.

Signed Off by - Nitin Mehta <nitin.mehta@citrix.com>
2013-05-15 16:17:21 +05:30
Jayapal Reddy 2d950e2858 CLOUDSTACK-768: ACL on private gateway 2013-05-13 19:24:23 +05:30
Bharat Kumar 052c24c4d1 CLOUDSTACK-702: Multiple ip ranges in different subnets.
This feature enables adding of guest ip ranges (public ips)  form different subnets.

In order to provide the dhcp service to a different subnet we create an ipalias on the router. This allows the router to listen to the dhcp request from the guest vms and respond accordingly. Every time a vm is deployed in the new subnet we configure an ip alias on the router. Cloudstack uses dnsmasq to provide dhcp service. We need to configure the dnsmasq to issue ips on the new subnets. Added a new class dnsmasqconfigurator which generates the dnsmasq confg file, this file replaces the old config in the router.

The details of the alias ips are stored in db in the nic_ip_alias table. Every time a new subnet is added one of the ip from the subnet is used to configure the ip alias.

I have pushed the code to  https://github.com/bvbharatk/cloud-stack/tree/Cloudstack-702 , also rebased the code with master.
I need to test the code for advanced sg enabled network using kvm.

I have added the unit test
Marvin tests are at https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=53e4965

Also accomodated some of the changes suggested by koushik.
corrected the import statements. renamed the IpAlias command to createIpAlias command.

This feature supports only ipv4
2013-05-13 17:06:44 +05:30