Commit Graph

153 Commits

Author SHA1 Message Date
Rohit Yadav a35521315e CID-1223274: Remove dead local storage code from VolumeApiServiceImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 60e492aeb9)
2014-10-12 23:57:13 -04:00
Rohit Yadav a5004e37ad CID-1233084: Fix NPE in persisting volume in VolumeApiServiceImpl
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 10:39:53 +02:00
Mike Tutkowski ba41f230e1 CLOUDSTACK-7467 (this part of the ticket is related to augmenting an error message) 2014-09-02 12:51:01 -06:00
Mike Tutkowski de6a3112b6 Update to volume-resize logic 2014-08-28 23:19:04 -06:00
Mike Tutkowski 3773ff060e Update to volume-resize logic 2014-08-21 20:18:20 -06:00
Santhosh Edukulla 19ffc93e2e Fixed few coverity reported issues:Aug22 2014 2014-08-21 17:09:27 +05:30
Mike Tutkowski ffa4d73290 Update to volume-resize logic 2014-08-20 13:18:33 -06:00
Harikrishna Patnala 8d0817860f CLOUDSTACK-7337: Volume state remains in allocated after volume creation faliure from snapshot Volume should be marked to Destroy state after creation faliure.
Signed-off-by: Koushik Das <koushik@apache.org>
2014-08-20 17:39:53 +05:30
Min Chen e3564658be CLOUDSTACK-6940, CLOUDSTACK-7312, CLOUDSTACK-5512: Template/ISO/Volume
upload rejects some valid URL formats. Also consolidate URL format check
into one util routine.
2014-08-12 11:43:08 -07:00
Likitha Shetty f803100813 CLOUDSTACK-6969. Data Volume Shrink operation failing with "Unexpected Exception".
For ResizeVolume API command -
1. If hypervisor resource throws an exception, handle the NPE thrown by the job framework.
2. Improve user error message in case of RuntimeException by throwing the exception instead of 'Unexpected Exception'.
2014-08-01 16:23:47 +05:30
Devdeep Singh fc14fe1132 CLOUDSTACK-7201. Before initating out live volume migration to a pool check that if the
destination pool is a cluster wide pool, it should be in the same cluster as the vm to
which the volume is attached.
2014-07-30 13:01:29 +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
Hugo Trippaers 4bf321bd03 Fix equality check using != on objects
Cleanup in the code, removing dead code
2014-07-22 13:14:26 +02:00
Likitha Shetty 493fd17054 CLOUDSTACK-7152. Attaching datadisk to VMs that have VM snapshot throws 'Unexpected exception'.
Like with other API commands, ensure input parameter validation for AttachVolume happens outside the job queue.
2014-07-22 15:13:37 +05:30
Mike Tutkowski 08d7b46be7 Update to volume-resize logic 2014-07-19 00:42:04 -06:00
Mike Tutkowski b080eaf327 Updates to the way resizing a volume works 2014-07-17 21:09:19 -06:00
Santhosh Edukulla a600d8408e Fixed Resource Leaks, null dereferences, few other issues reported by coverity 2014-07-04 16:17:58 +05:30
Santhosh Edukulla 97d296bfbd Fixed Coverity reported performance issues like inefficient string concatenations, wrong boxing or unboxing types, inefficent map element retrievals
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-07-01 22:06:25 +02:00
Mike Tutkowski 3d9eaf0753 Fixed some spacing issues from 4d6c682f18 2014-06-24 15:27:06 -06:00
punith-cloudbyte 4d6c682f18 supporting nfs protocol and resize feature for managed storage for xenserver
resize feature refactored

Signed-off-by: Mike Tutkowski <mike.tutkowski@solidfire.com>
2014-06-24 15:16:45 -06:00
Anshul Gangwar 6416de5770 CLOUDSTACK-6968: allowing cluster scope volumes to attach to any VM. If migration is
needed then first they will be migrated to appropriate cluster before attaching.
2014-06-23 12:15:10 +05:30
Prachi Damle 05c01a7dc9 CLOUDSTACK-6941: Can't choose storage for the volume, when attaching uploaded data volume to VM
Changes:
- Only way to choose a certain storage pool is by using disk_offering_tags
- Added a parameter to take in a disk offering Id.
- Admin will have to create a custom sized disk offering and tag it as necessary for the user
- This custom offering Id should be passed during uploadVolume to associate the volume with this disk offering
2014-06-18 16:37:43 -07:00
Kelven Yang f529823566 Add ReflectionUse annotation for marking up *un-used* methods 2014-06-17 17:31:29 -07: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
Min Chen ba848087f8 Disable IAM feature from 4.4 release. 2014-05-22 18:27:08 -07:00
Murali Reddy 17fe6cdda4 CLOUDSTACK-6721: VolumeApiServiceImpl is sending wrong type for
updateAsyncJobAttachment

fix sends 'Volume' instead of 'volume'

Conflicts:
	server/src/com/cloud/storage/VolumeApiServiceImpl.java
2014-05-20 17:13:20 +05:30
Nitin Mehta 5388d349a4 CLOUDSTACK-6597: Updatevm - root admin should be allowed to change instance name 2014-05-07 14:34:01 -07:00
Min Chen 4e674ffad1 CLOUDSTACK-6568:API:createVolume: Volume gets created with wrong domain
ID.
2014-05-02 17:47:06 -07:00
Mike Tutkowski 8ac7784db2 CLOUDSTACK-6170 Corrected an issue related to the "Reinstall VM" command and managed storage with VMware 2014-05-02 18:41:59 -06:00
Min Chen 7f595778ad Fix compilation error due to cherry-pick CLOUDSTACK-6569. 2014-05-02 16:01:13 -07:00
Min Chen da13165743 Change AccountManagerImpl.checkAccess to invoke SecurityChecker
interface that takes multiple controlled entities.
2014-04-17 17:53:01 -07:00
Marcus Sorensen 11f5bdd78d CLOUDSTACK-6191 Add support for specifying volume provisioning
type (thin, sparse, fat) in disk/compute offerings.

Submitted-by: Yoshikazu Nojima <mail@ynojima.net>
Reviewed-by: Marcus Sorensen, Mike Tutowski
2014-04-10 09:23:04 -06:00
Min Chen 94ebc90877 Remove usage of sameOwner checkAccess invocation, and convert to
OperateEntry IAM check.
2014-04-04 16:38:29 -07:00
Alena Prokharchyk 3a889aa217 CLOUDSTACK-3886: Volume attach/detach implementation for ROOT disk
Implemented for Xen hypervisor only by now
Unittests are included
2014-04-03 11:39:56 -07:00
edison 550834e4b9 CLOUDSTACK-5763: if vm is stopped, then don't check hypervisor support live storage migration capabilities. 2014-03-28 16:23:09 -07:00
Nitin Mehta 7442b56fa8 CLOUDSTACK-6247: Usage Events - hide them when display flag is off in the context of "Ability to have better control over first class objects in CS" feature
And when the flag is updated on the resource accordingly generate usage events again.
Also when display flag is false in deployvm cmd it should be false for the volumes associated with the vm as well
2014-03-18 14:00:25 -07:00
Marcus Sorensen d638d04cbf CLOUDSTACK-6181: Merge of resize root feature (resize-root branch) 2014-03-14 07:17:33 -06:00
Prachi Damle d9696b26e1 After merge, fix isRootAdmin() calls to use accountId instead of type 2014-03-13 13:28:40 -07:00
Min Chen 99bdc8d875 Merge branch 'master' into rbac. 2014-03-13 11:05:03 -07:00
Sanjay Tripathi c7d31fe288 CLOUDSTACK-4760 : Enabling GPU support for XenServer.
CLOUDSTACK-4762 : Enabling VGPU support for XenServer.

This feature is to enable the GPU-passthrough and vGPU functionality,
with the help of this feature, admins/users will be able to leverage
the GPU graphics unit power by deploying a virtul machine with GPU or
vGPU support or by changing the service offering of an existing VM
at any later point of time. There GPU/vGPU enabled VMs are able to run
graphical applications.
For now, this feature is only supported with XenServer hypervisor but
can be extended to add the support of other hypervisors.
2014-03-11 15:44:51 +05:30
Min Chen 48e08fe676 Merge branch 'master' into rbac. 2014-03-06 14:02:20 -08:00
Nitin Mehta 830328b63d CLOUDSTACK-6199: Hide action events for Vm/Volume commands when the resources have display flag=0.
Introduce generic BaseAsync(Vm/Volume)Cmd to make get the flag value for logging action events.
Rename the db field as display rather than display_event in keeping with the convention
2014-03-05 16:40:44 -08:00
Kelven Yang 0c48f70762 pass over volume info through job boundary for all volume related tasks, since volume record may be re-created. 2014-02-28 15:36:00 -08:00
Kelven Yang 537bf7ced1 add job path to help associate an API job to related internal job. Reviewed-By: Self 2014-02-28 15:35:59 -08:00
Kelven Yang fed85813e9 use lock table for locking 2014-02-28 15:35:58 -08:00
Kelven Yang fda7219646 CLOUDSTACK-5928: disable host delta sync when new VM sync is enabled 2014-02-28 15:35:57 -08:00
Alena Prokharchyk 2f7bfc0c73 Display flag support for publicIpAddress and VPC. Once set to false, the object is not listed to the regular user. Available to be set by Root admin only 2014-02-20 17:15:42 -08:00
Nitin Mehta c171e2c3e4 CLOUDSTACK-4744: Enhance root admin API updateVolume with chaininfo parameter as a part of "Better control over first party objects" feature. 2014-02-19 18:01:18 -08:00
Min Chen 3b58a45e04 Merge branch 'master' into rbac. 2014-02-07 13:43:36 -08:00
Alex Huang 7f34282dfa Removed references to secondarystoragevmmanager from code that doesn't use it. 2014-02-05 01:39:15 +00:00
Alena Prokharchyk 6af6ce7e9e 1) Added External UUID control support for network.
2) Moved UUIDManager interface to cloud-util package
2014-02-04 15:47:12 -08:00
Prachi Damle f84375442e Merge branch 'master' into rbac
Conflicts:
	api/src/org/apache/cloudstack/api/command/user/autoscale/ListAutoScaleVmProfilesCmd.java
	api/src/org/apache/cloudstack/api/command/user/volume/ResizeVolumeCmd.java
	plugins/network-elements/juniper-contrail/test/org/apache/cloudstack/network/contrail/management/MockAccountManager.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/api/query/QueryManagerImpl.java
	server/src/com/cloud/template/TemplateAdapterBase.java
	setup/db/db/schema-430to440.sql
	tools/apidoc/gen_toc.py
2014-02-04 12:07:32 -08:00
Likitha Shetty f4a96d4c85 CLOUDSTACK-6011 . When detach is called on a deleted volume, avoid the NPE and throw an appropriate exception instead 2014-02-03 18:17:25 +05:30
Daan Hoogland ee1e8a6c2a findbugs: use system account id instead of null (security considerations
to be made here)
2014-01-29 12:36:34 +01:00
Daan Hoogland 5d8e8fd3a2 findbugs: nullpointer guards and wrappertype comparisons(cherry picked
from commit 791b7f8f7f)
2014-01-28 16:46:05 +01:00
Min Chen 33cd1ab921 Merge branch 'master' into rbac 2014-01-22 11:23:51 -08:00
Mike Tutkowski 0846bfe1ff CLOUDSTACK-5873: [Automation] Failed to attach volume to VM, if the vm is created with option startvm=false 2014-01-20 23:10:54 -07:00
Min Chen 929fbabaa2 Merge branch 'master' into rbac. 2014-01-17 14:37:08 -08:00
Kelven Yang a9733b5df2 CLOUDSTACK-5731: Use general instance type to categorize VM work jobs to correctly serialize VM operations 2014-01-17 11:55:14 -08:00
Mike Tutkowski 3ef560d925 CLOUDSTACK-5873: [Automation] Failed to attach volume to VM, if the vm is created with option startvm=false 2014-01-16 12:15:18 -07:00
Mike Tutkowski ae35782ccd Merge from 4.3: CLOUDSTACK-5662: XenServer can't discover iSCSI targets with different credentials 2014-01-09 21:36:34 -07:00
Mike Tutkowski 8b6e89c012 Merge from 4.3: CLOUDSTACK-4810: Enable hypervisor snapshots for CloudStack-managed storage (for XenServer and VMware) 2014-01-09 15:44:02 -07:00
Kelven Yang 87381d4236 CLOUDSTACK-5725: put origin flow context id into log4j context prefix to link jobs with the orchestration work flow in logging 2014-01-09 14:29:12 -08:00
Kelven Yang ad6454d2bf CLOUDSTACK-5767: Remove the logic of using underlying job related fields for volume specific logic. 2014-01-09 14:29:12 -08:00
Kelven Yang 737a382c38 Fix a typo caused problem in attach-volume process 2014-01-09 14:29:12 -08:00
Kelven Yang ac0faeb091 Fix auto-merge caused issues 2014-01-09 14:29:12 -08:00
Kelven Yang 0587382265 CLOUDSTACK-669: Finalize VM work dispatching mechanism to avoid big switch statement 2014-01-09 14:29:12 -08:00
Kelven Yang 8c93bd6080 CLOUDSTACK-669: Convert volume snapshot orchestration flow to make it be serialized with other VM operations 2014-01-09 14:29:12 -08:00
Kelven Yang bf9a554522 CLOUDSTACK-669: covert VMsnapshot orchestration flows to make them be serialized with other VM operations 2014-01-09 14:29:12 -08:00
Min Chen 858b9b1177 CLOUDSTACK-5813: With S3 as secondary storage, snapshot taken in one
zone cannot be used to create volume in another zone. zoneId parameter
in createVolumeCmd is not observed.
2014-01-08 17:15:04 -08:00
Sanjay Tripathi c3d8e207c8 CLOUDSTACK-5314: Negative (-ve) values for primary storage and volumes are shown in the resource count table. 2014-01-07 15:07:02 +05:30
Alena Prokharchyk 1832cf6660 CLOUDSTACK-5597: don't perform data disk allocation on the primary storage when attachVolume calls is made for the vm which ROOT disk hasn't been created yet. 2013-12-20 13:39:13 -08:00
Harikrishna Patnala 707da55fe3 CLOUDSTACK-5554: Custom disk offering allows to create a datadisk with size greater than custom.diskoffering.size.max value Fixed both custom.diskoffering.size.max and custom.diskoffering.size.min to ensure input values while deploying the VM and creating volume APIs.
Moved both parameters to VolumeOrchestrationService using ConfigDepot
2013-12-19 16:03:27 +05:30
Kelven Yang 3c965d0685 CLOUDSTACK-669: convert volume attach/detach flows to make them be serialized with other VM operations 2013-12-18 16:14:07 -08:00
Alex Huang be5e5cc641 All Checkstyle problems corrected 2013-12-12 12:26:07 -08:00
Prachi Damle 5475312612 CLOUDSTACK-5399: Add option to createVolume API to specify a VM, to place the volume appropriately and attach immediately
Changes:

    - Added 'virtualmachineid' parameter to the createVolume API to specify a VM for the volume. The Vm should be in 'Running' or 'Stopped' state.
    - This parameter is used only when createVolume API is called using snapshotid parameter
    - When this parameter is set, the volume is created from the snapshot in the pod/cluster of the VM. Also the volume is then attached to the VM in the same request
    - If attach Volume fails but create has succeeded, the API errors out but the Volume created remains available. User may attach the same volume later
    - When Vm is provided, but if no storage pool is available in the VM's pod/cluster then the volume is not created and API fails.
2013-12-06 11:18:26 -08:00
Likitha Shetty f37057a215 CLOUDSTACK-5172. Detaching VM volume is not allowed if there are VM snapshots because any changes to the disk layout will break the semantics of VM-based snapshot 2013-12-04 20:19:17 +05:30
lafferty d2bf5c9d5e bug CLOUDSTACK-5339 2013-12-03 15:56:00 +05:30
Nitin Mehta 414d415dba CLOUDSTACK-5281:
Resource limit shouldnt be counted for resources with display flag = 0. Adding functions to resourcelimitmanager and doing it for the volumes at the moment.
2013-11-26 16:21:45 -08:00
Nitin Mehta 6bea532efa CLOUDSTACK-5206: Ability to control the external id of first
class objects. Putting in the generic methods and trying it
 for objects like vm, volume. This is the first cut
2013-11-26 09:52:17 -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
Edison Su c233492bfc Add quiencevm option on createsnapshotcmd 2013-11-07 14:57:05 -08:00
Min Chen ce3638bb03 Merge branch 'master' into rbac. 2013-11-04 15:49:29 -08:00
Min Chen 2ef4d5200c Merge branch 'master' into rbac. 2013-10-31 17:16:33 -07:00
Mike Tutkowski 449b5daa70 VMware changes related to managed storage 2013-10-31 08:30:50 -06: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
Mike Tutkowski 858ce76665 Extend support of CloudStack-managed storage to KVM 2013-10-27 22:30:03 -06:00
Min Chen 694ec684a3 Add back initialization of _maxVolumeSizeInGb in VolumeApiServiceImpl. 2013-10-25 21:24:08 -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 9fc471dddd CLOUDSTACK-4551: Migrating the data volume from NFS to local storage ,underlying disk offering is not changed.
Even though the volume may get migrated from shared to local storage, it is not possible to update the disk offering.
The fix is to disallow migration from shared to local store.
2013-10-17 15:56:33 +05:30
Koushik Das e58bef22c1 CLOUDSTACK-4682: VMs are getting deployed with shared service offering and local compute offering
VM deployment is fine, issue is in attach volume where all possible scenarios are not handled.
The following needs to be logic of attached volume:
1. if data volume scope is zone then allow attach (this is already there)
2. if data volume scope is cluster
   a. if root volume scope is host, allow if both are in same cluster (already there)
   b. if root volume scope is zone, allow if vm and data volume in same cluster (fixed as part of this commit)
3. if data volume scope is host allow if vm and data volume in same host (fixed as part of this commit)
2013-10-17 15:27:25 +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
Nitin Mehta a6852a340d CLOUDSTACK-3101:
fix listDiskOffering to not display offerings to the normal users with forDisplay=false. But display them to ROOT Admin irrespective of the flag.
Added display flag in the updateVolume/offeirng commands
Signed off by : nitin mehta<nitin.mehta@citrix.com>
2013-10-04 18:19:07 -07:00
Mike Tutkowski bced4c7e8b Add support for hypervisor snapshots to CloudStack-managed storage (for XenServer and VMware) 2013-10-04 15:41:20 -06:00
Darren Shepherd efbfae723e Switch to setter injection for extensibility
Various classes are using member injection to inject extensible objects.
Really those object should come from an AdapterList that is injected in.
This patch switches the code to use setter injection that will later allow
spring to inject an AdapterList or something similar to allow
extensibility.
2013-09-30 09:45:07 -07:00
Alena Prokharchyk 43770e0cb2 CLOUDSTACK-4744: enhanced root admin API updateVolume with state/storageId parameters as a part of "Better control over first party objects" feature.
Also fixed existing bugs for the API:

* corrected action event to be VOLUME.UPDATE (was VOLUME.ATTACH)
* all parameters to update, should be optional - fixed that. If nothing is specified, the db object will remain with its original fields
2013-09-28 21:44:47 -07:00
Edison Su d1a14fbf95 disk resize NPE, if the new disk offering doesn't have tags, then NPE 2013-09-25 16:29:01 -07:00
Prachi Damle aba54356d5 Account_Type Refactoring for Root Admin Role
- change the AccountService::isRootAdmin(short) to  isRootAdmin(long accountId);
- Change all callers
- Change all places that check the account.getType() directly to call the AccountManagerImpl.
2013-09-24 15:31:09 -07:00
Alex Huang 2e5bb63f77 Moved NetworkManagerImpl to NetworkOrchestrator 2013-09-06 15:40:32 -07:00