Commit Graph

483 Commits

Author SHA1 Message Date
Daan Hoogland 8a8849354c findbugs: masking fields removed 2015-06-24 12:24:12 +02:00
Devdeep Singh a99c9d0e68 Implementation for the ability to disable a storage pool for provisioning
... of new volumes. Following changes are implemented 1. Disable or enable a pool with the
updateStoragePool api. A new 'enabled' parameter added for the same. 2. When a
pool is disabled the state of the pool is updated to 'Disabled' in the db. On
enabling it is updated back to 'Up'. Alert is raised when a pool is disabled or
enabled. 3. Updated other storage providers to also honour the disabled state.
4. A disabled pool is skipped by allocators for provisioing of new volumes. 5.
Since the allocators skip a disabled pool for provisioning of volumes, the
volumes are also not listed as a destination for volume migration.

FS: https://cwiki.apache.org/confluence/display/CLOUDSTACK/Disabling+Storage+Pool+for+Provisioning

This closes #257

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-19 11:16:49 +01:00
Rajani Karuturi 0b8355920e Merge branch 'volume-upload' into master
This closes #206
2015-04-29 11:12:53 +05:30
Koushik Das bc399b981f volume-upload: If SSVM is destroyed and started, then partially uploaded volumes/templates remain in
inconsistent state (NotUploaded or UploadInProgress) and doesn't transition to any terminal
state (Uploaded, Uploaded). As a result these volumes/templates cannot be removed. Fix is to handle such
volume/template entries correctly.
2015-04-22 19:28:51 +05:30
Sanjay Tripathi 30604e973a CLOUDSTACK-8386: CS is returning sec. storage even if it is full and there are other sec. storage with free space. 2015-04-14 16:10:40 +05:30
Rohit Yadav ef99f01e59 Merge remote-tracking branch 'anshul/CLOUDSTACK-6900'
This closes #68

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-02 16:40:44 +05:30
Koushik Das 6ff8752fd0 volume-upload: gc thread to clean partially uploaded files
Fixed multiple issues in the template code path
2015-01-31 17:25:19 +05:30
Koushik Das ae21f44c7b volume-upload: Volume uploaded using new POST based upload goes to inconsistent state on destroying SSVM
Added a check not to cleanup volume related entries when SSVM is destroyed for volumes upload using the POST based upload feature
2015-01-31 17:19:58 +05:30
Koushik Das 6598a65dfb volume-upload: gc thread to clean partially uploaded files
Fixed the following:
- Destroying volume in 'UploadAbandoned' state resulted in NPE
- Existing upload volume functionality interfered with this, added proper checks to prevent that
2015-01-31 17:13:22 +05:30
Nitin Mehta abf4e5c646 CLOUDSTACK-8181: Introducing a new allocator called firstfitleastconsumed. The purpose of this allocator is to find hosts/pools with least capacity usage (in terms of percentage) within the cluster and use those resources first before others. This allocator can be used changing vm.allocation.algorithm. For hosts it would decide the least consumed host through the setting host.capacityType.to.order.clusters to base the usage on cpu or ram.
Reviewed-by: Prachi
2015-01-26 10:48:06 -08:00
Abhinandan Prateek d8def3dc0b CLOUDSTACK-8164: Look for all host to avoid NPE
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit a1a601be5a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-19 11:30:49 +05:30
Rohit Yadav d9bd235bf6 engine/storage: add NPE check, break if parent snapshot is null
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit c06ca09b54)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-18 17:20:56 +05:30
Koushik Das 053c160b0f volume upload: management server polling and upload status from agent
MS polling logic to query status for templates that are uploaded
2015-01-16 18:03:36 +05:30
Anshul Gangwar 91e1881be8 CLOUDSTACK-6900: This fixes volume migration failing after that volume is downloaded.
When we download volume then we create entry in volume_store_ref table.
We mark the volume entry to ready state once download_url gets generated.
When we migrate that volume, then again one more entry is created with same volume id.
Its state is marked as allocated. Later we try to list only one dataobject in datastore
for state transition during volume migration. If the listed volume's state is allocated
then migration passes otherwise it fails.

Below fix will remove the randomness and give priority to volume entry which is made for
migration (download_url/extracturl will be null in case of migration). Giving priority to
download volume case is not needed as there will be only one entry in that case so no randomness.
2015-01-16 15:15:14 +05:30
Koushik Das 627f5a62dc volume upload: management server polling and upload status from agent
MS polling logic to query status for volumes that are uploaded
2015-01-14 10:19:12 +05:30
Likitha Shetty a75a431373 CLOUDSTACK-8107. Failed to create snapshot from volume when the task is performed repeatedly in zone wide primary Storage.
While taking a snapshot of a volume, CS chooses the endpoint to perform backup snapshot operation by selecting any host that has the storage containing the volume mounted on it.
Instead, if the volume is attached to a VM, the endpoint chosen by CS should be the host that contains the VM.
2014-12-23 09:48:35 +05:30
Sanjay Tripathi 0c4128e024 CLOUDSTACK-8097: Failed to create volume snapshot after vm live migration across clusters. 2014-12-19 14:26:48 +05:30
Laszlo Hornyak 3577423da9 removed executable flags from java classes
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:49:01 +01:00
Edison Su 4140811549 CLOUDSTACK-7947:
double check if parent snapshot is removed or not, when creating new
snapshot

Reviewed-by: Min
2014-11-19 16:13:05 -08:00
Prachi Damle c5399cdef0 CLOUDSTACK-5853 cannot deploy vm with differing service storage tag and data disk storage tag
Changes:
- Reverting Marcus's fix since this issue has already fixed by https://issues.apache.org/jira/browse/CLOUDSTACK-5426
2014-11-18 09:47:23 -08:00
Nitin Mehta 5213401ace CLOUDSTACK-7920: NPE in the payload was causing the ssvm agent to not connect, fix it and also make sure that template/volume sync are robust that exceptions do not cause ssvm agent disconnect issues. 2014-11-14 16:19:10 -08:00
Sanjay Tripathi b844155240 CLOUDSTACK-7842: Wrong size column is getting updated with snapshot physical size in snapshot_store_ref table.
Also fixed the issue that snapshot size with hypervisor XS >= 6.2.5 is not getting updated in snapshot_store_ref table.
2014-11-05 16:42:28 +05:30
Santhosh Edukulla 0a9742f914 Fixed few coverity issues
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-10-14 17:16:50 +05:30
Nitin Mehta ce90837357 CLOUDSTACK-6826: Improving the download url expiration where the expiration work would be handled by the ssvm that has the corresponding symlink created on it. In case it doesnt exist, then would be any one of the ssvm in the zone.
Also when the ssvm is destroyed all the download urls are expired to be cleaned up in the next run by the new ssvm.
2014-10-10 16:28:48 -07:00
Min Chen aed36c2776 CLOUDSTACK-6478:Fix a typo in RemoteHostEndPoint.setId(). 2014-10-06 15:33:58 -07:00
Likitha Shetty f1e3e83bbf BUG-ID: CLOUDSTACK-7653. VM's are not getting deleted from hypervisor after deleting from UI when using zone wide primary storage.
While expunging a volume, CS chooses the endpoint to perform delete operation by selecting any host that has the storage containing the volume mounted on it.
Instead, if the volume to be deleted is attached to a VM, the endpoint chosen by CCP should be the host that contains the VM.
2014-09-30 15:20:15 +05:30
Kishan Kavala bab81f0d6f CLOUDSTACK-7478, CLOUDSTACK-7479: Move pool type filter to seperate method 2014-09-05 19:38:55 +05:30
Kishan Kavala e491716aa7 CLOUDSTACK-7478, CLOUDSTACK-7479: Check for correct storage pool type for ROOT and Data disks in LXC 2014-09-04 22:55:30 +05:30
Bharat Kumar cab2b12d7d CLOUDSTACK-7155 Re-copying templates to other zones doesn't work 2014-08-21 09:50:54 +05:30
Anthony Xu 330c4ba578 completed the new vmsync TODOs in the code.
removed old vmsync logic
2014-07-28 12:51:37 -07:00
Santhosh Edukulla 2018d7d977 Fixed Coverity Issues Reported 2014-07-25 16:39:16 +05:30
amoghvk c804660c74 CLOUDSTACK-7168: Revert "Fixed Coverity Issues reported" that broke CI
This reverts commit 4523490d44.
2014-07-23 11:37:36 -07:00
Santhosh Edukulla 4523490d44 Fixed Coverity Issues reported
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-07-22 18:03:36 +05:30
amoghvk 6831ed4026 CLOUDSTACK-6358: Missing patches in master branch 2014-07-14 15:17:58 -07:00
Mike Tutkowski 62c18ca3fa Fixing an issue in the AbstractStoragePoolAllocator's filter method where zone-wide storage of HypervisorType.Any is skipped 2014-07-07 22:16:58 -06:00
Santhosh Edukulla a600d8408e Fixed Resource Leaks, null dereferences, few other issues reported by coverity 2014-07-04 16:17:58 +05:30
ynojima 1e72e5a818 CLOUDSTACK-6935 remove iSCSI storage filtering logic for Root volume
since there is no reason to filter it out
2014-07-01 19:57:19 -06:00
ynojima 32ed9d86ec Revert "Fixing an issue introduced with Review Request 22717"
This reverts commit 12e92e10ff.
2014-07-01 19:54:11 -06:00
Mike Tutkowski 12e92e10ff Fixing an issue introduced with Review Request 22717 2014-06-26 23:56:11 -06:00
Anshul Gangwar bbcffbbab0 CLOUDSTACK-6965: fixed the NullPointerException introduced by fix for cloudstack
6935 in AbstractStoragePoolAllocator#filter method for Zone Wide storage
2014-06-23 12:17:08 +05:30
ynojima 318e497e60 CLOUDSTACK-6935 refactor StoragePoolAllocator#filter logic
to support IOPS capacity control in a cluster wide storage pool and a
local storage pool
to enable hypervisor type check, storage type check for root volume and
avoid list check

Since original commit(31de58edab) contained
a bug, it was reverted and this commit is a revised one.
2014-06-18 13:45:52 -06:00
ynojima 77e74841a0 Revert "CLOUDSTACK-6935 refactor StoragePoolAllocator#filter logic"
This reverts commit 31de58edab.
2014-06-18 13:04:39 -06:00
ynojima 31de58edab CLOUDSTACK-6935 refactor StoragePoolAllocator#filter logic
to support IOPS capacity control in a cluster wide storage pool and a
local storage pool
to enable hypervisor type check, storage type check for root volume and
avoid list check
2014-06-18 11:07:34 -06:00
Tim Mackey a8212d9ef4 Cleanup of Xen and XenServer terms. Cloned xen plugin creating a xenserver plugin, then removed xen plugin
Signed-off-by: Tim Mackey <tmackey@gmail.com>
Signed-off-by: Sebastien Goasguen <runseb@gmail.com>
2014-06-07 04:50:23 -04:00
Nitin Mehta 5393387bbd CLOUDSTACK-6599:
1. Adding the missing Template/Volume URLs expiration functionality
2. Improvement - While deleting the volume during expiration use rm -rf as vmware now contains directoy
3. Improvement - Use standard Answer so that the error gets logged in case deletion of expiration link didnt work fine.
4. Improvement - In case of domain change, expire the old urls
2014-05-30 10:48:42 -07:00
Devdeep Singh 7c2b1deb34 CLOUDSTACK-6810: Fix storage migration of a vm with volume on local was failing. When a plan
with hostid included was passed to the local storage pool allocator, it returned all the local
storage pools in the cluster, instead of just the local pool on the given host in the plan.
This was happening the search at a host level was happening only for data disk. Fixed this.
Additionally, the query to list the storage pools on a host was failing if the pool did have
tags. Fixed the query too.

CLOUDSTACK-6802: Fix for not being able to attach data disk on local. This issue gets fixed
with the above issue too. The query to list pools on a host was failing if there were no
tags on the storage pool.
2014-05-30 14:46:39 +05:30
Min Chen 8e286996c8 CLOUDSTACK-6478: Failed to download Template when having 3 SSVM's in one
zone on Vmware.
2014-04-22 20:11:09 -07:00
Saksham Srivastava eb195d0575 CLOUDSTACK-6151: Local data disk with tag goes to the wrong local storage pool
Signed-off-by: Koushik Das <koushik@apache.org>
2014-04-16 16:19:08 +05:30
Ding Yuan c031eb7d38 CLOUDSTACK-6242: exception handling improvements
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-04-15 08:07:15 +02:00
edison ed9ed446c2 CLOUDSTACK-5432: potential bugs in case of stop mgt server while
template is downloading, template_store_ref has leftover not in ready
state, when create vm from that template, the code doesn't check either
zone id, nor template_store_ref state.

Conflicts:
	engine/orchestration/src/org/apache/cloudstack/engine/orchestration/VolumeOrchestrator.java
2014-03-18 12:20:14 +01:00
Min Chen ae1d6a771b Remove IAMEntityType to use existing VO interface class to annotate
entityType.
2014-03-17 17:19:55 -07:00
Devdeep Singh 2aff39f8c7 CLOUDSTACK-6143: Storage motion support for hyper-v. With these changes a volume on a shared
storage pool (SMB) and attached to a running vm can be live migrated to another shared storage
pool. Also a vm and its volumes can be live migrated to another host and storage pool respectively.
2014-03-14 16:27:58 +05:30
Alena Prokharchyk 6c23e201ad 1) More fixes for the problems found by findBugs
2) Corrected some logging in  MidoNetPublicNetworkGuru - removed .toString method call on the objects in the log body as toString is called on the object by default when use log4j
2014-03-13 16:05:45 -07:00
Min Chen d0ae4d9a9f CLOUDSTACK-5920:Add interface to ControlledEntity to return IAM
entity type.
2014-03-05 09:40:55 -08:00
Alena Prokharchyk e0de79b170 Resource metadata: by default, all metadata is set with display=true (meaning that the detail is avaialble for display to the regular user). If admin wants to set a specific detail to be false, he has to specify it explicitly in addResourceDetail command 2014-02-10 12:05:59 -08:00
Devdeep Singh 306ffa0218 CLOUDSTACK-6053: While adding a primary or secondary of type smb the password wasn't
encoded. This cause createStoragePool or addImageStore command to fail if special
characters were present. Updated the code to pass user, password and domain as part
of details while adding primary or secondary. Also made changes on server side to
handle it.
2014-02-10 10:29:09 +05:30
Min Chen 621276715a CLOUDSTACK-6046:CreateVolume from snapshot is failing with S3 as
secondary storage and zone-wide primary storage.
2014-02-06 15:36:26 -08:00
Ian Southam cecb216caa fixBugs finding
fm.equals(format) breaks equals contract

Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-02-06 10:32:06 +01:00
Devdeep Singh a24263fe81 CLOUDSTACK-6030: Encrypt the primary and secondary smb storage password when it is stored in the db. 2014-02-05 15:44:09 +05:30
Min Chen c0da0a884a CLOUDSTACK-5921:S3 security key is stored in DB unencrypted 2014-01-21 14:34:32 -08:00
Marcus Sorensen fc082832d3 CLOUDSTACK-5853
Create two storage pools, one with storage tag X, one with storage tag Y.
Create a service offering with storage tag X.
Create a disk offering with storage tag Y.
Attempt to deploy a virtual machine with a datadisk, using given offerings, it fails.

Deployment planner keeps a global object 'avoid'. It loops through each volume to
be created, asking storage allocators for matching pools, passing this avoid object.

First disk matches a pool or pools, adds ALL other pools to avoid object, then
deployment planner attaches matching pools to a list for that disk.

Second disk matches a pool, adds all other pools to avoid object, then deployment
planner says "wait, matching pool is in avoid, can't use it". Oops. In fact, at this
point ALL pools are in avoid (unless there are other pools that have both tags).

Need to remove matching pool from the avoid set during each select phase.
2014-01-10 11:55:54 -07:00
Min Chen 3223028fd6 CLOUDSTACK-5841:Snapshots taken before migration NFS to S3 can not be
used cross-zone.
2014-01-08 17:43:06 -08:00
Sanjay Tripathi 3ad0e8fb47 CLOUDSTACK-5701: physical size is not getting updated in snapshot_store_ref table. 2014-01-06 11:36:43 +05:30
Min Chen 6f800506fd CLOUDSTACK-5653:S3 object store as Secondary Storage, the template
created from different zone is not available for the other zones.
2013-12-26 14:48:21 -08:00
Min Chen 5d262d7b59 CLOUDSTACK-5648:CopyTemplate and CopyISO across zones fails after NFS
migration to S3.
2013-12-26 12:39:39 -08:00
Edison Su e52a4d9306 CLOUDSTACK-5572: quicevm won't save memory, as it needs pv driver installed
Conflicts:

	engine/storage/src/org/apache/cloudstack/storage/helper/HypervisorHelperImpl.java
2013-12-20 12:36:30 -08:00
Edison Su 0824c78761 CLOUDSTACK-4939 - Failed to create snapshot (KVM, Multiple hosts, Sharedstorage)
Conflicts:

	engine/storage/datamotion/src/org/apache/cloudstack/storage/motion/AncientDataMotionStrategy.java
	engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
	plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java

Conflicts:

	engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
	plugins/storage/volume/default/src/org/apache/cloudstack/storage/datastore/driver/CloudStackPrimaryDataStoreDriverImpl.java
2013-12-19 14:17:30 -08:00
Edison Su 8caf52c6bc add xenserver 6.2.0 hotfix support, to optimize vdi copy
add xenserver hot fix

Conflicts:

	api/src/com/cloud/vm/VirtualMachineName.java
	core/src/com/cloud/host/HostInfo.java
	core/src/org/apache/cloudstack/storage/to/SnapshotObjectTO.java
	deps/XenServerJava/src/com/xensource/xenapi/VDI.java
	engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/XenserverSnapshotStrategy.java
	engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
	engine/storage/src/org/apache/cloudstack/storage/image/db/SnapshotDataStoreDaoImpl.java
	plugins/hypervisors/xen/src/com/cloud/hypervisor/XenServerGuru.java
	plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
	plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerPoolVms.java
	plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageProcessor.java
	server/src/com/cloud/configuration/Config.java
2013-12-19 14:15:41 -08:00
Edison Su c40d03b417 CS-18582: if EIP is used, extract volume and template returns wrong public ip address. If remote agent is ssvm agent, then looking up public ip address from ssvm table
Conflicts:

	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/SnapshotTest.java
	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/VolumeServiceTest.java
	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/VolumeTest.java
	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/VolumeTestVmware.java
	engine/storage/src/org/apache/cloudstack/storage/RemoteHostEndPoint.java
	engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java
2013-12-19 14:01:20 -08:00
Min Chen 010b007ee4 CLOUDSTACK-5414: With NFS Image Store migrated to S3 an error is thrown
in creation of Virtual Router.
2013-12-11 14:17:43 -08:00
Alex Huang d620df2bdd Reformatted all of the code. 2013-11-21 06:15:26 -08:00
Alex Huang 8d62744681 Reformat all source code. Added checkstyle to check the source code 2013-11-20 07:26:53 -08:00
Hugo Trippaers bb8f8fb20b Expose getPrimaryDataStore(String uuid) through the DatastoreManager interface so it can be used clients. 2013-11-18 14:27:06 +01:00
Edison Su 1292b76c63 Add a new method on datastoredriver: getCapabilities, which will be called by liststoragepoolcmd. UI can make decision based on the capabilities of the storage.
And also add a new table: snapshotdetails
2013-11-14 15:55:39 -08:00
Harikrishna Patnala 53b0bf6733 Template/ISO download fails cause the object to disappear from UI in 4.2
Signed-off-by: Koushik Das <koushik@apache.org>
2013-11-11 10:58:43 +05:30
Edison Su 4815b024bf Add quiesce vm for vmware during vm snapshot 2013-11-08 15:47:11 -08:00
Hugo Trippaers f6f4a93145 Fix CID 1116743 Resource leak 2013-11-07 16:23:20 +01:00
Min Chen 24af28290e CLOUDSTACK-5017: use LocalHostEndPoint in copying from S3 to cache store
during ssvm launch.
2013-11-01 18:07:00 -07:00
Min Chen 6eecb0b3b5 CLOUDSTACK-5017: If SSVM is unavailable DownloadCommands will be routed
to mgmt server.
2013-11-01 18:07:00 -07:00
Edison Su 918bc74050 fix compile 2013-11-01 16:16:03 -07:00
Edison Su 7c99b88926 Don't use cast to PrimarydataStoreTO on the resource code 2013-11-01 15:13:16 -07:00
Edison Su b704d5b8d3 add quiesceVm vm helper function 2013-10-31 16:24:48 -07:00
Alena Prokharchyk 591dcd1d1c ResourceDetails: added "display" field to a bunch of VOs - determines whether the detail should be returned to the regular user 2013-10-29 09:18:11 -07:00
Min Chen 6be228a438 CLOUDSTACK-4024:Provide a way to upgrade from existing NFS secondary
storage to S3.
2013-10-28 21:01:31 -07:00
Alena Prokharchyk 2cac1aaa0f Moved ResourceDao and ResourceDaoBase to cloud-engine-schema/org/apache/cloudstack (used to be mistakenly placed under com/cloud/cloud) 2013-10-28 15:03:57 -07:00
Alena Prokharchyk 5caeab782d ResourceDetails -
1) added createDetail to ResourceDetailDao interface to provide generic way of creating resourceDetail DB objects
2) added resource details support for firewall rules
2013-10-28 14:45:52 -07:00
Alena Prokharchyk e86b612750 ResourceDetails - added createDetail to ResourceDetailDao interface to provide generic way of creating resourceDetail DB objects 2013-10-28 12:53:53 -07:00
Alena Prokharchyk d0090a0c24 Resource details (metadata) - added support for Storage pool details 2013-10-28 12:53:53 -07:00
Edison Su 70b2c0150d rebase to spring changes 2013-10-25 18:15:36 -07:00
Darren Shepherd f3e968b983 Update StorageStrategyFactory to not sort, but just iterate and find the first 2013-10-23 16:36:31 -07:00
Darren Shepherd c9101966e0 Added StorageStrategyFactory to centralize and deduplicate some logic 2013-10-23 12:40:41 -07:00
Darren Shepherd e3280bdba2 Merge remote-tracking branch 'origin/spring-modularization'
Conflicts:
	client/tomcatconf/applicationContext.xml.in
	client/tomcatconf/nonossComponentContext.xml.in
	client/tomcatconf/simulatorComponentContext.xml.in
	framework/db/src/com/cloud/utils/db/Transaction.java
	plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java
2013-10-23 11:14:42 -07:00
Darren Shepherd 205a77a5bb Merge remote-tracking branch 'origin/txn-refactor'
Conflicts:
	engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/metadata/ResourceMetaDataManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2013-10-23 10:40:44 -07:00
Koushik Das 0c1800f70f CLOUDSTACK-4681: data disk with local disk offering are geting created on shared storage
The cluster and zone wide storage pool allocators returned shared pools even for volumes meant to be on local storage pool.
If the VM uses local disk then cluster and zone storage allocators should not handle it and return null or empty list.

Also fixed the deployment planner to avoid a cluster if
a. avoid set returned by storage pool allocators is empty OR
b. all local or shared pools in a cluster are in avoid state

Conflicts:
	engine/storage/src/org/apache/cloudstack/storage/allocator/ClusterScopeStoragePoolAllocator.java
	engine/storage/src/org/apache/cloudstack/storage/allocator/ZoneWideStoragePoolAllocator.java
2013-10-18 17:10:17 +05:30
Darren Shepherd f62e28c1ec New Transaction API
Introduction of a new Transaction API that is more consistent with the style
of Spring's transaction managment.  The existing Transaction class was renamed
to TransactionLegacy.  All of the non-DAO code in the management server has been
updated to use the new Transaction API.
2013-10-16 09:21:00 -07:00
Darren Shepherd 7c72aa96da ConcurrentHashMap will through NPE on null key 2013-10-04 16:56:48 -07:00
Edison Su a129fe4e66 add missing files 2013-10-04 14:17:49 -07:00
Chris Suich 180cfa19e8 Refactor Storage Related Resource Code
These changes are a joint effort between Edison and I to refactor some
of the code around snapshotting VM volumes and creating
templates/volumes from VM volume snapshots. In general, we were working
towards allowing PrimaryDataStoreDrivers to create snapshots on primary
storage and not requiring the snapshots to be transferred to secondary
storage.

High level changes:
-Added uuid to NfsTO, SwiftTO & S3TO to cut down on the requirement of
PrimaryDataStoreTO and ImageStoreTO which don't really serve much of a
purpose
-Initial work towards enable reverting VM volume from snapshots
-Added hypervisor commands for introducing and forgetting new hypervisor
objects (snapshots, templates & volumes)

Signed-off-by: Edison Su <sudison@gmail.com>
2013-10-04 13:06:42 -07:00
Darren Shepherd 67186429e1 Spring Modularization
ACS is now comprised of a hierarchy of spring application contexts.
Each plugin can contribute configuration files to add to an existing
module or create it's own module.

Additionally, for the mgmt server, ACS custom AOP is no longer used
and instead we use Spring AOP to manage interceptors.
2013-10-02 15:41:04 -07:00
Darren Shepherd aed5e9dc2a Add Manage Context framework
The managed context framework provides a simple way to add logic
to ACS at the various entry points of the system.  As threads are
launched and ran listeners can be registered for onEntry or onLeave
of the managed context.  This framework will be used specifically
to handle DB transaction checking and setting up the CallContext.
This framework is need to transition away from ACS custom AOP to
Spring AOP.
2013-10-02 13:09:52 -07:00
Alex Huang b60eef3e82 Added comments and finished off the work 2013-09-28 07:53:28 -07:00
Alex Huang e8cac2c5d8 Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement 2013-09-28 07:53:26 -07:00
Alex Huang e2988902c9 Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement 2013-09-28 07:53:25 -07:00
Alex Huang a964cf549e Continue to merge SearchCriteria2 and GenericSearchBuilder 2013-09-28 07:53:24 -07:00
Alex Huang af8832f6bd Unified both the SearchBuilder and SearchCriteriaService 2013-09-28 07:53:24 -07:00
Edison Su a82b179878 add table lock on snapshot, during taking snapshot
Conflicts:

	engine/storage/src/org/apache/cloudstack/storage/image/db/SnapshotDataStoreDaoImpl.java
2013-09-25 16:03:59 -07:00
Edison Su b3ac12e171 delete snapshot_store_ref if the snapshot is in error state 2013-09-25 15:51:55 -07:00
Donal Lafferty e958f22ff3 CIFS support for secondary storage is documented here: https://cwiki.apache.org/confluence/display/CLOUDSTACK/CIFS+Support
It was implemented by extending the NFS provider. Its validation was updated so that you can pass it a URL containing the
details of a CIFS share.  The code that mounts NFS shares was extended to allow it do the same for CIFS shares.  Otherwise,
the secondary storage code is left unchanged.
2013-09-11 14:23:29 +05:30
Edison Su 7e7af7d6f4 CLOUDSTACK-4477: in order to select hypervisor host which can access storage pool, need to check storage_pool_host_ref 2013-08-28 16:03:19 +02:00
Min Chen 18b301edb9 CLOUDSTACK-4516:[Upgrade][VMWare]
MySQLIntegrityConstraintViolationException while performing any task
using local storage after upgrade from 3.0.7 to 4.2.
2013-08-27 14:13:59 -07:00
Wido den Hollander 79c366db2b CLOUDSTACK-1191: Re-enable deployment of SystemVMs on RBD
This was reverted by 0a5228922b unintentionnaly
but broke this feature for RBD.

Enable SystemVM deployment on RBD again
2013-08-27 17:05:08 +02:00
Alex Huang abbae2aa87 Fixed the problem with offerings and templates. These two items due to a previous patch all the way back in 2.1.x versions uses the removed column incorrectly. No one fixed since then. Hence, there's a bunch of findbyidincludingremoved calls in the cloudstack code around these two items. 2013-08-26 17:31:10 -07:00
Min Chen 2611ac75c1 CLOUDSTACK-4454:object_store - Not able to delete secondary storage when
existing snapshots are deleted.
2013-08-22 16:02:31 -07:00
Min Chen 3bd2bbf59d CLOUDSTACK-3950:Set cross-zone flag in registerTemplate/registerIso in
case of region-wide secondary is enabled.
2013-08-20 14:13:49 -07:00
Edison Su 4fd09cb344 CLOUDSTACK-4324: delete snapshot_store_ref, if create snapshot failed on primary storage 2013-08-19 15:26:18 -07:00
Edison Su 37d58313c9 CLOUDSTACK-4325: if userdispersing algorithm is used, then zone wide storages never been picked up 2013-08-14 15:52:55 -07:00
Wido den Hollander 04f378bcff CLOUDSTACK-4114: Use RAW disk images for RBD instead of QCOW2 2013-08-13 16:14:45 +02:00
Min Chen e018936dc4 CLOUDSTACK-4129: select SSVM based on ImageCache data store instead of
region wide image store.
2013-08-09 18:13:29 -07:00
Min Chen 99c3e4f3f5 CLOUDSTACK-4190: Add endpoint selector implementation for ImageCache
data store and also delete object from staging area for volume copy from
primary to secondary or vice versa.
2013-08-08 16:17:00 -07:00
Alex Huang 5495f10bce Revert "Reverting the range of commits that broke the build"
This reverts commit b59e3aaefc.
2013-08-08 15:02:40 -07:00
Prasanna Santhanam b59e3aaefc Reverting the range of commits that broke the build
This reverts commits 30c33415..f6a2c817bc

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-08-08 14:46:56 +05:30
Alex Huang 5287f4c9ec Got everything running through testing 2013-08-07 16:41:06 -07:00
Alex Huang 942f282a6e Moved config into it's own package 2013-08-07 16:41:02 -07:00
Min Chen a8990cffd4 CLOUDSTACK-4003: We should not delete a READY data object from object
store ref table in case of any operation failure related to this data
object.
2013-08-06 15:04:57 -07:00
Nitin Mehta f28a28dc77 CLOUDSTACK-3913
Private templates would now get copied to only one of image  storage chosen randamly as was the case earlier. Dont throw an exception for uploading volumes when there are multiple image stores, instead choose one of them randomly
Signed off by : nitin mehta<nitin.mehta@citrix.com>
2013-08-05 17:43:57 +05:30
Min Chen ad653bf9f5 CLOUDSTACK-3977: vm deployement is failing ;: Resource [Host:5] is
unreachable: Host 5: Unable to send class
org.apache.cloudstack.storage.command.CopyCommand because agent is in
maintenance mode.
2013-07-31 14:04:20 -07:00
Min Chen c2192808aa CLOUDSTACK-3686: Registering a template does not generate a usage event. 2013-07-30 17:35:12 -07:00
Edison Su ae534388c0 CLOUDSTACK-3852: fix upload volume
Conflicts:

	plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java
	server/src/com/cloud/template/TemplateManagerImpl.java
2013-07-29 11:50:16 -07:00
Min Chen 45d38c4142 CLOUDSTACK-3709:[Object_Store_Refactor][UI] Can't delete NFS Cache
storage through UI.  Fixed at API side.

Conflicts:
	server/src/com/cloud/storage/StorageManagerImpl.java
2013-07-25 17:33:28 -07:00
Min Chen e7cdaa1b31 CLOUDSTACK-3667:[Object_Store_Refactor][VMWare] System VMs StartCommand
failed due to Exception: java.lang.Exception Message: secondary storage
for dc 3 is not ready yet?
2013-07-25 10:57:05 -07:00
Min Chen 13a9b94193 CLOUDSTACK-3665:Failed to create volume from snapshot. 2013-07-24 14:39:07 -07:00
Edison Su d22bea6031 CLOUDSTACK-2630: fix delta snashpt 2013-07-24 09:48:59 -07:00
Edison Su fa358cf01f CLOUDSTACK-2630: fix delta snashpt 2013-07-24 09:48:41 -07:00
Min Chen db8b9ea53a Remove CLOUDSTACK-3513 debugging messages. 2013-07-22 16:18:16 -07:00
Alex Huang 1325014a03 Changed VirtualMachineProfile to be non-generic. From here on VirtualMachineManager will only manage vm instance. It doesn't understand the difference between different types of VMs. This makes the vmsync code to be generic across all vms. 2013-07-22 11:48:11 -07:00
Alex Huang b18c72626b Moved the SprintUtils which is for testing only to be in test directory. Changed pom.xml for different projects to use the utils test-jar. Removed some @Component annotations. Moved majority of the dependencies from cloudstack pom to utils pom 2013-07-18 21:53:51 -07:00
Min Chen e1c17bd853 CLOUDSTACK-3513: add debug message to diagnose copyIso issue on
automation setup where DownloadCommand is never sent.
2013-07-18 16:08:29 -07:00
Devdeep Singh 876a7b3361 Add VHDX image support, which is missing from DiskFormat class, revised ImageFormat interface, StorageManager implementation, and the application component spec. 2013-07-18 18:58:05 +05:30
Edison Su c618caf102 fix localendpoint npe 2013-07-17 16:29:52 -07:00
Edison Su 4bbaac2d28 fix NPE in localhostendpoint 2013-07-17 10:16:58 -07:00
Edison Su bf32776f9f be able to upload template into swift 2013-07-16 18:07:06 -07:00
Koushik Das 396a13dd0b CLOUDSTACK-3445: Observing the system alerts "unallocated Local Storage is low in cluster" when Primary storage is Local Storage
Available bytes was getting stored in the used bytes property of local storage pools. As a result of this, for newly added local pools Cloudstack thinks that there is no space available and generated alerts.
2013-07-15 15:20:28 +05:30
Edison Su 0c1ae20e77 add inital swift support
Conflicts:

	server/src/com/cloud/resource/ResourceManagerImpl.java
	server/test/com/cloud/resource/MockResourceManagerImpl.java
2013-07-13 02:07:03 -07:00
Vijayendra Bhamidipati d9ce49b1f1 CLOUDSTACK-3264: [ZWPS]NPE while finding storage pools for migration
Description:

    Filter primary storage pools based on zonewide/clusterwide configuration
    when considering pools to list for storage migration of volumes.
2013-07-12 15:19:36 -07:00
Prasanna Santhanam f96b89f25e CLOUDSTACK-3273: ClassCastException when adding cache store via API
Filter the detail map sent over the wire into Map<String, String> before
processing underneath by  storage life cycle

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-07-05 15:32:41 +05:30
Vijayendra Bhamidipati 6bad34c509 CLOUDSTACK-3110: [VMWARE]NPE while adding primary storage(scope=cluster) with Invalid hostname
Description:

    When retrieving primary datastore, handle case for non-existing datastores/hosts.
    Throw exception and handle the exception in datastore mgmt layer and pass onward
    to create storage pool API.
2013-07-03 09:43:00 -04:00
Min Chen 3d37b8c049 CLOUDSTACK-3277: Remove unused PrimaryDataStoreEntityImpl class 2013-07-01 14:00:44 -07:00
Edison Su 49ded7e4a3 the plugin better not touch database 2013-06-29 15:09:43 +05:30
Prasanna Santhanam f1134da8df Group storage subsystem components for spring
Breaking down storage components among oss, nonoss and simulator
contexts. The default components are loaded by

OSS - applicationContext + componentContext
NonOSS - applicationContext + nonossComponentContext
Simulator - applicationContext + simulatorComponentContext

provider beans are are selectively overridden for simpler configuration.
Where possible beans are loaded by local reference.

<list merge=true> does not unfortunately work perfectly for bean merging
the providers causing a bit of bloat. Explore for later.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-06-29 13:53:41 +05:30
Prasanna Santhanam de38cd815f Fix typo in class name
AsyncRpcConext -> AsyncRpcContext

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-06-29 13:50:25 +05:30
Mike Tutkowski 99227f7b3e SolidFire plug-in and related changes
SolidFire plug-in

SolidFire plug-in related
2013-06-28 16:59:21 -06:00
Min Chen de44a77878 Gracefully handle racing condition in updating state of dataobject and
data store mapping table.
2013-06-26 17:16:25 -07:00
Edison Su 97f8c524b8 merge object_store 2013-06-20 00:18:00 -07:00
Harikrishna Patnala 7b6b8d7a07 CLOUDSTACK-2987 Ensure XStools to be there in template inorder to enable dynamic scaling of vm
CLOUDSTACK-3042 - handle Scaling up of vm memory/CPU based on the presence of XS tools in the template
This also takes care of updation of VM after XS tools are installed in the vm and set memory values accordingly to support dynamic scaling after stop start of VM

Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-06-20 11:08:38 +05:30
Alena Prokharchyk d66e9c7b51 CLOUDSTACK-2843: Provideded an ability to turn off the synchronization being done on the CS agent side,
for number of commands participating in Vm deployment process, as parallel deployment is supported on the hypervisor side.
The behavior is controlled by global config varirables:

"execute.in.sequence.hypervisor.commands" (false by default) sets/resets the synchronization for commands:
=========================
StartCommand
StopCommand
CreateCommand
CopyVolumeCommand

"execute.in.sequence.network.element.commands" (false by default) sets/resets the synchronization for commands:
==========================
DhcpEntryCommand
SavePasswordCommand
UserDataCommand
VmDataCommand

As a part of the fix, increased the global lock timeout to 30 mins in several VR scripts:
===========================
edithosts.sh
savepassword.sh
userdata.sh

to support situations when multiple concurrent calls to the script are being made.
2013-06-19 10:12:13 -07:00
Dave Brosius 3a02942123 set rpcProvider field correctly
Signed-off-by: Dave Brosius <dbrosius@mebigfatguy.com>
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-06-17 19:12:02 +05:30
Edison Su a715eb8121 clean up storage related code, and add lru replacement algorithm for cache storage 2013-06-14 15:55:59 -07:00
Min Chen 7a3e7d1891 Send CopyCommand to Host instead of randomly picking host and ssvm in
backup snapshot. For VMware, it will delegate to ssvm in VMwareGuru.
2013-06-13 11:21:25 -07:00
Min Chen 18aeef3ef1 Merge branch 'master' (up to commit
c30d9be3ce) into object_store.
2013-06-12 11:20:32 -07:00
Min Chen 03f4c60360 Add missing new file. 2013-06-06 18:01:25 -07:00
Min Chen ef03d5a122 Move data store specific extract template/iso logic from
TemplateManager to data store driver.
2013-06-04 11:50:43 -07:00
Sateesh Chodapuneedi 7998413f48 CLOUDSTACK-2029 zone wide primary storage support for cloudstack over vmware deployments
Added hypervisor type to CreateStoragePoolCmd & Storage pool responses.
DatastoreLifeCycle would consider hypervisor type while attaching datastore to zone.
ZoneWideStoragePoolAllocator would filter zone wide primary storage pools by hypervisor type along with tags in disk profile.
hypervisor type is mandatory parameter if scope is specified as ZONE while creating primary storage pool.
As of now KVM, VMware are allowed to use ZoneWideStoragePoolAllocator.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-06-01 00:05:27 +05:30
Edison Su 0a5228922b clean up storage related coded 2013-05-29 18:04:37 -07:00
Min Chen 27133fba7d Simplify clean up snapshots logic in secondary storage and consolidate
to use one agent command DeleteSnapshotBackupCommand for snapshot
deletion task by removing CleanupSnapshotBackupCommand.
2013-05-25 20:48:15 -07:00
Wido den Hollander bef3a2edb7 CLOUDSTACK-1191: rbd: Use cloning for deploying templates instead of a copy
RBD format 2 supports cloning (aka layering) where one base image can serve
as a parent image for multiple child images.

This enables fast deployment of a large amount of virtual machines, but it also
saves spaces on the Ceph cluster and improves performance due to better caching.

Qemu-img doesn't support RBD format 2 (yet), so to enable these functions the
RADOS/RBD Java bindings are required.

This patch also enables deployment of System VMs on RBD storage pools. Since we
no longer require a patchdisk for passing the boot arguments we are able to deploy
these VMs on RBD.
2013-05-24 16:00:08 +02:00
Min Chen 1e21b0b0e8 Handle null host ip from NetUtils.getDefaultHostIp(). 2013-05-23 13:05:01 -07:00
Min Chen 8d08f9b74b CLOUDSTACK-2655: use ssvm public IP to construct extract url. 2013-05-23 12:05:58 -07:00
Min Chen 039098469a CLOUDSTACK-2584: set Format value in CopyCommand. 2013-05-22 14:33:40 -07:00
Edison Su 5af888c67a add image format in volumevo 2013-05-22 13:38:11 -07:00
Min Chen f23f341922 Handle CopyCmdAnswer in VolumeObject.processEvent for image and
imageCache, and fix a bug in selecting endpoint.
2013-05-21 22:15:36 -07:00
Min Chen 235825dc33 Properly updated destroyed column in template_store_ref and
volume_store_ref in deleting template or volume.
2013-05-21 16:51:12 -07:00
Min Chen b9378ae5ad Fix cache storage selection in case of zone scope id passed is null. 2013-05-20 16:44:31 -07:00
Min Chen 565bdfb27b Fix CLOUDSTACK-2525: clean up db entries in vm_template and
template_store_ref in case of template creation failure.
2013-05-20 16:21:45 -07:00
Edison Su f7c1b711ad merge to master 2013-05-16 23:56:20 -07:00
Prachi Damle a2eb7bab1e CLOUDSTACK-2056: DeploymentPlanner choice via ServiceOffering
- Changes merged from planner_reserve branch
- Exposing deploymentplanner as an optional parameter while creating a service offering
- changes to DeploymentPlanningManagerImpl to make sure host reserve-release happens between conflicting planner usages.
2013-05-16 15:02:17 -07:00
Edison Su a0c3d280b4 merge to master 2013-05-15 00:40:53 -07:00
Edison Su 879a954b98 delete snapshot at the backend 2013-05-14 21:58:07 -07:00
Edison Su 12583bbffc snapshot path is accountId + volumeid 2013-05-14 13:20:10 -07:00
Min Chen 5341f299ff We still need the hack of Ready to Ready transition for NFS. 2013-05-13 15:46:00 -07:00
Edison Su 1694c1a502 fix download timeout 2013-05-13 14:40:49 -07:00
Min Chen e6faa47a4b Remove unnecessary state machine entry after refactoring
sendMessageAsyncWithListener to use sendMessageAsync.
2013-05-13 11:36:44 -07:00
Min Chen ff735b4d81 Fix a bug in searching for eligible image store when we pass a ZoneScope
with scopeId = null.
2013-05-13 11:07:06 -07:00
Min Chen 0b9e0c0f3a Override getRootDir in LocalNfsSecondaryStorageResource to make mount
successfully on MS side. Now S3 is working.
2013-05-12 17:41:44 -07:00
Edison Su e8259e38c2 integration test is passed again 2013-05-12 14:41:06 -07:00
Min Chen 1bd216fc48 Merge with latest code rebased from master 2013-05-11 21:05:54 -07:00
Edison Su 90de46c4fe get vmware works 2013-05-10 19:26:44 -07:00
Min Chen 8a9a7a4adc Fix a bug in create cache object for S3. 2013-05-10 17:53:32 -07:00
Alex Huang 342624e0eb Merged with head 2013-05-10 16:33:57 -07:00
Alex Huang 3047929367 Merged 2013-05-10 16:21:43 -07:00
Edison Su 15fc4e137d add license header 2013-05-10 11:40:11 -07:00
Edison Su 42e25a22fc refactor kvm/vmware resource code 2013-05-09 23:10:05 -07:00
Min Chen 2c22488ed7 Filter out cache store in find image store by provider. 2013-05-09 21:49:12 -07:00
Min Chen 6f4fcf741c Fix listImageStores to only list store with Image role, excluding those
cache stores since they are also stored in image_store table.
2013-05-09 21:49:12 -07:00
Min Chen 292e77b96b Fix marvin test to add S3 image store and cache storage. 2013-05-09 16:19:06 -07:00
Min Chen fa11575212 Add store_role to template_store_ref, and add search function to find
template_store_ref entry based on DataStoreRole and ZoneId.
2013-05-08 22:06:07 -07:00
Min Chen dc5d2f45e9 Make copyFromS3ToNFS flow work. 2013-05-08 17:39:46 -07:00
Min Chen f8edb55497 Register template, delete template and create instance from registered
template are working on NFS.
2013-05-08 10:29:09 -07:00
Edison Su 5aeca646ae make create template from volume/snapshot work 2013-05-07 20:18:19 -07:00
Min Chen 8984e430ce Add state transition for destroy scenario. 2013-05-07 17:45:06 -07:00
Min Chen 26424ff2a8 Make url in AddImageStoreCmd not required since S3 does not have url. 2013-05-06 22:14:49 -07:00