Commit Graph

464 Commits

Author SHA1 Message Date
Anshul Gangwar c68931fc64 CLOUDSTACK-9706: Added snapshots cleanup in start and storage GC thread if they are failed to cleanup during DeleteSnapshot command 2017-03-17 17:40:55 +05:30
Anshul Gangwar 42b89278e9 CLOUDSTACK-8833: Fixed Generating url and migrate volume to another storage , resulting two entry in UI and listvolume is not working for that volume
Update the volume id in volume_store_ref table to newly created volume for migration
2017-02-28 17:55:42 +05:30
Syed f46651e672 Support Backup of Snapshots for Managed Storage
This PR adds an ability to Pass a new parameter, locationType,
    to the “createSnapshot” API command. Depending on the locationType,
    we decide where the snapshot should go in case of managed storage.

    There are two possible values for the locationType param

    1) `Standard`: The standard operation for managed storage is to
    keep the snapshot on the device. For non-managed storage, this will
    be to upload it to secondary storage. This option will be the
    default.

    2) `Archive`: Applicable only to managed storage. This will
    keep the snapshot on the secondary storage. For non-managed
    storage, this will result in an error.

    The reason for implementing this feature is to avoid a single
    point of failure for primary storage. Right now in case of managed
    storage, if the primary storage goes down, there is no easy way
    to recover data as all snapshots are also stored on the primary.
    This features allows us to mitigate that risk.
2016-10-30 23:19:58 -06:00
nvazquez 2e77496601 CLOUDSTACK-9438: Fix for CLOUDSTACK-9252 - Make NFS version changeable in UI 2016-09-28 08:51:37 -07:00
Will Stevens 121b3d6403 Merge pull request #1567 from exoscale/CLOUDSTACK-9238
CLOUDSTACK-9238: Fix URL length to 2048 for all url fields in VOI will update the PR to add max field length in the API commands too

* pr/1567:
  API: update url field max length
  not needed on host table
  Fix URL length to 2048 for all url fields in VO

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-27 15:20:22 -04:00
Marc-Aurèle Brothier a59ee03fd7 Fix URL length to 2048 for all url fields in VO 2016-05-27 08:16:05 +02:00
nvazquez 2d2819974e CLOUDSTACK-9368: Fix for Support configurable NFS version for Secondary Storage mounts 2016-05-20 07:31:16 -07:00
Will Stevens 82b702dc9a Merge pull request #1403 from mike-tutkowski/xs-snapshots
Taking fast and efficient volume snapshots with XenServer (and your storage provider)A XenServer storage repository (SR) and virtual disk image (VDI) each have UUIDs that are immutable.

This poses a problem for SAN snapshots, if you intend on mounting the underlying snapshot SR alongside the source SR (duplicate UUIDs).

VMware has a solution for this called re-signaturing (so, in other words, the snapshot UUIDs can be changed).

This PR only deals with the CloudStack side of things, but it works in concert with a new XenServer storage manager created by CloudOps (this storage manager enables re-signaturing of XenServer SR and VDI UUIDs).

I have written Marvin integration tests to go along with this, but cannot yet check those into the CloudStack repo as they rely on SolidFire hardware.

If anyone would like to see these integration tests, please let me know.

JIRA ticket: https://issues.apache.org/jira/browse/CLOUDSTACK-9281

Here's a video I made that shows this feature in action:

https://www.youtube.com/watch?v=YQ3pBeL-WaA&list=PLqOXKM0Bt13DFnQnwUx8ZtJzoyDV0Uuye&index=13

* pr/1403:
  Faster logic to see if a cluster supports resigning
  Support for backend snapshots with XenServer

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-20 08:33:07 -04:00
Will Stevens 88cd182272 Forward merged 4.8 to master and fixed conflicts in #1331 2016-05-19 12:08:08 -04:00
Syed f5ac8ddded Fix Sync of template.properties in Swift 2016-05-13 22:08:16 +00:00
Mike Tutkowski 2bd035d199 Support for backend snapshots with XenServer 2016-05-13 01:02:04 -06:00
Mike Tutkowski dad9e5d868 CLOUDSTACK-8813: Notify listeners when a host has been added to a cluster, is about to be removed from a cluster, or has been removed from a cluster 2016-05-11 08:02:46 -06:00
weingartner b56e9c7a22 Deletion of method endPointSelector.selectHypervisorHost
As discussed on PR 1056, I am removing the method
“endPointSelector.selectHypervisorHost” that is not needed anymore
2016-04-08 11:07:18 -03:00
nvazquez 4aae051558 CLOUDSTACK-9333: Exclude clusters for OVF operations 2016-04-05 08:21:36 -07:00
cirstofolini 1a64c247ad Removed unnecessary @Local annotations and their respective imports from the ComponentLifecycleBase class and its subclasses. 2015-11-21 18:31:11 -02:00
Boris Schrijver 5c0366c99e CLOUDSTACK-9062: Improve S3 implementation.
The S3 implementation is far from finished, this commit focusses on the bases.

 - Upgrade AWS SDK to latest version.
 - Rewrite S3 Template downloader.
 - Rewrite S3Utils utility class.
 - Improve addImageStoreS3 API command.
 - Split various classes for convenience.
 - Various minor improvements and code optimalisations.

A side effect of the new AWS SDK is that it, by default, uses the V4 signature. Therefore I added an option to specify the Signer, so it stays compatible with previous versions.
2015-11-19 15:29:10 +01:00
Daan Hoogland 24500bd0e4 CID 1324349: conditionally return -1 or the dc id for the volume 2015-10-24 14:01:38 +02:00
Sanjay Tripathi 9a35f87d37 CLOUDSTACK-8835: Added alerts incase of template download failure
Reviewed-By: Devdeep
2015-09-11 16:07:35 +05:30
Wei Zhou c0a0aec0f9 Merge pull request #732 from ustcweizhou/revert-volume-snapshot-master
Guys, can you review it? things need to be discussed:
(1) this supports KVM/QCOW2 only. Anyone want to implement for other Hypervisor/format ?
(2) The original data volume (on primary storage) will be removed.
(3) The script uses the default timeout in libvirtComputingResource. Do we need to add one in global configuration (like copy.volume.wait or backup.snapshot.wait, create.volume.from.snapshot.wait)
(4) In scripts/storage/qcow2/managesnapshot.sh, I use "qemu-img convert -f qcow2 -O qcow2" to copy the snapshot from secondary to primary (hence there is no base image file), instead of "cp -f", this is because convert is faster than cp in my testing.

* pr/732:
  CLOUDSTACK-5863: revert volume snapshot for KVM/QCOW2

Signed-off-by: Wei Zhou <w.zhou@tech.leaseweb.com>
2015-09-01 16:18:40 +02:00
Rajani Karuturi 8bc0294014 Revert "Merge pull request #714 from rafaelweingartner/master-lrg-cs-hackday-003"
This reverts commit cd7218e241, reversing
changes made to f5a7395cc2.

Reason for Revert:

noredist build failed with the below error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on project cloud-plugin-hypervisor-vmware: Compilation failure
[ERROR] /home/jenkins/acs/workspace/build-master-noredist/plugins/hypervisors/vmware/src/com/cloud/hypervisor/guru/VMwareGuru.java:[484,12] error: non-static variable logger cannot be referenced from a static context
[ERROR] -> [Help 1]

even the normal build is broken as reported by @koushik-das on dev list
http://markmail.org/message/nngimssuzkj5gpbz
2015-08-31 11:27:57 +05:30
Rafael Weingartner 3818257a68 Solved jira ticket: CLOUDSTACK-8750 2015-08-28 22:35:08 -03:00
Wei Zhou 92344c006d CLOUDSTACK-5863: revert volume snapshot for KVM/QCOW2 2015-08-24 11:01:50 +02:00
Rohit Yadav 38c9dea9c1 CLOUDSTACK-8748: VM UUID accessible in CreateVMSnapshotCommand and RevertToVMSnapshotCommand
This patch makes it possible to expose VM UUID to subsystems, this can be
useful for implementing VM Snapshots for KVM in future.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-24 14:12:49 +05:30
Remi Bergsma 044e685c92 Revert "CLOUDSTACK-8748: VM UUID accessible in CreateVMSnapshotCommand and RevertToVMSnapshotCommand"
This reverts commit 180afe52e5.

This broke the build on master:
master build broken with the below error http://jenkins.buildacloud.org/job/build-master-slowbuild/2101/consoleText

   ```
   [INFO] -------------------------------------------------------------
   [ERROR] COMPILATION ERROR :
   [INFO] -------------------------------------------------------------
   [ERROR] /home/jenkins/acs/workspace/build-master-slowbuild/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixRequestWrapperTest.java:[1581,51] error: constructor CreateVMSnapshotCommand in class CreateVMSnapshotCommand cannot be applied to given types;
   [ERROR]   required: String,String,VMSnapshotTO,List<VolumeObjectTO>,String
     found: String,VMSnapshotTO,List<VolumeObjectTO>,String
     reason: actual and formal argument lists differ in length
   /home/jenkins/acs/workspace/build-master-slowbuild/plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixRequestWrapperTest.java:[1623,53] error: no suitable constructor found for RevertToVMSnapshotCommand(String,VMSnapshotTO,List<VolumeObjectTO>,String)
   [INFO] 2 errors
   [INFO] -------------------------------------------------------------
   ```

This was PR #717 towards 4.5
2015-08-20 07:21:27 +02:00
Rohit Yadav 180afe52e5 CLOUDSTACK-8748: VM UUID accessible in CreateVMSnapshotCommand and RevertToVMSnapshotCommand
This patch makes it possible to expose VM UUID to subsystems, this can be
useful for implementing VM Snapshots for KVM in future.

This was PR #717 towards 4.5

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

(cherry picked from commit 0062ff2672)
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-08-19 19:24:56 +02:00
Daan Hoogland 39bf1fed68 CLOUDSTACK-8656: try with resource te eliminate empty catch clauses 2015-08-02 19:48:58 +02:00
Daan Hoogland 3a4d371665 coverity 1147051: trivial db resource leak in endpoint selector should have been nested try catches before try-with-resource beacame available
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>
2015-07-27 14:43:11 +02:00
Daan Hoogland bcc8182f2f findbugs: write to static from instance these are the trivial cases of ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD as reported by findbugs
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #539
2015-07-09 15:01:58 +02:00
Daan Hoogland d8ab5f3ab8 findbugs: equals unit tests
Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-07-07 13:48:19 +02:00
Daan Hoogland 34629446b6 findbugs equals(obj) implementations go against the contract these are removed from the call into separate calls
Signed-off-by: Daan Hoogland <daan@onecht.net>
2015-07-07 13:48:19 +02:00
Likitha Shetty 299c07c3e1 CLOUDSTACK-8597. Failed to migrate volume from zone-wide to cluster-wide storage. While live migrating a volume, CS chooses the endpoint to perform the migration by selecting any host that has the storage containing the volume mounted on it. Instead, if the volume is attached to a running VM, the endpoint chosen by CS should be the host that contains the VM.
Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #541
2015-07-01 12:33:26 +02:00
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