Commit Graph

746 Commits

Author SHA1 Message Date
Wei Zhou 15265479f6 CLOUDSTACK-2856: collectVmDiskStatistics before reboot/stop/migrate 2013-06-05 14:28:43 +02:00
Wei Zhou b9b0168da4 CLOUDSTACK-1192: Add Disk I/O Statistics 2013-06-01 08:00:48 +02:00
Saksham Srivastava 17267794ad CLOUDSTACK-681: Dedicated Resources - Explicit Dedication, Private zone, pod, cluster or host. <Patch1>
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.
2013-05-30 01:07:01 -07:00
Saksham Srivastava 62413eec10 CLOUDSTACK-2130: Fix resource_name for old NIC ID
Signed-off-by: Mice Xia <mice_xia@tcloudcomputing.com>
2013-05-30 15:24:33 +08:00
Nitin Mehta 8d1189c2ae CLOUDSTACK-2060
Global config to turn off dynamically scale vm functionality
2013-05-29 19:02:06 +05:30
Min Chen 6e55776795 CLOUDSTACK-2331: Failed to display exception object information in case of CloudRuntimeException. 2013-05-28 16:01:33 -07:00
Harikrishna Patnala a34e577d1b CLOUDSTACK-1453: support restore for VM created from ISO
This is to support restore a vm to a new/currently_attached ISO.
In the restorevm API we have an optional parameter templateId to restore the vm to the new template/ISO ID.
2013-05-24 16:41:03 +05:30
Nitin Mehta 23baacba62 CLOUDSTACK-2669 - Adding resource limit and count logic for scale vm 2013-05-24 16:06:26 +05:30
Sheng Yang 92ad6abab0 PVLAN: Fix NPE when VM are in allocated state
If vlan is not assigned for VM, nic.getBroadcastUri() would be null. Then just
ignore it.
2013-05-21 14:51:35 -07:00
Sheng Yang eb7c321426 PVLAN: CLOUDSTACK-2401: VM Migration support 2013-05-20 16:43:24 -07:00
Devdeep Singh f5c8e386e5 CLOUDSTACK-2379: Fix for issue destroy vm causing NPE. Made the following changes.
1. Made a fix to make sure a null object is added to the exception.
2. Also fixed the marvin test cases for the feature. Account cleanup will remove the vms deployed for the account. There is no need to explicitly delete the vms for the account.
3. Fixed the assertion checks for the vm created for an account. If there are multiple vms for an account, the test script needs to compare the ids with the correct instance.
2013-05-20 18:26:50 +05:30
Prachi Damle 1851f7f7f6 CLOUDSTACK-2365: Anti-Affinity - As admin , we are allowed to deploy a Vm in an affinity group that belongs to different user.
CLOUDSTACK-2349: Anti-Affinity - As admin user , using updateVMAffinityGroup() , we are allowed to update the affinity group of a Vm (that belongs to a regular user) to be set to admin's affinity group.

Changes:
- Even for root-admin make sure that the affinity group and the VM belong to same account
2013-05-17 15:33:01 -07:00
Nitin Mehta 4eb310e926 iCLOUDSTACK-2321
Fix the response of scaleVMCmd
Add Scale System vm command
2013-05-17 17:43:43 +05:30
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
Mice Xia e26442f7d0 instead of '==', use equals() to compare two strings in cloud-server 2013-05-16 16:18:53 +08:00
Mice Xia 6d57393629 instead of using '==', use equals() to test Long value equality 2013-05-16 16:00:02 +08:00
Saksham Srivastava e260817318 CLOUDSTACK-2130: UpdateDefaultNicForVirtualMachine api should also create usage events for updating new default network
Signed-off-by: Mice Xia <mice_xia@tcloudcomputing.com>
2013-05-16 14:22:36 +08: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
Nitin Mehta e107776d75 build master 2013-05-12 13:14:33 +05:30
Nitin Mehta c11dbad9c9 merge master 2013-05-11 15:28:43 +05:30
Sheng Yang 40386fc4cb PVLAN: Add network label parameter to PvlanSetupCommand
We need it to find the real bridge/switch to program on the OVS.
2013-05-01 13:23:09 -07:00
Sheng Yang 142f3b30f4 PVLAN: Remove bridge parameter in PvlanSetupCommand
Bridge is hypervisor dependent, shouldn't appear in PvlanSetupCommand.
2013-05-01 13:23:08 -07:00
Sheng Yang b64039bafd Implement PVLAN on Xen
Start/stop vm/dhcp server are done. Not done with VM migration.

A new command(PvlanSetupCommand) is sent for setting up PVLAN for vms. Currently
it's focus on OVS implementation. Need to be more abstruct and add vSwitch part.
2013-05-01 13:23:08 -07:00
Sheng Yang 9c9e2ec9cc PVLAN: Add pvlan in createNetworkCommand 2013-05-01 13:23:08 -07:00
Harikrishna Patnala 1cb9bd531f CLOUDSTACK-2180: restoreVirtualMachine returns no password if the template is password enabled
New password is generated as part of restore vm(passwd enabled template) and send new password on VR

Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-05-01 12:29:08 +05:30
Nitin Mehta c338cb7dd0 =updatenetwork changes 2013-04-28 18:13:22 +05:30
Nitin Mehta 335aca3f54 =changes #2 2013-04-28 10:28:31 +05:30
Marcus Sorensen f429c6687b Don't allow success to be reported when we fail to stop vm due to no agent
connection

BUG-ID: CLOUDSTACK-2195
Bugfix-for: 4.2
Reviewed-by: Edison Su
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1366950954 -0600
2013-04-25 22:35:54 -06:00
Nitin Mehta d1642a489c =initial changes 2013-04-25 18:29:57 +05:30
Mice Xia 79cc241c64 fix CLOUDSTACK-2157 On VMWare ESXi host deployment: Expunged VMs are not getting cleaned up from the host 2013-04-25 14:25:03 +08:00
Mice Xia 8ff442bbeb fix CLOUDSTACK-1944 Destruction of a VM with StaticNAT/FW throws a NullPointerException during VM Expunge 2013-04-24 20:11:18 +08:00
Vijayendra Bhamidipati b0caae6b33 CLOUDSTACK-1086: DeployVirtualMachine userdata enhancements
Description:

	Currently, userdata sent over to the DeployVMCmd and
	updateVMCmd commands can be upto 2K in length, whether
	sent over GET or POST. We remove this limitation for
	POST to change this limit to 32K. Also enabling lazy
	load on userdata to improve performance during reads
	of large sized userdata from user VM records.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-04-24 13:42:38 +05:30
Mice Xia 434525b836 fix CLOUDSTACK-2149 and related unit test 2013-04-24 11:12:34 +08:00
Mice Xia 5118e9e29f 1) fix CLOUDSTACK-2129 and CLOUDSTACK-2128
2) include nicId in network.offerings.assign/remove event
3) use publishUsageEvent instead of saveUsageEvent to track usageEvent
2013-04-22 19:38:32 +08:00
Devdeep Singh 21ce3befc8 Storage motion for Xenserver changes: 1. Implemented Api findStoragePoolsForMigration. Added a new response objects to list storage pools available for migration. 2. Updated migrateVolume api for allowing migrating volumes of running vms. These changes are integrated into the latest storage refactoring changes. 3. Added the implementation for findHostsForMigration api. It lists the hosts to which an instance can be migrated, including hosts from within and across clusters to which an instance may be migrated with storage motion. The work of migrating a volume of a running vm is also done in copyAsync. 4. Updated the listHosts api for backward compatibility. 5. Added the implementation for migrateVirtualMachineWithVolume api. It migrates an instance with its volumes within a cluster and also across clusters. Also introduced a new XenServerStorageMotionStrategy for migrating volumes of a vm. When a vm is being migrated with its volumes, the vm is put in migrating state and a request is send to the volume manager to migrate the vm and its volumes. Volume manager calls into the volume service which forwards the request to data motion service after moving all the volumes to migrating state. Data motion service enumerates the strategies and the request reaches the XenServerStorageMotionStrategy. It calls in to the resource to complete the operation. 6. Resolved an issue where storage xenmotion of 2nd VM created from the same template to a host was failing with duplicate_vm exception. Made changes to remove the mac_seed key value pair from other_config when vms are created. This is was storage motion to fail. 7. Updated the db upgrade schema script. 8. Added the right permissions in commands.properties 9. Marvin tests for testing storage motion. Following scenarios are tested. 9.1. A virtual machine is migrated to another host. Its volumes are also migrated to another storage pool. 9.2. Just the volumes of a vm are migrated to another storage pool while the vm continues to run on the same host. 10. Unit tests for testing migration of a vm with its volumes.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-04-19 11:36:42 +05:30
Sanjay Tripathi 0ddeb65fdf CLOUDSTACK-1966: Primary Storage Limits are not validated while deploying the VM
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-04-17 11:54:18 +05:30
Murali Reddy 90e8158db5 re-merge optional public IP for EIP service feature
Squashed commit of the following:

commit 2dae394a42
Author: Murali Reddy <murali.reddy@citrix.com>
Date:   Tue Apr 16 17:35:28 2013 +0530

    CLOUDSTACK-265: provide option to turn-off automatic public IP association
    for each VM when using EIP service.

      - introduces Capability in the network offering, which decides when EIP
        service is used, by defualt public IP should be assigned to the VM or not

      - default network offering with EIP/ELB service will still work with old
        EIP semantics, i.e) assign a public IP to each VM on start
2013-04-16 17:45:27 +05:30
Prachi Damle fc248cb99c ACl on affinity group 2013-04-11 13:23:41 -07:00
Prachi Damle c7c899f62d Fixes after functional tests
Conflicts:

	client/tomcatconf/commands.properties.in
2013-04-11 13:23:04 -07:00
Prachi Damle fe2a86871f Changes to add AffinityGroupprocessor, deployVM changes 2013-04-11 13:22:42 -07:00
Kelven Yang 913f73ab6b Apply patch https://reviews.apache.org/r/10137/ 2013-04-09 17:29:21 -07:00
Mice Xia a85b498afd 1) fix CLOUDSTACK-1946 2) remove redundant VMSnapshotVO.java 2013-04-07 17:41:26 +08:00
Sanjay Tripathi 18695276f7 CLOUDSTACK-1156: Limit Primary and Secondary storage for domain/accounts
Addition of two new resource types i.e. Primary and Secondary storage space in the existing pool of
    resource types.
    Added methods to set the limits on these resources using updateResourceLimit
    API command and to get a count using updateResourceCount. Also added calls in the
    Templates, Volumes, Snapshots life cycle to check these limits and to increment/decrement the new
    resource types

    Resource Name          :: Resource type number
        Primary Storage               10
        Secondary Storage             11

    Also added jUnit Tests for the same.
Reviewed by : nitin mehta<nitin.mehta@citrix.com>
2013-03-29 11:26:38 +05:30
Nitin Mehta 3e4430d811 CLOUDSTACK-658 - Scaleup vm support for Xenserver
Added the framweork so that it can be extended for vmware and kvm as well.
Added unitests and marvin tests.
2013-03-28 16:43:37 +05:30
Sanjay Tripathi 105618896b CLOUDSTACK-1645 : Resources limit is not validated with update compute offering [ Instances are updated to higher CPU/Memory resources though there are no resources available @ account/domain] 2013-03-14 13:44:34 -07:00
Jayapal Uradi a49261c3b1 CLOUDSTACK-24: mipn feature for basiczone
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-03-13 10:24:22 +05:30
Edison Su 409ec9c6b6 CLOUDSTACK-1426: We has strong implication that VO must implement an interface, otherwise EntityManagerImpl can't the vo 2013-03-07 18:25:57 -08:00
Nitin Mehta b12aebefee Revert "CLOUDSTACK-658 - Adding Scalevm command and XS related changes"
This reverts commit e0019eccd9.
2013-03-04 23:32:52 +05:30
Nitin Mehta e0019eccd9 CLOUDSTACK-658 - Adding Scalevm command and XS related changes 2013-03-04 14:47:55 +05:30