Commit Graph

300 Commits

Author SHA1 Message Date
alena a1331d1cfc Intermidiate checkin to Project feature:
1) Introduce new managers - ProjectManager and DomainManager. Moved all domain related code from AccountManager to DomainManager.
2) Moved some code from ManagementServerImpl to the correct managers.
3) New resource limit for Domain - Project
2011-09-20 18:35:28 -07:00
prachi 0eea1cb733 Bug 11404 - VM was in Running state, had null for a pod_id, basically didnt allow creation of subsequent vm's
Reviewed-by: Alex

Changes:
- When management server starts, it goes through all the pending work items from op_it_work table and schedules HA work for each. It used to mark each item as done. Instead we should keep the item as pending and let it get marked as Done after the HA work is done.
- Changes in VirtualMachineMgr::advanceStop() :
a) if we find a VM with null hostId, we stop the VM only if it is forced stopped.
b) if VM state transition to Stopping fails,for state Starting and Migrating we try to find the pending work item and then do cleanup the VM. In case state is Stopping we can cleanup directly.
c) We proceed releasing all resources only if state transitioned to 'Stopping'.
- Changes in HA:
a) Depend on VirtualMachineMgr::advanceStop() in case host is not found to do VM cleanup
- When Vm state between mgmt server and agent syncs from starting -> running, mark any pending work item as done.

Conflicts:

	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
2011-09-15 19:06:19 -07:00
prachi 6b82ba3ff9 Bug 11457 - NullPointerException while synching VM state from Starting -> Running between management server and agent
Reviewed-by: Kelven and Alex

Changes:
- Added log statements about the podId during deploying a VM.
2011-09-15 16:16:24 -07:00
prachi df17ce5648 Bug 11457 - NullPointerException while synching VM state from Starting -> Running between management server and agent
reviewed-by: Alex/Kelven

Changes:
1.	UserVmManagerImpl :: finalizeStart()
Added null check for the cmds.getAnswers() object. Return ‘true’ if null.

2.	VirtualMachineManagerImpl :: advanceStart()
Move the line to set PodId to the vm being started above the state transition where hostId gets set, so that podId is not null in case management server goes down when vm starts on the agent. On restart, podId is not updated during fullsync. So this will prevent podId remaining null.

vm.setPodId(dest.getPod().getId());
2011-09-15 16:16:15 -07:00
Kelven Yang 7a64d8fda4 add VmwareInvestigator and VmwareFencer, use short worker VM name to avoid vCenter truncation 2011-09-14 15:15:26 -07:00
prachi 4ad9ac5e71 Bug 11200 - maximum number of guests per host
Changes:

To make sure migration does not attempt to pick a host that has running VMs more than the max guest VM's limit:

- Changed manual migration to call host allocators to return a list of hosts suitable for migration. Host allocators check for the max guest VM limit.
- Earlier we returned hosts with enough capacity but now Host Allocators make other checks along with capacity. So the list of hosts returned are hosts that have enough capacity AND satisfy all other conditions like host tags, max guests limit etc. Or in other words Allocators dont return the hosts that dont satisfy all conditions even if they have capacity.
-Therefore, now we mark the list of hosts returned for manual migration as 'suitable' hosts instead of 'hasenoughCapacity' in the HostResponse.
- HA migration already calls allocators, so no change is needed there.
2011-09-08 18:08:31 -07:00
Kelven Yang ebfe43d15c bug 11263: only update host Id when VM is in running state when detected external VM migration 2011-08-26 16:28:58 -07:00
alena 8a7feb8ec1 Merge branch '2.2.y'
Conflicts:
	agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java
	api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
	api/src/com/cloud/agent/api/to/FirewallRuleTO.java
	api/src/com/cloud/agent/api/to/IpAddressTO.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/BaseCmd.java
	api/src/com/cloud/api/ResponseGenerator.java
	api/src/com/cloud/api/commands/CreateFirewallRuleCmd.java
	api/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java
	api/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java
	api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/ListCapabilitiesCmd.java
	api/src/com/cloud/api/commands/UpdateNetworkCmd.java
	api/src/com/cloud/api/response/CapabilitiesResponse.java
	api/src/com/cloud/network/Network.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/firewall/FirewallService.java
	api/src/com/cloud/network/lb/LoadBalancingRule.java
	api/src/com/cloud/network/lb/LoadBalancingRulesService.java
	api/src/com/cloud/network/rules/FirewallRule.java
	api/src/com/cloud/network/rules/RulesService.java
	api/src/com/cloud/offering/NetworkOffering.java
	client/tomcatconf/commands.properties.in
	cloud.spec
	core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
	core/src/com/cloud/storage/template/DownloadManagerImpl.java
	core/src/com/cloud/vm/DomainRouterVO.java
	debian/cloud-deps.install
	patches/systemvm/debian/config/etc/init.d/cloud-early-config
	patches/systemvm/debian/config/root/ipassoc.sh
	patches/systemvm/debian/config/root/loadbalancer.sh
	scripts/vm/hypervisor/kvm/rundomrpre.sh
	scripts/vm/hypervisor/xenserver/vmops
	server/src/com/cloud/agent/manager/AgentAttache.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/agent/manager/AgentMonitor.java
	server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
	server/src/com/cloud/alert/ClusterAlertAdapter.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/cluster/ClusterManagerImpl.java
	server/src/com/cloud/configuration/Config.java
	server/src/com/cloud/configuration/ConfigurationManager.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/deploy/FirstFitPlanner.java
	server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
	server/src/com/cloud/host/dao/HostDaoImpl.java
	server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java
	server/src/com/cloud/network/LoadBalancerVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/FirewallRulesDao.java
	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/element/DhcpElement.java
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/FirewallManager.java
	server/src/com/cloud/network/rules/FirewallRuleVO.java
	server/src/com/cloud/network/rules/PortForwardingRuleVO.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/rules/StaticNatRuleImpl.java
	server/src/com/cloud/network/security/SecurityGroupListener.java
	server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/server/ConfigurationServerImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/StorageManager.java
	server/src/com/cloud/storage/StorageManagerImpl.java
	server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java
	server/src/com/cloud/storage/download/DownloadMonitorImpl.java
	server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
	server/src/com/cloud/upgrade/dao/Upgrade228to229.java
	server/src/com/cloud/upgrade/dao/Upgrade229to2210.java
	server/src/com/cloud/user/AccountManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/src/com/cloud/vm/dao/DomainRouterDao.java
	server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java
	setup/db/create-index-fk.sql
	setup/db/create-schema.sql
	setup/db/db/schema-222to224.sql
	setup/db/db/schema-227to228.sql
	setup/db/db/schema-228to229.sql
	setup/db/db/schema-229to2210.sql
	tools/testClient/README
	ui/scripts/cloud.core.instance.js
	utils/src/com/cloud/utils/SerialVersionUID.java
	utils/src/com/cloud/utils/db/ConnectionConcierge.java
	utils/src/com/cloud/utils/db/Merovingian2.java
	utils/src/com/cloud/utils/db/Transaction.java
	utils/src/com/cloud/utils/nio/Link.java
	utils/src/com/cloud/utils/nio/NioConnection.java
	utils/src/com/cloud/utils/time/InaccurateClock.java
2011-08-22 20:28:30 -07:00
Edison Su ea102aa045 add host guid in migrate command 2011-08-18 11:03:40 -07:00
frank 035001bd19 Fix baremetal planner reply to non-baremetal VM when migration 2011-08-18 10:14:40 -07:00
frank 523a32edaa Fix baremetal planner reply to non-baremetal VM when migration 2011-08-18 10:14:16 -07:00
Abhinandan Prateek c2a769d993 fixed execptions while adding second host 2011-08-18 16:28:19 +05:30
Abhinandan Prateek 2df6e5cc69 fixed execptions while adding second host 2011-08-18 16:26:00 +05:30
Kelven Yang a9c67d23fa bug 11099: Let VM sync to cooperate with migration process 2011-08-16 15:23:01 -07:00
Edison Su ed7214c710 add host guid in migrate command 2011-08-16 10:30:52 -07:00
Kelven Yang bbf20ac125 bug 11019: Let VM sync to coordinate with possible VM-relocation under VMware when VM is in starting time 2011-08-11 17:51:56 -07:00
Kelven Yang 9e1ee30ea3 bug 11019: Let VM sync to coordinate with possible VM-relocation under VMware when VM is in starting time 2011-08-11 14:28:39 -07:00
Alex Huang 6e7ad8830f bug 11043: Propagating fix 2011-08-11 10:30:03 -07:00
Alex Huang 1079a77024 bug 11043: rverted the bad fix 2011-08-11 10:27:02 -07:00
anthony 37dcec77bb Bug 10197:
implement pool-wise VM sync,
    For XenServer, VM fullSync is pool-wise now, VM deltaSync is still per host

Conflicts:

	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
2011-08-02 17:31:36 -07:00
anthony bba811a714 Bug 10197:
1. don't try HA vms if host hypervisor version changes
    2. fixed a bug related to VM full sync with hosttrack enabled
2011-08-02 17:29:16 -07:00
anthony dc7ff2b5ad Bug 10197:
implement pool-wise VM sync,
    For XenServer, VM fullSync is pool-wise now, VM deltaSync is still per host
2011-08-02 16:52:24 -07:00
anthony 5f9884d97a Bug 10197:
1. don't try HA vms if host hypervisor version changes
    2. fixed a bug related to VM full sync with hosttrack enabled
2011-08-02 16:48:27 -07:00
Alex Huang f043f63eaa Merged changes from 2.2.8.zucchini 2011-08-02 15:33:48 -07:00
Alex Huang 79ddba246d Revert "looks like lock tables don't return the tables locked"
This reverts commit 76781c10f8534acdd6f81c46952f88ade941e269.
2011-08-02 03:48:57 -07:00
Alex Huang 91550836cf looks like lock tables don't return the tables locked 2011-08-02 02:10:47 -07:00
anthony 93244b5b62 Bug 10197: if VM is already running, just return the host it is running on 2011-07-29 16:33:57 -07:00
anthony 31100824d7 Bug 10197: if VM is already running, just return the host it is running on 2011-07-29 16:33:33 -07:00
anthony d48e97a368 bug 10768: root cause is StopCommand is not sent out in force stop,
status 10768: resolved fixed
2011-07-29 15:41:00 -07:00
Alex Huang 200d2b9cd0 bug 10847: sg got executed in a big transaction leading to the deadlock 2011-07-25 17:41:11 -07:00
anthony d206bf7852 bug 10768: root cause is StopCommand is not sent out in force stop,
status 10768: resolved fixed
2011-07-20 16:47:48 -07:00
anthony d4ae9483cb bug 10768: root cause is StopCommand is not sent out in force stop,
status 10768: resolved fixed
2011-07-20 12:11:21 -07:00
kishan 427b73a2b9 bug 10372: Added Vm State Machine listener for usage events
status 10372: resolved fixed
2011-07-20 11:13:56 +05:30
Sheng Yang fa623c04e2 bug 10640: Redundant virtual router: Try to deploy the second virtual router to different pod/cluster/host/storagepool
The old strategy is to deploy the second virtual router to diffent host only.

status 10640: resolved fixed
2011-07-19 15:06:15 -07:00
Sheng Yang e5e76881c6 Redundant virtual router: Try to deploy the second virtual router to different pod/cluster/host/storagepool
The old strategy is to deploy the second virtual router to diffent host only.
2011-07-19 14:26:37 -07:00
Sheng Yang 4bc8686513 bug 10429: Backport redundant virtual router
Part 1

This backport contained:

commit 52317c718c25111c2535657139b541db0c9d1e1f
    bug 9154: Initial check in for enabling redundant virtual router

commit 54199112055d754371bfb141168fb5538bf6d6ea
    Add host verification for CheckRouterCommand

commit cef978a228c90056ead9be10cbc4de74c2b8de76
    Fix CheckRouterAnswer's isMaster report

commit 4072f0a6991ac3b63601a1764fbe14188965f62f
    Some build fixes and code refactoring for redundant router

commit 4d3350b7cd8ee2706a9bace4437fc194e36c8dd5
    Redundant Router: Fix OVS

commit 6a228830e7c46d819fa0c3317e159e041337e887
    Fix findByNetwork()/findByNetworkAndPod()'s return

commit c627777b3d5bdbcd60db4032cebd349a5b1ecd83
    Redundant Router: Fix isVmAlive()

commit e1275d2514adc41f8744f5107d4069c38be195f1
    Only issue CheckRouterCommand to redundant routers

And all modification to the scripts till
commit 4e3942462ed3fde3a3d7011e95839e2128fba514
logging changes

in the master branch.
2011-07-18 18:29:56 -07:00
alena 1979d1d065 bug 10681: for serviceOfferings, diskOfferings, templates/isos return records with not null Removed field on findById method call
status 10681: resolved fixed

Conflicts:

	server/src/com/cloud/server/ManagementServerImpl.java
2011-07-13 18:25:13 -07:00
alena 25206e6257 bug 10681: for serviceOfferings, diskOfferings, templates/isos return records with not null Removed field on findById method call
status 10681: resolved fixed
2011-07-13 17:16:07 -07:00
Alex Huang 186654b299 find templates that are not removed 2011-07-09 13:37:45 -07:00
Alex Huang fb8c3c032a find templates that are not removed 2011-07-09 13:37:26 -07:00
Alex Huang 040cffafca bug 10447: don't set the reservation id to null 2011-07-08 11:36:52 -07:00
Alex Huang b23c2a3c53 bug 10447: don't set the reservation id to null 2011-07-08 11:36:30 -07:00
Alex Huang 44666b6333 fixed the problem that vms in starting state were not being cleaned up when management server restarts 2011-07-08 00:05:55 -07:00
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
kishan 36d7ee5634 bug 10372: Added Vm State Machine listener for usage events
status 10372: resolved fixed
2011-07-01 16:37:53 +05:30
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
Kelven Yang 0059dd0e57 bug 10480, 10494: NPE fix in VirtualMachineManagerImpl, move keystore upgrade sql to upgrade225to226.sql 2011-06-28 14:57:02 -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
anthony 3ab96b99af host is stucked in prepareMaintenance mode if you put last host into maintenance mode,
fixed
2011-06-27 11:33:23 -07:00
alena 18dc85c765 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:37:00 -07:00
alena 826f5eedf1 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:37:00 -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 8eb9ee6a8b Bug 10377 - API listAccounts return vmtotal=-14 2011-06-23 17:31:38 +05:30
Murali Reddy 1bfe6d8d72 Bug 10377 - API listAccounts return vmtotal=-14 2011-06-23 17:28:09 +05:30
Abhinandan Prateek 4922eda764 bug 10062: reverting the change as the error can be due to several factors in deployment of domain router 2011-06-23 10:56:21 +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
Kelven Yang 7f8b129dc5 bug 10414: update VM sync logic and capacity management to sync VM state change initiated from external source 2011-06-22 18:23:43 -07:00
Alex Huang da402fdd35 added back @DB annotation 2011-06-21 10:44:46 -07:00
Alex Huang 07354b441c added back @DB annotation 2011-06-21 10:44:32 -07:00
Alex Huang 22e28b4941 bug 10368: better fix for the db connection problem. 2011-06-20 16:31:32 -07:00
Alex Huang 36ceb02abe removed useless manager declarations 2011-06-20 16:31:32 -07:00
Alex Huang a58d730e34 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 16:31:32 -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
Kelven Yang 7279dad925 bug 8996: make VMsync to track host change 2011-06-20 16:12:33 -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 9d4311cc0a bug 10352: fixed the issue. I mistakenly threw an exception when I was not suppose to 2011-06-17 17:18:28 -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
Kelven Yang 464d793754 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-15 18:37:38 -07:00
Abhinandan Prateek 61cdbd0e1f bug 10062: better error message
status 10062: resolved fixed
2011-06-15 09:56:42 +05:30
Abhinandan Prateek db94ece73b bug 10062: better error message 2011-06-15 10:05:45 +05:30
Alex Huang 59fc206664 bug 10260: propagate ha and deployment planner fixes 2011-06-13 17:33:10 -07:00
Alex Huang 63113661d1 bug 10260: propagate ha and deployment planner fixes 2011-06-13 17:33:09 -07:00
Alex Huang d39048faca bug 10260: propagate ha and deployment planner fixes 2011-06-13 17:33:09 -07:00
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
Sheng Yang 0c92bf5b79 Some build fixes and code refactoring for redundant router 2011-06-07 14:47:46 -07:00
Sheng Yang 62ac899091 bug 9154: Initial check in for enabling redundant virtual router
This patch enable redundant virtual routers.

1. To enable this feature, db need to be updated using follow SQL by now(we
would get a UI way later):

UPDATE network_offerings SET redundant_router=1 WHERE guest_type="Virtual" AND
system_only=0;

2. System would try to start up two routers at different hosts. But if there is
only one host in the zone, system would start up two routers on it.

3. The failover part is using keepalived, and connection tracking part is using
conntrackd. There would be one master router and one backup router. The status
of router(master or backup) can be query from the database table domain_router
now. Management server would update the status every 30s by default.

4. The routers for the same zone would use same external NIC(same ip and mac).
The script used for fail-over would ensure only one external NIC present in the
network at any time.

5. Currently management server don't got the ability to stop one of router is
both of them reported as master. The feature is in the todo list.

After two routers start up, disconnect anyone of them, the guest network
shouldn't be affected, and established connection(http, ssh, etc.) should still
works. The fail-over on gateway part should be 3~4 seconds.

Currently the patch works with KVM. Would deal with vmware and XenServer soon.
2011-06-07 14:47:45 -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