Commit Graph

937 Commits

Author SHA1 Message Date
Abhinandan Prateek 3a2d0b1ec6 bug 12918: don't allow movement within same account 2012-01-10 10:39:03 +05:30
Alena Prokharchyk c581506103 bug 12306: list* command revamp 2012-01-09 10:07:42 -08:00
kishan 5dc4a70b90 Bug 12850: Allow accounts in child domains to create Vms in zones owned by parent domain
Status 12850: resolved fixed
Reviewed-By: Abhi
2012-01-09 19:32:26 +05:30
Edison Su 1648bd800c bug 12899: mgt server needs to pass down the storage pool uuid when creating template from volume
status 12899: resolved fixed
2012-01-05 16:42:45 -08:00
Abhinandan Prateek 2778deacb6 bug 8962: usage related changes 2012-01-04 16:41:18 +05:30
kishan 9b3f78254d Bug 12845: When moving Vm to another account, add volume create usage event with size and template/offering id
Status 12845: resolved fixed
Reviewed-By: Abhi
2012-01-04 16:34:52 +05:30
Abhinandan Prateek a60d8cea86 bug 12530: moved the initial full sunc from the cron to host connect. 2012-01-02 13:40:33 +05:30
Abhinandan Prateek 9333acffb4 bug 12530: ignore VMs in starting state, as the first sync may happen after the managment server has already issued start for system VMs 2011-12-30 10:35:08 +05:30
Abhinandan Prateek 8173474a42 bug 8962: done some testing on basic networks 2011-12-29 12:37:28 +05:30
Abhinandan Prateek b2079346d6 bug 8962: added params networkids and securitygroups in case the moved VM needs to be part for additional networks and sec grps respectively 2011-12-28 11:39:28 +05:30
Abhinandan Prateek 5e4acc2a55 bug 12530: introduce initial full sync; cleanup syncronization; 2011-12-27 11:13:38 +05:30
Abhinandan Prateek df83487be9 bug 8962: adding code for basic networks 2011-12-21 17:18:31 +05:30
Edison Su 009fa8c079 bug 12158: only allow storage migration through migratevm api, iff no data disks attached to the vm. As data disks may have different service offering with the specified storage pool
status 12158: resolved fixed
2011-12-20 17:12:09 -08:00
kishan e2cb4f94d6 bug 12337: Encrypt only password in host_detail table. Removed unused and duplicate references of HostDetailDao
status 12337: resolved fixed
reviewed-by: Abhi
2011-12-20 19:28:41 +05:30
Abhinandan Prateek 462ad5cfc2 bug 8962: network related improvements 2011-12-20 18:31:37 +05:30
Alena Prokharchyk ceb0a918a1 createTemplate/createSnapshot for project - allow to execute for Projects in Active state only 2011-12-19 16:20:40 -08:00
frank 8ef2724c26 better log when deploy vm failed 2011-12-19 15:50:11 -08:00
Sheng Yang 5102279824 bug 12586: Remove the duplicate sync code of fullHostSync()
fullHostSync() is messed up.

The sync operation have been done twice, and for the second time, the original
info has already cleared, so default value "Stopped" is created, then result in
stop all the vms.

The fullHostSync() is skipped for Xen, so Xen don't have this issue.

status 12586: resolved fixed
2011-12-15 14:47:48 -08:00
Edison Su 49fb9049fb bug 12446: fix typo
status 12446: resolved fixed
2011-12-14 16:51:38 -08:00
Sheng Yang 3263fd596e bug 10904: add a global config to enable/disable automatically add the vm to the default security group
status 10904: resolved fixed
2011-12-13 14:48:44 -08:00
Nitin Mehta 353bc396e3 bug 11838: Create Private Template from Snapshot - Lift the restriction of creating duplicate names keeping it consistent with register template
Reviewed by : Kishan.
2011-12-13 14:42:08 +05:30
Abhinandan Prateek a703315d34 bug 12348: fixed getting VMs for a cluster which was not getting back VMs in starting state 2011-12-13 12:20:48 +05:30
Alena Prokharchyk 0980c47100 bug 12363: don't expunge nics when vm is expunged, just leave them in Removed state in the DB
status 12363: resolved fixed
2011-12-09 14:26:30 -08:00
Alena Prokharchyk bde5e16a26 bug 12453: when networkId is specified, don't check if the network created from Required network offering is present
status 12453: resolved fixed
2011-12-08 14:38:21 -08:00
Edison Su 3df3e9fb10 bug 12407: for snapshot, there is no vm related to
status 12407: resolved fixed
2011-12-07 13:57:02 -08:00
Alena Prokharchyk 2c2dfdc507 bug 12237: fixed listSnapshots to work correctly with projectId
status 12237: resolved fixed
2011-12-06 16:43:58 -08:00
Alena Prokharchyk 7b8287d323 bug 10804: Api and middle layer support for default route feature 2011-12-05 14:53:45 -08:00
Alena Prokharchyk a4773b7080 bug 12291: listVms - show non-project resources only if no projectId specified
status 12291: resolved fixed
2011-12-02 15:17:50 -08:00
Naredula Janardhana Reddy 09905b641b bug 10617: merge code from branch bug10617. 2011-12-01 14:17:52 +05:30
Abhinandan Prateek 660891b405 bug 8962: adding a check for disabled accounts 2011-11-29 12:40:58 +05:30
Abhinandan Prateek a560d6f055 bug 11910: no need to do full sync as first thing after connect 2011-11-29 11:23:21 +05:30
Alena Prokharchyk afb56d2112 bug 11492: check volume resource limit when deployVm
status 11492: resolved fixed
2011-11-28 13:38:32 -08:00
Alena Prokharchyk 586febd4c1 bug 11965: check the user state on the Services layer, not in the VmManager as VmManager can be called not only from the API, but also by internal methods - HA for instance - and in this case we shouldn't care about the account state
11965 status: resolved fixed

Also fixed gson serialization error in account response
2011-11-28 10:05:19 -08:00
Abhinandan Prateek 88f9b1ab7c bug 8962: review changes incorporated 2011-11-25 15:03:45 +05:30
Abhinandan Prateek da20d33e27 bug 11910: full sync will only stop unknown VMs on agent 2011-11-23 16:48:12 +05:30
Abhinandan Prateek 488ac8238e bug 11311: lis host takes in a additional parameter to fine tune the details, the default behavious is still unchanged. 2011-11-22 16:26:52 +05:30
prachi 0dc7fb48a1 Bug 11962 - MigrateVirtualMachine fails with AgentUnavailableException when the targeted host for migration is under Maintenance
Bug 11964 - You are allowed to migrate a virtual machine on to the host that it already exists o

Changes:
Validations were missing in th MigrateVmCmd API, since from UI the validations are always done while listing hosts for migration as first step.
2011-11-21 17:12:36 -08:00
Nitin Mehta ec3a00a230 bug 10281: Template/ISO APIs should throw an exception in failure case for the events to be registered as failure.
Reviewed by : Kishan.

status 10281: resolved fixed
2011-11-21 18:58:06 +05:30
Alex Huang 84d5f0514e Changed network tags to network name as we no longer need to send the entire network tags down to the resource. 2011-11-18 14:28:16 -08:00
prachi 313e6ca284 Bug 8791 user dispersing allocator
Changes:
- Added a two new deployment planners  'UserDispersingPlanner' and 'UserConcentratedPodPlanner' to the DeploymentPlanners
- Planner can be chosen by setting the global config variable 'vm.allocation.algorithm' to either of the following values:
('random', 'firstfit', 'userdispersing', 'userconcentratedpod')
- By default, the value is 'random'. When the value is 'random', FirstFitPlanner is invoked as before that shuffles the resource lists.
- Now Admin can choose whether the deployment heuristic should be applied starting at cluster or pod level. This can be done by using the
global config variable 'apply.allocation.algorithm.to.pods' which is false by default. Thus by default as earlier, planner starts at clusters directly.

'UserConcentratedPodPlanner' changes:
- Earlier to 3.0, FirstFitPlanner used to reorder the clusters in case this heuristic was chosen.
- Now this is done by a separate planner and is applied only when 'vm.allocation.algorithm' is set to this planner
- It reorders the capacity based clusters/pods such that those pods having more number of Running Vms for the given account are tried first.
- Note that this userconcentration is applied only to pods and clusters. Not to hosts or storagepools within a cluster.

'UserDispersingPlanner' changes:
- 'UserDispersingPlanner' reorders the capacity ordered pods and clusters based on number of 'Running' VMs for the given account in ascending order. Aim is to choose thodes pods/clusters first which have less number of Running VMs for the given account
- Admin can provide weights to capacity and user dispersion so that both parameters get considered in reordering the pods/clusters. This can be done by setting
the global config parameter 'vm.user.dispersion.weight'. Default value is 1. Thus if this planner is chosen, by default, ordering will be done only by number of Running Vms, unless the weight is changed.
- HostAlllocators and StoragePoolAllocators also reorder the hosts and pools by ascending order of number of Running VMS/ Ready Volumes respectively for the given account. Thus try to choose that host or pool within a cluster with less number of VMs for the account.
2011-11-17 18:29:39 -08:00
Alena Prokharchyk 5571afa471 Virtual router elements: prepare nics only when VirtualRouter is a provider for at least one service in the network 2011-11-17 14:33:22 -08:00
Abhi 9086a39bda bug 11910: avoid Starting to Running state changes during full sync, as the VM startup process does not like it 2011-11-17 14:32:56 +05:30
Alena Prokharchyk 790b33bdfc More validation to network and network offering creation/upgrade 2011-11-16 14:53:38 -08:00
Kelven Yang 277c60e4f6 bug 11814: Allow template to have details info in key/value pairs. 2011-11-15 15:01:46 -08:00
Alena Prokharchyk bb2a8cf7ea NaaS: added "subdomainAccess" parameter to domain level network object. The parameter defines whether the network can be accessed from the subdomains. If the parameter is not specified, it would be defaulted to allow.subdomain.network.access Global Config param 2011-11-14 18:13:47 -08:00
Naredula Janardhana Reddy f1b99f4f07 Revert "bug 10617: merging code from branch bug10617"
This reverts commit 8bc33448b9220534ba0ddc6c642ffb1e69d5844e.

Conflicts:

	server/src/com/cloud/api/ApiResponseHelper.java
2011-11-11 20:23:26 +05:30
Abhinandan Prateek b793ce6c33 bug 11987: changing virtualmachineimpl to reoccuring listener
reviewed-by: nitin
2011-11-11 19:24:09 +05:30
Alena Prokharchyk 039e09ce93 * Introduced aclType parameter for createNetwork command (can hold 2 values now: Account and Domain). This parameter defines the access control type to the network object. If it's account -
only owner of the network can access it; if it's domain - all accounts in the domain and domain children can have an access.
* aclType replaces 2 old fields: isShared and isDomainSpecific.
* All 2.2.x account specific networks will have aclType=Account; 2.2.x Domain specific networks - aclType=domain; 2.2.x Zone level networks - aclType=Domain with domainId = Root domain id
2011-11-10 18:34:56 -08:00
Sheng Yang bde1f6d2de Merge branch 'networkasservice'
Conflicts:
	api/src/com/cloud/api/commands/CreateRedundantVirtualRouterElementCmd.java
	api/src/com/cloud/api/commands/CreateVirtualRouterElementCmd.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/network/ExternalNetworkDeviceManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	setup/db/create-schema.sql
2011-11-10 16:36:08 -08:00
Alex Huang d6c22c42fe Merge branch 'master' of ssh://git.cloud.com/var/lib/git/cloudstack-oss 2011-11-10 15:26:39 -08:00
Alex Huang f6fcaa49ec Merge complete except for virtualnetworkappliancemanager 2011-11-10 15:18:16 -08:00
Naredula Janardhana Reddy 02adbd4bd3 bug 10617: merging code from branch bug10617 2011-11-10 15:23:48 +05:30
Abhinandan Prateek a2499c9e69 bug 11910: during full sync ignoring VMs which have been into starting state shortly
reviewed-by: kishan
2011-11-10 12:00:10 +05:30
Sheng Yang 9b8f96c06d NaaS: Merge Role.DHCP_USERDATA and Role.DHCP_FIREWALL_LB_USERDATA to Role.VIRTUAL_ROUTER 2011-11-09 17:09:17 -08:00
Nitin e2e7da3ff4 bug 11428: Under VMware with current version, for snapshot related related operations,
1) if snapshot is originally created from root volume, allow only CreateTemplateCommand from snapshot 2) if snapshot is originally created from data volume, allow only CreateVolumeCommand from snapshot Reviewed by - Kishan
status 11428: resolved fixed
2011-11-09 16:33:09 +05:30
alena 3a845d2d75 Keep Service/Provider map per network as well as per networkOffering (to handle the case when there are multiple providers defined for the same service in the network offering, and only one is picked when the network is created) 2011-11-07 16:16:03 -08:00
Kelven Yang 2b6f3d458e UUID support for XML responses 2011-11-04 17:38:22 -07:00
Sheng Yang 3de3fc69d2 NaaS: Implement shutdownProviderInstances for virtual router 2011-11-03 13:44:26 -07:00
Kelven Yang 7e9b210d5c bug 6745: Fix problems in Async create commands 2011-11-03 07:34:02 -07:00
Kelven Yang 79e39c20fb Fixes on merged result 2011-11-03 07:34:01 -07:00
Kelven Yang fa2dd8e93a bug 6745: Using UUID instead of integers - for VM instances 2011-11-03 07:33:56 -07:00
Abhinandan Prateek fab2d1f880 bug 11678: added vm.destory.forcestop config var to set force when destroying a vm 2011-11-03 15:51:02 +05:30
Abhinandan Prateek 267b12d015 bug 11709: saving encrypted password in db
status 11709: resolved fixed
2011-11-03 15:40:20 +05:30
alena 3e20c60d6d Fixed vm deployment in Basic zone 2011-11-02 17:02:44 -07:00
alena f42c9e434f Basic zone: the System Guest network offering can be created from any Shared Guest network offering.
Limitation:
* in order to make the networkOffering choice, only one Shared network has to be Enabled at the moment when Basic zone is being created
2011-11-02 15:44:53 -07:00
alena 2250dff349 1) Removed tags from the network object
2) Get hypervisor tags from the physical network instead.
2011-11-01 17:42:06 -07:00
alena 9560e92015 physicalNetworkId is optional in createNetwork api. Works as follows:
* can be specified for Shared network only
* if not specified for the Shared networks, try to locate it based on the zoneId and tags. If tags is not null, pick up first physicalNetwork from the zone that has matching tags. If tags is null, and there are none/more than 1 physical netwroks in the zone, error out.
2011-11-01 15:49:39 -07:00
alena be21a5e37c Don't allow enabling securityGroup service for Isolated networks 2011-11-01 13:09:14 -07:00
alena 80dc2c0b1a Don't send security group commands to the backend when 1) securtiy group service is disabled in the network offering and 2) security group service provider is supported on the physical network 2011-11-01 12:07:32 -07:00
anthony 46dac852fa Merge branch 'swift'
Conflicts:
	server/src/com/cloud/agent/AgentManager.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/host/dao/HostDao.java
	server/src/com/cloud/host/dao/HostDaoImpl.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/download/DownloadMonitorImpl.java
	server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java
2011-10-31 15:04:48 -07:00
Abhinandan Prateek abb37acbdd bug 8962: added usage related and resource count related code, changed the API name as suggested. Incorporated relevant review comments 2011-10-31 16:35:42 +05:30
Abhinandan Prateek 932e3c3a65 bug 11311: incremental checkin 2011-10-31 12:27:17 +05:30
Abhinandan Prateek 07e44e3a23 bug 11311: change list vm call to provide less info 2011-10-30 16:25:57 +05:30
root a572205e3c Revert "bug 11311: vm summary command initial impl"
This reverts commit 0abc7e2ea8b9e222f1927aea72d46240bfe8c534.
2011-10-30 15:13:58 +05:30
Abhinandan Prateek f456462443 bug 11311: vm summary command initial impl 2011-10-28 14:07:19 +05:30
Abhinandan Prateek 3cb1426a6c bug 10588: sending cluster sync only for xen 2011-10-28 11:39:22 +05:30
alena b413a625f4 1) replaced joinProject API with updateProjectInvitation api. You can accept/decline the invitataion with this command
2) Added deleteProjectInviation command. Can be executed by project admin only
2011-10-27 18:32:00 -07:00
alena d315e57b0e Renamed "type" to "guestType" 2011-10-27 16:51:42 -07:00
alena fe0b685e95 Security group is a service now 2011-10-27 16:49:20 -07:00
Sheng Yang e1e96c0bb3 NaaS: Add ServiceProviders
Added PortForwardingServiceProvider, StaticNatServiceProvider, rename
PasswordServiceProvider to UserDataServiceProvider(may rename to a better name
later).

Add related function for service providers.
2011-10-27 11:55:10 -07:00
frank 21de281276 Fix broken compilation by new anget manager merge 2011-10-27 11:24:10 -07:00
frank cef30956e9 Merge branch 'newagentmgr'
Conflicts:
	agent-simulator/src/com/cloud/api/commands/ConfigureSimulator.java
	ovm/src/com/cloud/ovm/hypervisor/OvmDiscoverer.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/capacity/CapacityManagerImpl.java
	server/src/com/cloud/network/F5BigIpManagerImpl.java
	server/src/com/cloud/network/JuniperSrxManagerImpl.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	utils/src/com/cloud/utils/db/GenericDao.java
2011-10-27 11:09:56 -07:00
Abhinandan Prateek a1a0fdc0a3 bug 10588: making sure the vms are synced during a delta also 2011-10-27 15:56:53 +05:30
Edison Su 193474a595 Storage migration: if it's basic network and migrate to different pod, need to reallocate network 2011-10-25 19:20:18 -07:00
alena 525a0a7675 1)Changed implementation for restart network: call shutdown/implement methods as a part of it
2)Re-apply all existing firewall rules as a part of implement call. TODO: Cleanup all existing rules from the backend (leave them in the DB) as a part of shutdown call
2011-10-25 18:24:24 -07:00
frank 1460f3950e Bug 9949 - revert VM to template
1. able to restore VM from its original template
2. Only allow to restore when VM is running or stopped
3. after restoring, VM state will not change, e.g. running is still running

status 9949: resolved fixed
2011-10-25 13:52:39 -07:00
prachi 780e0efe79 Removing references to DataCenter - providers, using the networkoffering -> providers map instead.
TODO:
- Still leaving the provider columns in data_center schema as-is for CloudKit and BareMetal
- ExternalNetworkDeviceMgrImpl still needs to fix the dataCenter.setProviders calls and externalNetworkApplicance usage checks to see if zone has external networking.
2011-10-24 18:06:33 -07:00
alena 75c8e33226 Removed guestIpType from network/networkOffering 2011-10-24 17:05:00 -07:00
Edison Su 92eaf49f29 Add storage migration 2011-10-24 15:59:47 -07:00
anthony 19df7ed8af Swift; create template from snapshot 2011-10-21 17:32:48 -07:00
anthony 6c5c24dd6b swift: create volume from template works 2011-10-21 12:53:58 -07:00
alena 219978a9be Create network using physical network id 2011-10-20 18:25:13 -07:00
Abhinandan Prateek 1ea9b5d703 bug 10588: putting config param for cluster sync intervals 2011-10-20 10:51:40 +05:30
alena ceda05298e Deprecate guestIpType in networkOffering api. Use type (Shared/Isolated) instead 2011-10-19 16:38:39 -07:00
frank 65f3bb1df5 Bug 11647 - OVM - no support for migrate instance
return available hosts when hypervisor type is Ovm
status 11647: resovled fixed
2011-10-17 16:26:32 -07:00
Abhinandan Prateek f7f2eb825d bug 10588: incorporated review comments (Reviewer Nitin, Murali, Kishan, Jana)
1. Finetune vriable scope, s_ for static vars
2. Impl should be cluster aware and a host going down should not affect the sync
2011-10-17 14:59:24 +05:30
alena c00058adc2 Added type (Shared/Isolated) to the networkOffering/networks 2011-10-13 17:33:41 -07:00
frank cd6b872f8d Bug 11670 - OVM - HA failed when host is disconnected from network
status 11670: resolved fixed
2011-10-13 14:46:36 -07:00
Abhinandan Prateek b050120303 bug 10588: clearing map so that the vm sync can resume on next connect, in case of failure 2011-10-12 12:34:54 +05:30
kishan 334eeccd2c bug 11561: Added new Dao RandomlyIncreasing, which will increase the Vm Id by 1-10 randomly
status 11561: resolved fixed
2011-10-11 12:40:50 +05:30
Sheng Yang 0121c0516d Network: Add Service providers
In the past, the NetworkElement would cover almost all the functionality that
e.g.  virtual router can cover: firewall, source NAT, static NAT, password,
VPN... So anyone want to implement the NetworkElement would have to implement
these service's specific methods, even it wouldn't support it. Also, if we want
to find a e.g. FirewallServiceProvider, we have to proceed all the current
network service providers, to call a method to know if it support such service.
That's neither elegant nor scaling way to do it.

As the first step, this patch separates each ServiceProvider from NetworkElement
(there are some interface already out of NetworkElement, so this patch slightly
modifies them too), and only the class would implement the correlated interface, would
have the ability to do these services.
2011-10-10 11:45:39 -07:00
Edison Su 962bbcd5a0 bug 11634: add manual vm migration support for kvm
status 11634: resolved fixed
2011-10-10 11:31:18 -07:00
frank 0f5384d086 Bug 11522 - New agent manager
move findxxx interface from HostDao to Managers
2011-10-06 11:56:17 -07:00
prachi a51fb221d6 Bug 11169 - Couldn't deploy a router because the host it existed on is in Maintenance.
Changes:
- VirtualMachineMgr puts the constraint that if Root volume is already READY, we provide the clusterId in the plan to the deploymentPlanner. Planner then searches for resources only under that cluster.
- If no deployment could be found, deploying VM fails.
- Fixed this, such that incase the root volume is recreatable, we call the planner again by removing the cluster constraint. Planner will then search for resources in other clusters.
- Works for system VMs(SSVM, consoleproxy, virual routers).
2011-10-05 18:35:59 -07:00
alena 25c2734e03 More stuff to Projects feature - added support for adding resources (vms, templates, isos) to the project 2011-10-05 13:24:25 -07:00
prachi 9bd5e5871b Bug 11481 - get manual live migration working with all VMs
Changes:
- Added a new API  'migrateSystemVm'  backed by MigrateSystemVMCmd.java to migrate system VMs (SSVM, consoleproxy, domain routers(router, LB, DHCP))
- This is Admin only action
- The existing API 'migratevirtualmachine' is only for user VMs
2011-09-29 17:47:46 -07:00
alena 12e25fb988 Implemented vm* api commands to be executed against the project 2011-09-29 10:20:51 -07:00
Abhinandan Prateek 83c6cf3db0 bug 10588: code to sync VM state at cluster level and dettached from ping command 2011-09-27 13:18:21 +05:30
alena ccd47c1b21 Implemented Project Invitations 2011-09-26 17:47:20 -07:00
alena a1cab92ae1 bug 11537: revoke related FirewallRules when do vmExpunge and ipAddress release.
status 11537: resolved fixed

Reviewed-by: edison@cloud.com

Conflicts:

	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2011-09-22 14:01:02 -07:00
alena 9f9b60a287 1) Added resource limits for the Projects - the same as for the account
2) Added "Project" limit type for the Domain object
2011-09-21 17:09:49 -07:00
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
alena b7f45cfbd6 bug 11434: don't execute destroy call when vm is already in Destroyed/Expunging state
status 11434: resolved fixed
2011-09-14 10:33:45 -07:00
Chiradeep Vittal cfbbe4c031 fix perf. issue in deploy vm. also remove dead code in dao 2011-09-12 18:20:23 -07:00
Kelven Yang 41926cb038 bug 11377: remove the restriction on VMware in API layer to let it support VM manual migration 2011-09-12 14:28:32 -07:00
prachi d854923ac5 Bug 11200 - maximum number of guests per host
Manual Migration should fail if the destination host chosen by Admin already has max guest VMs running.
2011-09-08 18:33:55 -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
anthony 4423da06a2 1. added timeout in Command Class, then each command can configure itself timeout, if timeout is not configed, use the default timeout , which is 30 minute
2. added following configurable timeout
       PrimaryStorageDownloadWait("Storage", TemplateManager.class, Integer.class, "primary.storage.download.wait", "10800", "In second, timeout for download template to primary storage", null),
       CreateVolumeFromSnapshotWait("Storage", StorageManager.class, Integer.class, "create.volume.from.snapshot.wait", "10800", "In second, timeout for create template from snapshot", null),
       CopyVolumeWait("Storage", StorageManager.class, Integer.class, "copy.volume.wait", "10800", "In second, timeout for copy volume command", null),
       CreatePrivateTemplateFromVolumeWait("Storage", UserVmManager.class, Integer.class, "create.private.template.from.volume.wait", "10800", "In second, timeout for CreatePrivateTemplateFromVolumeCommand", null),
       CreatePrivateTemplateFromSnapshotWait("Storage", UserVmManager.class, Integer.class, "create.private.template.from.snapshot.wait", "10800", "In second, timeout for CreatePrivateTemplateFromSnapshotCommand", null),
       BackupSnapshotWait("Storage", StorageManager.class, Integer.class, "backup.snapshot.wait", "10800", "In second, timeout for BackupSnapshotCommand", null),
2011-09-07 19:17:54 -07:00
Kelven Yang 905df61aac bug 11362: Make VM network adapter device type be selectable based on VM-specific details 2011-09-07 17:58:42 -07:00
prachi 84868b7f9c Bug 11200 - maximum number of guests per host
Changes:
- Adding a new table 'hypervisor_capabilities' that will record capabilities for each hypervisor version. Added db schema changes for this.
- Currently a few capabilities have been added, namely, 'max_guests_limit' and 'security_group_enabled'
- Added a new column 'hypervisor_version' to host table. StartupRouting command now takes in this parameter. It should be set when a host connects.
- If a host's hypervisor version is not present, we find all the capabilities rows for that hypervisor type and use the first record.
- 'max_guests_limit' is the maximum number of running guest Vms that a host can have for the given hypervisor.
- Host Allocators use this limit and skip a host if the number of running VMs on that host exceeds this limit.
2011-09-07 14:53:05 -07:00
kishan f9d5a46871 Compare current and previous network stats before updating. Ignore stats if the current stats are not same as the prev stats. Set NetworkUsageAnswer log level to debug 2011-09-05 18:41:42 +05:30
alena b93318cb73 bug 11002: userVmDao - create searchBuilder as a part of dao init process (otherwise it's not threadsafe)
status 11002: resolved fixed
2011-09-02 15:51:52 -07:00
alena ecd99ad379 bug 11332: don't try to log vm's information when the vm is already Expunged
status 11332: resolved fixed

Conflicts:

	server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java
2011-09-02 12:08:39 -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
prachi 05440f0905 Bug 9921 - template tags
Changes:
- CreateTemplate and RegisterTemplate now support adding a template tag. It is a string value. This is root-admin only action - only admin can add template tags.
- ListTemplates will return the template tag in response.
- HostAllocator changed to use template tag along with the existing tag on service offering. If both tags are present, allocator now finds hosts satisfying both tags. If no hosts have both tags, allocation will fail.
- DB changes to add new column to vm_template table.
- DB upgrade changes for upgrade from 2.2.10 to 2.2.11
2011-08-25 12:03:59 -07:00
Abhinandan Prateek cd01f7dab2 bug 11181: taking care of a boundary condition with 0 user VM 2011-08-25 15:38:48 +05:30
alena ee9fbf10b6 Method signature change 2011-08-24 14:56:37 -07:00
alena e3f179844e bug 11236: domainAdmin/regularUser can edit/delete/copy/extract Public template/iso only if it was created by them. They still can use/see public template/iso when execute list/deploy/attachIso commands. Root admin can operate with other people templates w/o any restrictions.
status 11236: resolved fixed
2011-08-24 14:48:35 -07:00
root 01044c5b2d removing spurious debug statement 2011-08-24 16:47:29 +05:30
Abhinandan Prateek bd439831ad bug 11181: batching the select statements 2011-08-24 16:34:28 +05:30
alena d3eb9db7fa bug 11204: when search for domR/dhcp, include Role to the corresponding search to eliminate getting "LB" network element in the response
status 11204: resolved fixed

Conflicts:

	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
2011-08-23 12:05:53 -07:00
prachi 40d348ff8b Bug 11213 - UserConcentratedPod returning wrong list of pods
Changes:
- Needed to add parentheses to the query to get correct results.
2011-08-23 11:53:48 -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
frank b607e4aa1c Merge branch '2.2.y' of ssh://git.cloud.com/var/lib/git/cloudstack-oss into 2.2.y 2011-08-19 17:29:57 -07:00
Edison Su 7a7662b01b fix typo 2011-08-19 16:15:52 -07:00
Edison Su eb72d340e2 fix typo 2011-08-19 16:15:17 -07:00
frank 18f87c2108 Merge branch 'cvm' into 2.2.y
Conflicts:
	api/src/com/cloud/api/BaseCmd.java
	cloud.spec
	core/src/com/cloud/storage/template/DownloadManagerImpl.java
	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/host/dao/HostDao.java
	server/src/com/cloud/network/security/SecurityGroupListener.java
	server/src/com/cloud/storage/StorageManagerImpl.java
	server/src/com/cloud/storage/listener/StoragePoolMonitor.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	utils/src/com/cloud/utils/SerialVersionUID.java
2011-08-19 16:08:35 -07:00
Edison Su 56244c7c47 release the check 2011-08-19 16:07:55 -07:00
Edison Su de25a63ba8 release the check 2011-08-19 16:06:13 -07:00
Edison Su 5696543359 disable attach volume to a vm if volume state is not in allocated or ready state 2011-08-19 14:27:13 -07:00
Edison Su 1c49481305 disable attach volume to a vm if volume state is not in allocated or ready state 2011-08-19 14:26:47 -07:00
Abhinandan Prateek 8d4c7208a4 bug 11094: delinking api layer objects from dao layer 2011-08-19 15:23:49 +05:30
Abhinandan Prateek 601708c3e6 bug 11094: delinking api layer objects from dao layer 2011-08-19 15:21:03 +05:30
Sheng Yang 843e41752f Update redundant router status even router is down
We need to update the status to UNKNOWN if router is down(also ensure we can't
contact the router if the state is Stopped in our database).
2011-08-18 22:51:23 -07:00
Sheng Yang a961dd913f Update redundant router status even router is down
We need to update the status to UNKNOWN if router is down(also ensure we can't
contact the router if the state is Stopped in our database).
2011-08-18 22:51:13 -07:00
alena 2c1df02ba1 Removed unused imports 2011-08-18 15:02:04 -07:00