Commit Graph

186 Commits

Author SHA1 Message Date
Alex Huang aa757f0303 fixed the problem that vms in starting state were not being cleaned up when management server restarts 2011-07-08 00:05:29 -07:00
Kelven Yang 1edf772f92 bug 10480, 10494: NPE fix in VirtualMachineManagerImpl, move keystore upgrade sql to upgrade225to226.sql 2011-06-28 15:00:34 -07:00
anthony 9b56ac973e host is stucked in prepareMaintenance mode if you put last host into maintenance mode,
fixed

Conflicts:

	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
2011-06-27 11:36:10 -07:00
alena 41f12eb642 Pass isForRebalance parameter to processConnect method of all the listeners - some listeners don't have to be notified when connection happens as a a part of Agent Rebalance process (VirtualMachineManagerImpl listener for instance) 2011-06-27 10:20:41 -07:00
alena 0bf34f3612 bug 10447: don't notify VirtualMachineManager listener when do host rebalance - vm sync is not needed in this case.
status 10447: resolved fixed
2011-06-27 10:20:40 -07:00
Edison Su 28f0068151 add new option to force destroy vm when delete host, if the VMs are created on local storage 2011-06-23 20:36:13 -04:00
Murali Reddy 1bfe6d8d72 Bug 10377 - API listAccounts return vmtotal=-14 2011-06-23 17:28:09 +05:30
Abhinandan Prateek a1622d9f75 bug 10062: reverting the change as the error can be due to several factors in deployment of domain router 2011-06-23 10:41:37 +05:30
Kelven Yang be38384e76 bug 10414: update VM sync logic and capacity management to sync VM state change initiated from external source 2011-06-22 18:25:35 -07:00
Alex Huang da402fdd35 added back @DB annotation 2011-06-21 10:44:46 -07:00
Alex Huang 78d19f8690 bug 10368: better fix for the db connection problem. 2011-06-20 16:30:38 -07:00
Alex Huang dc605655a0 removed useless manager declarations 2011-06-20 16:20:48 -07:00
Kelven Yang 50c1652172 bug 8996: make VMsync to track host change 2011-06-20 16:13:46 -07:00
Alex Huang e4f42d0e52 bug 10368: Print out the hash code of the db connection instead of the toString(). Changed the transaction in changeToStart() method to be of a shorter interval so it won't cause so many db connection exceptions 2011-06-20 11:30:23 -07:00
Alex Huang 36ee97334b bug 10352: fixed the issue. I mistakenly threw an exception when I was not suppose to 2011-06-17 17:18:04 -07:00
Kelven Yang 2a6307f272 1) Remove customer field applied to virtual machine in VMware. 2) always track VM host change in VMware regardless whether or not native HA is enabled 2011-06-16 16:22:11 -07:00
Abhinandan Prateek db94ece73b bug 10062: better error message 2011-06-15 10:05:45 +05:30
Alex Huang 1ac7276942 bug 10260: propagate ha and deployment planner fixes 2011-06-13 17:36:32 -07:00
Alex Huang 1561275838 bug 10260: propagate ha and deployment planner fixes 2011-06-13 17:35:34 -07:00
Alex Huang 1d7e70acd1 bug 10260: propagate ha and deployment planner fixes 2011-06-13 17:35:20 -07:00
Alex Huang d9e0bcfa1e bug 10126: Renamed getPodId() to getPodIdToDeployIn() 2011-06-03 22:17:08 -07:00
Alex Huang 2ceadec326 bug 9651: tags parameter added to createnetwork 2011-06-01 17:36:14 -07:00
Frank 9961e1ca2a Fix NPE when reboot vm
vm.podId has different meaning than you think
2011-06-01 11:54:20 -07:00
Alex Huang e552f118af propagated bf8afdbc7af3c0e9fbc90c841fedec57ac7b8cdf 2011-05-17 16:02:44 -07:00
Alex Huang ea9703997b proxy agent 2011-05-17 07:12:58 -07:00
Abhinandan Prateek 029a9e6a8a bug 9815: ClassCastException: com.cloud.agent.api.Answer cannot be cast to com.cloud.agent.api.StopAnswer
status 9815: resolved fixed

The type cast should be done after making sure that the command was successful. Otherwise you may have the base Answer returned.
2011-05-10 11:41:20 +05:30
prachi 4c89cc57ae Bug 9652: Need to provide a way to specify deployment plan during VM start
Changes:
- Throw an exception if the deployment plan passed into start() cannot be satisfied by the current constraints (such as root volume is already created in a pool in a different
cluster).
2011-05-06 14:39:53 -07:00
Alex Huang 7bc25643a9 propagating fix from 2.2.4 2011-05-05 17:57:06 -07:00
Alex Huang 117a81acf6 cleanup agent manager 2011-05-05 17:57:06 -07:00
prachi 9aba817256 Bug 9652: Need to provide a way to specify deployment plan during VM start
Changes:
- Added a new parameter to pass in deployment plan during vm start
- If a hostId is passed in to the DeployVMCmd (only allowed for a root admin to test a host), a plan is passed in to start the vm in that host's datacenter, pod and cluster and on that host
- If a plan is passed in during start, but if the VM's root volume is READY, then plan of the root volume takes precedence. In that case the plan passed in is not used.
2011-05-04 15:02:52 -07:00
Alex Huang fba1c95512 bug 9615: Part of the HA cleanup 2011-05-03 16:34:53 -07:00
Alex Huang 8c8354a00e bug 8745: we decided on not implementing revert on the agent because it really requires business logic above. Stop if the checkSsh doesn't work 2011-05-02 14:47:49 -07:00
anthony 93eb893c22 misuse instanceName and name, which causes vm sync behavior weirdly 2011-04-29 19:01:46 -07:00
anthony bbc470ed4f bug 9619: handle two types of domr name
status 9619: resolved fixed
2011-04-29 14:13:25 -07:00
Alex Huang 99bc15f64a changed getName to getHostname 2011-04-29 08:34:10 -07:00
prachi 209be1065b Bug 9585 - Existing Data Disk is being destroyed and recreated on Stop and Start of a User VM.
Changes:
- When the ROOT volume of a VM is found to be READY, changed planner to reuse the pool for every volume(root or data) that is READY and that has a pool not in maintenance and not in avoid state
- If ROOT volume is not ready, we dont care about the DATA disk. Both would get re-allocated.
- When a pool is reused for a ready volume, Planner does not call storagepool allocators. And such volumes are not assigned a pool in the deployment destination returned by the planner. Accordingly StorageManager :: prepare method wont recreate these volumes since they are not mentioned in the destination.
2011-04-27 11:36:51 -07:00
prachi 6e39019b6a Bug 9548 [Cloud Stack Upgrade - 2.1.8 to 2.2.4] System VM's Volumes Recreation is not happening on an event of New Volume creation Failures
Changes:
- Reason was that the old volume's templateId was being updated before volume creation was attempted. So on the retry, we dint find a difference in volume's templateId and VM's templateId and did not enter the recreation logic.

- Fix is to update the new volume's templateId with the VM's templateId while creating the new volume. The old volume's templateId stays the same and the volume is marked as 'Destroy' when a new volume is created.
2011-04-26 11:35:24 -07:00
Murali Reddy 435c20c0cc Bug 9273: resource cont going -ve
adding addtional check that ensure we decrease the count in advanceStart only on new vm creation.
2011-04-22 01:19:23 +05:30
alena 22ee7117f5 bug 9521: fixed NPE in finalizeCommandsOnStart() method by adding vm's nic to vm profile during the vm to vmProfile conversion.
status 9521: resolved fixed
Conflicts:

	server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
	server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
2011-04-20 16:16:01 -07:00
alena f881d394e2 bug 9415: deleteHost - cleanup vms running on the host to be removed
status 9415: resolved fixed
2011-04-20 15:50:10 -07:00
Kelven Yang 7103e1c9a7 global replacement to avoid using getClass().getName() for unique names 2011-04-19 17:26:41 -07:00
Frank 92155522f2 Add license header to files 2011-04-14 11:23:14 -07:00
prachi b1700af146 Bug 9387: Recreate system vms if template id changed....
Changes:
While starting a System VM:
- We check, incase the ROOT volume is READY, if the templateID of the volume matches the SystemVM's template.
- If it does not match, we update the volumes' templateId and ask deployment planner to reassign a pool to this volume even if it is READY.

In general:
- If a root volume is READY, we remove its entry from the deploydestination before calling storagemanager :: prepare()
- StorageManager creates a volume if a pool is assigned to it in deploydestination passed to it.
- If a volume has no pool assigned to it in deploydestination, it means the volume is ready and has a pool already allocated to it.
2011-04-13 13:47:07 -07:00
Murali Reddy 9bf2d32884 Bug 9273 : resource counts going -ve
pushing 2.2.4 fix in to master
2011-04-13 17:43:12 +05:30
prachi 80fe0b584d More changes for Bug 9387:
- Update system vm_instance's template_id if it does not match the system vm template.
- Use _templateDao.findSystemVMTemplate to find the latest system vm template.
2011-04-12 18:20:01 -07:00
prachi 47c31a077a Bug 9387 - Recreate system vms if template id changed...
Changes:
- Planner must reassign the storage pool if the template id for system vms has changed.  StorageManager must then recreate the volume if the volume has been
reassigned.  This is needed to do automatic update of the system template.
2011-04-12 18:19:58 -07:00
anthony ac223c197f bug 9392: don't lock domr entry, otherwise updating domr state fails
status 9392: resolved fixed
2011-04-11 16:06:12 -07:00
Frank 105db3b15a Merge branch 'baremetal' to master
modifies:
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/commands/AddHostCmd.java
	api/src/com/cloud/api/commands/CreatePodCmd.java
	api/src/com/cloud/api/commands/DeployVMCmd.java
	api/src/com/cloud/dc/Pod.java
	api/src/com/cloud/network/NetworkService.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/dc/HostPodVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	setup/db/create-schema.sql
	utils/src/com/cloud/utils/SerialVersionUID.java
2011-04-11 14:21:41 -07:00
Murali Reddy 290c799b2c Bug 9273 : [Stress Test] 'Count' in resource_count table has negative values
pushing 2.2.4 changes in to master
2011-04-11 15:37:53 +05:30
Alex Huang 075fba5899 stackmaid is now taskmanager 2011-04-05 10:17:22 -07:00
prachi 53f8ebf6f0 Bug 9043 - VM manual migration - when destination host is out of memory for migration, VMs being migrated remained in 'migrating' state
Changes:
- When migration fails we try to do cleanup on the destination host agent. The AgentUnavailableException in this cleanup was not caught.
-Due to that other cleanup like reverting capacity allocated and vm state were skipped.
-Fix is to catch the AgentUnavailableException so that rest of the cleanup can happen.
- Also corrected the exceptions in various cases of migration failure.
- In case the VM is still starting, HA should schedule a retry. Introduced a special migration exception for handling this.
2011-04-04 17:30:08 -07:00
anthony 8712334ae2 bug 9161:
add more log
2011-03-28 14:46:54 -07:00
Alex Huang 9d158dc060 Removed the async create status for volume now that our customers don't use it 2011-03-24 20:04:23 -07:00
prachi 923f562aa8 Bug 6873: disable/enable mode for clusters (and pods and zones and hosts)
- Added a new flag 'allocation_state' to zone,pod,cluster and host
- The possible values for this flag are 'Enabled' or 'Disabled'
- When a new zone,pod,cluster or host is added, allocation_state is 'Disabled' by default.
- For existing zone,pod,cluster or host, the state is 'Enabled'.
- All Add/Update/List  commands for each of zone,pod,cluster or host can now take a new parameter 'allocationstate'
- If 'allocation_state' is 'Disabled', Allocators skip that zone or pod or cluster or pod.
- For a root admin, ListZones lists all zones including the 'Disabled' zones. But for any other user, the 'Disabled' zones are not included in the response.
- For any usecase that creates/deploys/adds/registers a resource and takes in zone as parameter, now we check if the Zone is 'Disabled'. If yes then the operation cannot be performed by a user other than root-admin. Add volume, snapshot, templates are examples of this usecase.
- To enable the root admin to test a particular pod/cluster/host, deployVM command takes in 'host_id' parameter that can be passed in only by root admin.
If this parameter is passed in by the admin, allocators do not search for hosts and use that host only. StoragePools are searched in the cluster of that host.
If VM cannot be deployed to that host, allocators and deployVM fails without retrying
2011-03-23 22:15:35 -07:00
anthony d2dc0a504b put host into maintenance, if the VM can not migrate, just stop it 2011-03-23 16:50:59 -07:00
Frank d297eea96f Bug 8208 - bare metal provisioning
do fullsync in baremetal resource
2011-03-15 15:29:52 -07:00
prachi ed9a11c6b6 API changes for Bug 3316 - Manual live migration of Virtual Machines
This is a Root admin only functionality
---------------------
Service API changes:
---------------------
- ManagementServer  will expose new API:
   Pair<List<HostVO>, List<Long>> listHostsForMigrationOfVM(UserVm vm, Long
startIndex, Long pageSize)
The API returns list of all hosts in the VM's cluster minus the current host and also a list of hostIds that seem to have enough CPU and RAM capacity to host this VM.
- ListHostsCmd will call this service API if virtualmachineid is present in the request.
- MigrateVmCmd is the new command added that takes in virtualmachineid and destination hostid
- UserVmService  will expose a new API:  UserVm migrateVirtualMachine(UserVm vm, Host destinationHost)

------------------------------------
API throws error in following cases:
------------------------------------
- User is not a root Admin. (‘Permission denied’)
- A VM uses local storage, we cannot migrate it, so ‘listHosts’ will throw error.
- We fail to migrate the VM on the chosen host.
- API will support migration for XenServer only currently. So error is thrown
if hypervisor is not XenServer (e.g KVM, vSphere etc)
- Destination host is not in same cluster as source host.
- VM is not in running state
2011-03-11 17:49:53 -08:00
Kelven Yang 6203ba6bfe bug 8558: improve cluster management 2011-03-09 17:18:48 -08:00
alena 4f4683ec93 bug 8937: throw an Exception when fail to reapply Firewall rules as a part of network Implement
status 8937: resolved fixed
2011-03-09 16:24:28 -08:00
Frank 6c819c1491 Merge branch 'bareMetal'
Conflicts:
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/commands/DeployVMCmd.java
	api/src/com/cloud/offering/ServiceOffering.java
	api/src/com/cloud/vm/UserVmService.java
	client/tomcatconf/components.xml.in
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/deploy/FirstFitPlanner.java
	server/src/com/cloud/service/ServiceOfferingVO.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
2011-03-08 14:18:11 -08:00
alena b20fafeaa4 bug 8874: rebootVm - don't try to implement already implemented network
status 8874: resolved fixed
2011-03-07 10:23:48 -08:00
Frank 7fa053370e Bug 8208 - bare metal provisioning
Add bare metal planner
2011-03-01 17:47:37 -08:00
alena a1e9f7d5c2 Return false when vm fails to stop 2011-03-01 14:45:39 -08:00
Frank 35b7c26689 Bug 8208 - bare metal provisioning
able to start, stop, reboot, destroy VM
2011-03-01 11:40:40 -08:00
prachi 889827b63a Bug 7845 - Productize DeploymentPlanner
Bug 7723 - merge or re-write host tagging into master / 2.2
Bug 7627 - Need more logging for Allocators
Bug 8317 - Add better resource allocation failure messages

Changes for Deployment Planner to use host and storagePool allocators to find deployment destination.
Also has the changes for host tag feature.
Improved the logging for allocators.
2011-02-28 13:47:51 -08:00
Frank 5035778b1a Bug 8208 - bare metal provisioning
StartCommand cloud reach to BareMetalResrouce
2011-02-24 19:22:34 -08:00
Frank f82dec999d Bug 8208 - bare metal provisioning
complete createVirtualMachine method
2011-02-24 14:07:10 -08:00
alena 57f6b16cdb bug 8719: fixed NPE happening during HA process - get control nic infrormation in finalizeCommandsOnStart() method instead of setting it in caller methods
status 8719: resolved fixed
2011-02-23 19:35:22 -08:00
Kelven Yang 8695e7250c Update template and storage manager to allow hypervisor based command delegation 2011-02-18 11:37:50 -08:00
anthony 6dcbd3bbfd use returned VO 2011-02-17 15:11:38 -08:00
anthony 80a328034c bug 8609: when failed to start a VM in HA (due to domr is not migrated), a runtimeException is thrown out, caused HA for this VM is not resheduced.
status 8609: resolved fixed
2011-02-16 14:20:28 -08:00
Alex Huang b0f0efa29b more changes to make it work better in a cluster 2011-02-11 17:03:04 -08:00
Alex Huang db7bc893b9 added cluster awareness to vm start/stop 2011-02-11 17:03:04 -08:00
Edison Su 08285af33f fix capacity caclulation issue after migration 2011-02-09 13:33:42 -05:00
Alex Huang b92fc074aa added forced paramter to stop apis 2011-02-08 15:38:26 -08:00
kishan 75e596bb80 bug 7952, 8363: Fixed usage events for Vm destroy and recover
status 7952, 8363: resolved fixed
2011-02-08 16:57:46 +05:30
nit a3b1609199 bug 8463: Decrease the resource_count if vm fails to Start and goes to ERROR state.
status 8463: resolved fixed
2011-02-08 16:52:09 +05:30
Alex Huang 5d796c718b bug 7612: fixed a bug where if start when through all retries, we throw an exception 2011-02-07 17:17:34 -08:00
Alex Huang bee6953e09 ha done? needs testing 2011-02-07 10:58:25 -08:00
Alex Huang f948926a2f some minor adjustments before doing the big work 2011-02-07 10:58:25 -08:00
alena e9dd1ee822 bug 8383: HA: perform ssh check before marking system vms as running. For domR, also reapply all ips/PF/LB/VPN/Dhcp/Userdata.
status 8383: resolved fixed
2011-02-04 14:33:14 -08:00
Alex Huang e153ab461c removed unused method 2011-02-04 11:56:21 -08:00
Alex Huang 86e51eb536 Made changes to the exceptions thrown by NetworkManagerImpl 2011-02-04 11:56:20 -08:00
Alex Huang 0105c03a27 initial HA work 2011-02-04 11:51:14 -08:00
kishan 16f1a3a548 bug 7955: Added usage for network offerings
status 7955: resolved fixed
2011-02-03 15:49:59 +05:30
kishan 5007f37479 bug 8320: Include router private Ip in stop command
status 8320: resolved fixed
2011-02-03 11:37:47 +05:30
alena a21ce17c09 1) More logging during vm cleanup when the vm fails to start
2) Cleanup nic info in the DB during nicRelease
2011-02-01 12:16:18 -08:00
Alex Huang 60518dc226 storage rewrite 2011-01-28 15:37:00 -08:00
abhishek 5d18c4c527 bug 8242: introducing the concept of work queue for storage; introducing storage states as opposed to using host states; using row locks as opposed to db table locks
status 8242: resolved fixed
2011-01-28 13:43:36 -08:00
alena 52dd679d95 bug 8185: fixed java part of password reset feature. There are still changes needed in backend scripts (bugs 8253 and 8254 are filed separately)
status 8185: resolved fixed
2011-01-27 17:24:09 -08:00
Kelven Yang 3b846961ce Bug 8229: Add finalizeExpunge to VirtualMachineGuru interface to allow overriding cleanup operations at expunging stage
Status 8229: Resolved Fixed
2011-01-27 10:29:55 -08:00
Kelven Yang 34178bec61 1) add destroySystemVm command to allow destroying of system VMs
2) add consoleproxy.launch.max to allow specifying a configured max number of console proxy VM that can be launched within a zone(if not specified, default is 10), this is to prevent possible DoS attacks or uncontrolled usage of system resources
3) Remove some unused code.
2011-01-26 12:08:35 -08:00
Edison Su fc97034000 refactor vmstatelistener 2011-01-26 11:01:43 -05:00
kishan e5b2b396ec bug 8124: log VM.STOP usage event for user Vms only
status 8124: resolved fixed
2011-01-25 16:54:58 +05:30
kishan 00ebbbed6d bug 8098, 8126: Added vm destroy event during expunge
status 8098,8126: resolved fixed
2011-01-25 15:51:20 +05:30
alena 0e4196448a bug 7811: Start domR/Dhcp if it's not running when do userVmReboot
status 7811: resolved fixed

Other fixes:
* vmExpunge: cleanup LB/PF rules after vm was marked as Expunging in the DB to avoid the situation when user recovers a vm in the middle of expunge job.
2011-01-24 17:04:23 -08:00
Alex Huang fc33ef2be2 Removed several unused fields after the refactoring 2011-01-24 16:18:40 -08:00
Edison Su 314a491b9c bug 8094: forword port NetworkRulesSystemVmComman from 2.1.x to 2.2, to fix security group is lost after migration
status 8094: resovled fixed

Conflicts:

	agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java
2011-01-22 04:04:52 -05:00
Alex Huang ca22308d7d Removed useless methods 2011-01-19 14:47:34 -08:00
Alex Huang 28137b805b more cleanup work 2011-01-18 16:17:04 -08:00