Commit Graph

567 Commits

Author SHA1 Message Date
Rajani Karuturi f21477a178 Merge pull request #1671 from mike-tutkowski/copy-vol-migration
Adding support for cross-cluster storage migration for managed storage when using XenServerThis PR adds support for cross-cluster storage migration of VMs that make use of managed storage with XenServer.

Managed storage is when you have a 1:1 mapping between a virtual disk and a volume on a SAN (in the case of XenServer, an SR is placed on this SAN volume and a single virtual disk placed in the SR).

Managed storage allows features such as storage QoS and SAN-side snapshots to work (sort of analogous to VMware VVols).

This PR focuses on enabling VMs that are using managed storage to be migrated across XenServer clusters.

I have successfully run the following tests on this branch:

TestVolumes.py
TestSnapshots.py
TestVMSnapshots.py
TestAddRemoveHosts.py
TestVMMigrationWithStorage.py (which is a new test that is being added with this PR)

* pr/1671:
  Adding support for cross-cluster storage migration for managed storage when using XenServer

Signed-off-by: Rajani Karuturi <rajani.karuturi@accelerite.com>
2016-09-13 17:40:12 +05:30
Mike Tutkowski b508fb8692 Adding support for cross-cluster storage migration for managed storage when using XenServer 2016-09-12 07:39:13 -06:00
Bharat Kumar ba9dcba16d Do not update network if one of the router's state is unknown
Added checks to prevent netwrok update when router state is unknown or when
the new offering removes a service that is in use.

Added a new param forced to the updateNetwork API. The network will
undergo a forced update when this param is set to true.

CLOUDSTACK-8751 Clean network config like firewall rules etc, when network services are removed during network update.
2016-09-12 15:24:47 +05:30
Bharat Kumar 75f89c7676 CLOUDSTACK-8751
Minimise network downtime during network updates when redundant VR is being used.
database schema changes
Made changes to the updateNetwork API.
2016-09-12 15:24:47 +05:30
Nathan Johnson 53fd4a7997 CLOUDSTACK-9451
Honor the forced parameter to stop virtual machine api call.
2016-09-09 13:00:17 -05:00
John Burwell 8d11511b1f Adds support for four position versions and optional db upgrades
Often, patch and security releases do not require schema migrations or
data migrations.  However, if an empty upgrade class and associated
scripts are not defined, the upgrade process will break.  With this
change, if a release does not have an upgrade, a noop DbUpgrade is added
to the upgrade path.  This approach allows the upgrade to proceed and
for the database to properly reflect the installed version.  This change
should make the release process simpler as RMs no longer need to
rememeber to create this boilerplate code when starting a new release.

Beginning with the 4.8.2.0 and 4.9.1.0 releases, the project will
formally adopt a four (4) position release number to properly accomodate
rekeases that contain only CVE fixes.  The DatabaseUpgradeChecker and
Version classes made assumptions that they would always parse and
compare three (3) position version numbers.  This change adds the
CloudStackVersion value object that supports both three (3) and four (4)
version numbers.   It encapsulates version comparsion logic, as well as,
the rules to allow three (3) and four (4) to interoperate.

  * Modifies DatabaseUpgradeChecker to handle derive an upgrade path for
  a version that was not explicitly specified.  It determines the
  releases the first release before it with database migrations and uses
  that list as the basis for the list for version being calculated.  A
  noop upgrade is then added to the list which causes no schema changes
  or data migrations, but will update the database to the version.
  * Adds unit tests for the upgrade path calculation logic in
  DatabaseUpgradeChecker
  * Removes dummy upgrade logic for the 4.8.2.0 introduced in previous
  versions of this patch
  * Introduces the CloudStackVersion value object which parses and
  compares three (3) and four (4) position version numbers.  This class
  is intended to replace com.cloud.maint.Version.
  * Adds the junit-dataprovider dependency -- allowing test data to be
  concisely generated separately from the execution of a test case.
  Used extensively in the CloudStackVersionTest.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-30 13:32:32 +05:30
Rohit Yadav 9555492b4d Merge branch '4.9' 2016-08-23 14:16:53 +05:30
Rohit Yadav f13c224da1 Updating pom.xml version numbers for release 4.9.1.0-SNAPSHOT
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-08-19 13:53:39 +05:30
Will Stevens 740bd45be6 Updating pom.xml version numbers for release 4.8.2-SNAPSHOT
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-08-15 10:31:09 -04:00
Will Stevens a63db21d16 Updating pom.xml version numbers for release 4.8.1
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-08-08 10:06:21 -04:00
Will Stevens 62aa3b2bfa Updating pom.xml version numbers for release 4.10.0-SNAPSHOT
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-07-29 10:11:34 -04:00
Will Stevens 227ff3884d Updating pom.xml version numbers for release 4.9.0
Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-07-25 16:56:04 -04: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
Will Stevens 8a3fd10615 Merge pull request #1124 from rafaelweingartner/CID-1338387
CID-1338387: Deletion of method endPointSelector.selectHypervisorHostFollowing the discussions and analysis presented on PR #1056 create by @DaanHoogland
This PR is intended to push those changes that were discussed there regarding the of endPointSelector.selectHypervisorHost method.

* pr/1124:
  Deletion of method endPointSelector.selectHypervisorHost

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-05-10 23:47:50 -04:00
Rohit Yadav bb29b1d063 maven: Upgrade dependency versions
Updated most dependencies to latest minor releases, EXCEPT:

- Gson 2.x
- Major spring framework version
- Servlet version
- Embedded jetty version
- Mockito version (beta)
- Mysql lib minor version upgrade (breaks mysql-ha plugin)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-04-22 16:20:16 +05:30
Will Stevens f530a4c63a Merge pull request #1200 from koushik-das/CLOUDSTACK-9130
CLOUDSTACK-9130: Make RebootCommand similar to start/stop/migrate agent commands w.r.t. "execute in sequence" flag

RebootCommand now behaves in the same way as start/stop/migrate agent commands w.r.t. to sequential/parallel execution.

* pr/1200:
  CLOUDSTACK-9130: Make RebootCommand similar to start/stop/migrate agent commands w.r.t. "execute in sequence" flag RebootCommand now behaves in the same way as start/stop/migrate agent commands w.r.t. to sequential/parallel execution.

Signed-off-by: Will Stevens <williamstevens@gmail.com>
2016-04-21 16:35:27 -04: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
Rohit Yadav a59cf68f50 Merge pull request #969 from rafaelweingartner/master-lrg-cs-hackday-002
Fixed return type Void to void in  DataMotionStrategy.The main changes are:
-	Changing methods Void to void.
-	Removal of the method Void copyAsync(DataObject srcData, DataObject
destData, AsyncCompletionCallback<CopyCommandResult> callback) that was
never used.
We noticed that methods form that class are using the return type Void
with capital V. This way that method has to return a null value at the
end.

Removed trim lines from XenServerStorageMotionStrategy.

The trim lines were removed from XenServerStorageMotionStrategy.

* pr/969:
  Changed return of methods from DataMotionStrategy, Void to void

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-01-27 16:08:07 +01:00
Remi Bergsma 43ab98d823 Updating pom.xml version numbers for release 4.9.0-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-26 15:12:20 +01:00
Remi Bergsma 32fcc47117 Updating pom.xml version numbers for release 4.8.1-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-26 09:39:00 +01:00
Remi Bergsma 62f218b7bd Updating pom.xml version numbers for release 4.8.0
Signed-off-by: Remi Bergsma <github@remi.nl>
2016-01-20 23:43:35 +01:00
Remi Bergsma 8f5a2920e8 Updating pom.xml version numbers for release 4.8.0-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-12-21 22:09:31 +01:00
Koushik Das 5b3ffeb6cd CLOUDSTACK-9130: Make RebootCommand similar to start/stop/migrate agent commands w.r.t. "execute in sequence" flag
RebootCommand now behaves in the same way as start/stop/migrate agent commands w.r.t. to sequential/parallel execution.
2015-12-09 15:19:10 +05:30
weingartner 4a9487e581 Changed return of methods from DataMotionStrategy, Void to void
The main changes are:
•	Changing methods “Void” to “void”.
•	Removal of the method “Void copyAsync(DataObject srcData, DataObject
destData, AsyncCompletionCallback callback)” that was never used. We
noticed that methods form that class are using the return type Void with
capital V. This way that method has to return a null value at the end.
2015-11-28 12:09:54 -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
Remi Bergsma 1f53f2a93e Updating pom.xml version numbers for release 4.7.0-SNAPSHOT
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-15 18:54:13 +01:00
Wei Zhou 92344c006d CLOUDSTACK-5863: revert volume snapshot for KVM/QCOW2 2015-08-24 11:01:50 +02:00
Mike Tutkowski 8b0266d12e Merge branch 'pr/547'
* pr/547:
  CLOUDSTACK-8601. VMFS storage added as local storage can be re-added as shared storage. Fail addition of a VMFS shared storage pool in case it has already been added as local storage in CS.

Signed-off-by: Mike Tutkowski <mike.tutkowski@solidfire.com>
2015-08-10 19:00:53 -06:00
Jayapal 140cd7c227 CLOUDSTACK-8324: Fixed config key in multiple places 2015-07-10 09:47:09 +05:30
Likitha Shetty 13a98dd196 CLOUDSTACK-8601. VMFS storage added as local storage can be re-added as shared storage.
Fail addition of a VMFS shared storage pool in case it has already been added as local storage in CS.
2015-07-01 10:47:36 +05:30
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
Daan Hoogland b586439c9f CLOUDSTACK-8197 create MinVRVersion config item 2015-02-03 13:18:15 +01:00
Mike Tutkowski 1b51bbbf74 Update hypervisor snapshot reserve for the root volume earlier than when it is currently being set 2015-01-29 13:01:51 -07:00
Mike Tutkowski 0f84e042b9 Adding support for creating a volume from a snapshot when the snapshot is on managed storage 2015-01-20 15:24:33 -07:00
Rajani Karuturi ad6b7b30cb Volume upload: sending the nfsstore url in the metadata
decoding the metadata and deserialising it on receiving it
2015-01-19 18:04:14 +05:30
Kishan Kavala f767adfe71 Bug-Id: CLOUDSTACK-3439: Include dynamically created nics in Prepare for migration command in KVM 2015-01-07 14:52:42 +05:30
Rajani Karuturi 9bb6cf8452 volume upload: persisting the volume metadata
on calling GetUploadParamsForVolume, persisting the metadata to db
    validating the account limits and incrementing the appropriate limits
    encoded the metadata on management server using preshared key
2014-12-18 17:50:51 +05:30
Sanjay Tripathi 9153b8bede CLOUDSTACK-8066: There is not way to know the size of the snapshot created. 2014-12-17 16:00:19 +05:30
Rohit Yadav fac7bfc5d5 CLOUDSTACK-8011: Upgrade maven dependencies
Changes;
- Upgrades maven-war plugin to 4.5 (faster war packaging)
- Upgrade spring framework to latest minor release
- Upgrade ehcache, jasypt, httpclient, httpcore and other core dependencies
- Upgrade to latest ipv6 library, fix unit test NetUtilsTest
- httpcore and httpclient are sharing same version variable
- commons-httpclient is different that httpclient, the fix gives it a separate var
- Apidocs failed to generate and get stuck with new reflections version, for now
  we will continue using 0.9.8

Newer dependencies can be listed using:
mvn versions:display-dependency-updates -Dnoredist -Dsimulator -P developer,systemvm

Testing;
- Tested using Maven 3.2.1
- Local noredist build with unit tests succeeds
- CloudStack mgmt server started, basic business layer tests work
- Observed 10-15% build time improvement using new maven-war plugin

Branch: bugfix/4.5-8011 (commits are squashed in favour of a linear history)

Pull request:
https://github.com/apache/cloudstack/pull/50

This closes #50

TravisCI build summary:
https://travis-ci.org/shapeblue/cloudstack/builds/42902172

- Build passes with unit tests
- Apidocs generates successfully
- Most integration tests pass, some fail due to timeout errors, second re-run
  passes some of them

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-12-04 02:12:51 +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 67113ff0b2 CLOUDSTACK-7946:
remove leftover state in volume and snapshot table in case of mgt server
shutdown during storage operation.
Reviewed-by: Min
2014-11-19 16:06:37 -08:00
Mike Tutkowski 2042660a68 Added a "long getUsedIops(StoragePool)" method to the PrimaryDataStoreDriver interface 2014-11-12 13:38:58 -07:00
Damodar 781648fb10 CLOUDSTACK-7792: Usage Events to be captured based on Volume State Machine 2014-11-10 15:19:02 +05:30
Hugo Trippaers 4ebaf0a583 Bump master version to 4.6.0-SNAPSHOT after branching 4.5.0-SNAPSHOT 2014-10-29 14:54:23 +01:00
Mike Tutkowski 57dacf99a2 Changed "boolean connectVolumeToHost(VolumeInfo, Host, DataStore)" to "boolean grantAccess(DataObject, Host, DataStore)"
Changed "void disconnectVolumeFromHost(VolumeInfo, Host, DataStore)" to "void revokeAccess(DataObject, Host, DataStore)"
2014-10-21 16:01:14 -06:00
Mike Tutkowski 0cea0346ae Support for back-end snapshots on primary storage 2014-10-21 16:01:14 -06:00
Mike Tutkowski 06f6b00cd1 Snapshot support 2014-10-21 16:01:13 -06:00
Mike Tutkowski 35a8b70799 Adding a snapshot strategy for systems that want to take snapshots that reside on their own system (as opposed to the default approach of taking a hypervisor snapshot and then copying it to secondary storage) 2014-10-14 12:26:40 -06:00
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
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
Mike Tutkowski 1d2f3300ad Adding support for SolidFire snapshots 2014-09-03 20:09:00 -06:00
Hugo Trippaers dc3f0cbc63 Improve the handling of the findbug exclude files 2014-09-03 10:41:22 +02:00
Mike Tutkowski b080eaf327 Updates to the way resizing a volume works 2014-07-17 21:09:19 -06:00
Hugo Trippaers cd0ef09344 Fix typo and add the right exception to the error map. 2014-06-25 15:51:28 +02:00
Mike Tutkowski c344693e48 Inform the applicable storage plug-in's life cycle that capacity (bytes and/or IOPS) can be updated 2014-06-24 14:39:57 -06: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 245b7f4c39 CLOUDSTACK-6510: Fix gson serialization exception in storage migration. Gson couldn't serialize
a map with volume and storagepool objects for logging. Fixed by using volume and storage pool
ids instead of objects in the map.
2014-05-08 12:23:46 +05:30
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
Mike Tutkowski 1577e75a3d CLOUDSTACK-6170 (VMware root-disk support for managed storage) 2014-03-31 00:13:30 -06:00
Daan Hoogland 8b62b2cb92 findbugs: exclude known spiffy hacks a.k.a. false positives 2014-03-28 14:28:10 +01:00
Mike Tutkowski 7629d6f129 CLOUDSTACK-6170 2014-03-20 23:54:53 -06:00
Min Chen a1831bc864 Revert "CLOUDSTACK-6170" due to unit test failure.
This reverts commit 50b5e2e247.
2014-03-20 16:40:45 -07:00
Mike Tutkowski 50b5e2e247 CLOUDSTACK-6170 2014-03-20 16:52:52 -06: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
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
Mike Tutkowski d55c4dd804 CLOUDSTACK-6170 2014-03-14 23:47:20 -06:00
Hugo Trippaers 4402685e11 Update master to 4.5.0-SNAPSHOT 2014-03-14 14:55:26 +01: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 1b83698dac deployVm/startVm APIs: ability to define deploymentPlanner for VmToStart in the api call (available to ROOT admin only) 2014-03-13 10:23:34 -07:00
Mike Tutkowski c427e8db1c CLOUDSTACK-6170 2014-03-07 15:38:50 -07:00
Mike Tutkowski b06e66c50a CLOUDSTACK-6170 2014-03-05 13:55:12 -07:00
Alena Prokharchyk 5a8d165afa CLOUDSTACK-6198: use List DS for storing NicProfiles as public network can have more than one nic
Conflicts:
	engine/api/src/com/cloud/vm/VirtualMachineManager.java
	engine/api/src/org/apache/cloudstack/engine/orchestration/service/NetworkOrchestrationService.java
	engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
	engine/orchestration/src/org/apache/cloudstack/engine/orchestration/CloudOrchestrator.java
	engine/orchestration/src/org/apache/cloudstack/engine/orchestration/NetworkOrchestrator.java
	plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
	plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/network/lb/InternalLoadBalancerVMManagerImpl.java
	plugins/network-elements/juniper-contrail/src/org/apache/cloudstack/network/contrail/management/ServiceManagerImpl.java
	server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	services/secondary-storage/controller/src/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
2014-03-04 15:37:52 -08:00
Kelven Yang fa7d9ad1a8 VirtualMachineManager.migrateAway() need to put under management of new sync model 2014-02-28 15:35:58 -08:00
wrodrigues f414018a60 adding fix and unit tests for cloud-engine-api scariest
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-02-14 18:37:44 +01:00
Min Chen bac2c1e5b4 CLOUDSTACK-6049: Give priority to cache stores where data object is
already there instead of randomly picking one in case there are multiple
cache stores in the scope.
2014-02-06 17:19:24 -08:00
Murali Reddy af657b3d71 CLOUDSTACK-5861: networks that failed to implement can not be destroyed
introduces a force option in delete network to forcifully delete a
network. This comes handy in rare cases where network fails to implenet
and network is in shutdown state, but network shutdown to rollback
implement process fails as well.

Conflicts:
	api/src/org/apache/cloudstack/api/command/user/network/DeleteNetworkCmd.java
	server/src/com/cloud/user/DomainManagerImpl.java
2014-01-13 23:28:35 +05:30
Mike Tutkowski 7ef78aac40 Merge from 4.3: CLOUDSTACK-5662: XenServer can't discover iSCSI targets with different credentials 2014-01-09 22:37:39 -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
Kelven Yang 1e2e1ea051 CLOUDSTACK-5765: cleanup internal serialization and exception propagation issues 2014-01-09 14:29:13 -08:00
Mike Tutkowski 03118c2969 Merge from 4.3: CLOUDSTACK-4810: Enable hypervisor snapshots for CloudStack-managed storage (for XenServer and VMware) 2014-01-09 14:44:35 -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
Alena Prokharchyk 647ea6e2d0 listNics API: added optional networkId parameter allowing to list nics by network id for the specific vm 2014-01-06 17:09:14 -08:00
Bharat Kumar 17023c0d60 CLOUDSTACK-5750 Make default value of execute.in.sequence.hypervisor.commands false.
Conflicts:
	engine/api/src/com/cloud/vm/VirtualMachineManager.java
2014-01-06 18:43:23 +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
Nitin Mehta edc1b78d84 Revert "Revert "CLOUDSTACK-5281:""
This reverts commit ab37009e90.
2013-12-20 17:30:05 -08:00
Alex Huang ab37009e90 Revert "CLOUDSTACK-5281:"
This reverts commit 6b62a04eaf.
2013-12-20 17:23:33 -08:00
Nitin Mehta 6b62a04eaf CLOUDSTACK-5281:
Resource limit shouldnt be counted for resources with display flag = 0. Correcting this for the networks at the moment.
2013-12-20 16:58:43 -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
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
Nitin Mehta 1c0b8db01b CLOUDSTACK-4941:
Adding the missing file
During HA and maintenance call different planners (if the original planners are not able to find capacity) which skip some heurestics
2013-12-18 16:27:20 -08:00
Min Chen afcf967d24 Revert "CLOUDSTACK-4941:"
This reverts commit 231e7c01f2.
2013-12-18 16:01:37 -08:00
Nitin Mehta 231e7c01f2 CLOUDSTACK-4941:
During HA and maintenance call different planners (if the original planners are not able to find capacity) which skip some heurestics
2013-12-18 14:58:37 -08:00
Kelven Yang 719271b1d9 Fix tab and trailing spaces 2013-12-16 15:15:30 -08:00
Kelven Yang 9d3827e6fe CLOUDSTACK-669: refactor VM work job dispatcher to allow volume/snapshot manager to participate serialized job handling 2013-12-16 15:15:30 -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
Alex Ough 88f64b2b93 Changed 'MigrateCommand' to use the global setting value of 'execute.in.sequence.hypervisor.commands'
Signed-off-by: Koushik Das <koushik@apache.org>
2013-12-06 09:41:50 +05:30
Bharat Kumar 68406ba29d CLOUDSTACK-5161 enable scaling of a vm using custom offering
Signed-off-by: Koushik Das <koushik@apache.org>
2013-11-29 17:53:33 +05:30
Alex Huang 433a631916 Reformat of source code to set a stable base for the future. I couldn't get checkstyle enabled. There's still about a thousand errors from checkstyle. Most of it from length errors from comments and strings. Will attempt to remove those tonight. This change is so large I just want to get it in before any merge nightmares. The changes are fairly minor though and I did a full compile and start a server with the reformat code. 2013-11-21 07:56:47 -08:00
Hugo Trippaers cf715ff491 Bump 4.3.0 to 4.4.0 in master 2013-11-21 16:01:15 +01:00
Alex Huang d620df2bdd Reformatted all of the code. 2013-11-21 06:15:26 -08:00
Alex Huang 224f479974 Removed trailing spaces 2013-11-21 04:08:01 -08:00
Kelven Yang 278ef81a83 side-by-side VM sync management at manager level 2013-11-20 17:59:38 -08:00
Wido den Hollander 1edaa36cc6 CLOUDSTACK-1302: Allow a cache mode per disk offering
Per disk offering the setting none, writeback or writethrough can be set

This allows for both safety and performance for writes.
2013-11-20 17:11:10 +01:00
Alex Huang 8d62744681 Reformat all source code. Added checkstyle to check the source code 2013-11-20 07:26:53 -08:00
Alex Huang 465626f6d1 Fixed issues with execute in sequence 2013-11-19 17:20:58 -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
Rajesh Battala 19e9849d86 Enabled the traffic lable support the hyperv hypervisor type. Modified the physical_network_traffic_types table to introduce hyperv_network lable column.
Modified associated VO's and impls classes. Modified the List/Update/Add TrafficType command api's and response classes.
Fixed the Unit tests
2013-11-08 20:21:18 +05:30
Edison Su c233492bfc Add quiencevm option on createsnapshotcmd 2013-11-07 14:57:05 -08:00
Laszlo Hornyak 465dee0159 Removing coded documentation
This is the output of the program, the developer documentation may be a better place

-----

When developing against the CloudStack Orchestration Platform, you must following the following rules:
API Rule: Always be prepared to handle RuntimeExceptions.

When writing APIs, you must follow these rules:
API Rule: You may think you're the greatest developer in the world but every change to the API must be reviewed and approved.
API Rule: Every API must have unit tests written against it.  And not it's unit tests
API Rule:

-----

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2013-11-07 21:18:52 +01:00
Laszlo Hornyak 336eb48f9b fixed Rules
it was no longer working, it must be fixed for those who want to read it.

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2013-11-07 21:18:52 +01:00
Bharat Kumar 7095ea2b5e CLOUDSTACK-4738 Dynamic compute offering.
Signed-off-by: Koushik Das <koushik@apache.org>
2013-11-07 12:41:20 +05:30
Kelven Yang 191dc80fa4 VM power state for job oritented sync processing 2013-11-05 19:00:37 -08:00
Prachi Damle 4be7947281 CLOUDSTACK-4948: DeploymentPlanner: Logic to check if cluster can be avoided, needs to consider if VM is using local storage and/or shared storage
Changes:
- Consider if VM requires the local storage or shared storage or both for its disks.
- Accordingly all pools in the cluster should consider local or shared or both pools

Conflicts:

	server/src/com/cloud/agent/manager/allocator/HostAllocator.java
2013-11-04 16:45:02 -08:00
Edison Su 7c99b88926 Don't use cast to PrimarydataStoreTO on the resource code 2013-11-01 15:13:16 -07:00
Edison Su c5bec6b336 add quiescevm in createvmsnapshotcmd 2013-10-31 16:45:05 -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
Edison Su 70b2c0150d rebase to spring changes 2013-10-25 18:15:36 -07:00
Edison Su 51a8086cf6 Merge branch 'pluggable_vm_snapshot'
Conflicts:
	client/tomcatconf/applicationContext.xml.in
	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/SnapshotTest.java
	engine/storage/integration-test/test/resources/storageContext.xml
	server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java
	server/src/com/cloud/vm/snapshot/VMSnapshotManagerImpl.java
2013-10-25 16:47:17 -07:00
Edison Su a6ce66e55a move a lot of code into vmsnapshot strategy
fix compile

fix compile

add vm_snapshot_details table in db

add vmsnapshot test cases
2013-10-25 15:09:04 -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 81d01369d7 Merge commit 'df728fcf41ba0dfddabfaadea8cbcb77d18bfa96'
Conflicts:
	engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
2013-10-23 12:31:53 -07:00
Chris Suich 0ed7ebd7e7 Squashed & merged commit of the following:
commit c9ee0d12e191e803fb341f3f96e95ca434a36f6c
Author: Wei Zhou <w.zhou@leaseweb.com>
Date:   Wed Oct 23 16:55:10 2013 +0200

    CLOUDSTACK-4931, CLOUDSTACK-4937: setDetails to user VMs only
    (cherry picked from commit a94acc5a43)

commit fe1586c71377bc6d219db2dcf088c40b65dd1fc4
Author: Anthony Xu <anthony.xu@citrix.com>
Date:   Tue Oct 22 11:20:27 2013 -0700

    CLOUDSTACK-4649:
            vm sync tracks the pv driver version for xenserver

     Anthony

commit 56a218f66eda540b4b4b04030ee71fc6863f8532
Author: Anthony Xu <anthony.xu@citrix.com>
Date:   Mon Oct 21 16:10:07 2013 -0700

    CLOUDSTACK-4649:
        xs 6.1/6.2 introduce the new virtual platform, so there are two virtual platforms, windows PV driver version must match virtual platforms,
    this patch tracks PV driver versions in vm details and template details.

    Anthony

commit 4e85d28c678a6f96b5b70d8d33fc60f9d1ea3df6
Author: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Date:   Mon Oct 21 21:17:33 2013 +0200

    removed unused static field

    - s_httpClientManager was not used

    Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>

commit d4121fa26023db236f7396cea455ef090672ae9a
Author: Chris Suich <chris.suich@netapp.com>
Date:   Tue Oct 22 10:45:22 2013 -0400

    Updated DataMotionServiceImpl and ApiResponseHelper based on review feedback.

commit aaf026e1e4204d405bcda2ae4f1a01b1d0f7e7cb
Author: Chris Suich <chris.suich@netapp.com>
Date:   Thu Oct 17 14:27:12 2013 -0400

    Added context to strategy sorting error responses
    Added TODOs for DRYing out pickStrategy() overloading

commit a221f4aa3fb2ddc255bc35cf753f98f88f5bf44e
Author: Chris Suich <chris.suich@netapp.com>
Date:   Wed Oct 16 09:57:28 2013 -0400

    Updated inefficient strategy sorting/selection
    Removed unnecessary canRevertSnapshot from PrimaryDataStoreDriver
    Other general cleaup and fixes from reviews

commit 7d58949c6a1b7e853e891b59387a9620e8cd7a91
Author: Chris Suich <chris.suich@netapp.com>
Date:   Mon Oct 14 14:01:22 2013 -0400

    Added volume snapshot revert capability to SnapshotResponse
    Updated UI to hide/show snapshot revert action per snapshot

Signed-off-by: Edison Su <sudison@gmail.com>
2013-10-23 12:21:43 -07:00
Laszlo Hornyak b4e972da03 Integer instantation removed
Two Integer object was created for each comparison, just in order to compare the two values.
This is replaced with Integer.compare()

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2013-10-23 20:50:00 +02: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
Prasanna Santhanam 76dbb64cf9 License header was missed in StrategyPriority and Test
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-10-15 10:59:28 +05:30
Chris Suich aad1cda7e0 Added categorized sorting to SnapshotStrategy and DataMotionStrategy 2013-10-14 15:20:42 -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
Alex Huang 435e74e914 Commit to try something on removing getZone 2013-09-06 15:40:33 -07:00
Alex Huang 2e5bb63f77 Moved NetworkManagerImpl to NetworkOrchestrator 2013-09-06 15:40:32 -07:00
Alex Huang 8e5249df62 Moved NetworkManager to NetworkOrchestrationService 2013-09-06 15:40:31 -07:00
Kelven Yang bae2666549 CLOUDSTACK-3237: add disk chain sync logic to handle out-of-band chain changes that could happen in storage live migration and VM snapshot operations 2013-09-04 14:49:46 -07:00
Min Chen e92d46bfd4 CLOUDSTACK-4600:Registered Cross-zone template does not populate
template_zone_ref for later added zones.
2013-09-03 16:39:23 -07:00
Alex Huang f23f1530e7 Removed missing class from application context 2013-08-19 14:13:31 -07:00
Alex Huang 564502abd7 Moved the virtualmachine implementation into engine/orchestration 2013-08-19 14:13:28 -07:00
Alex Huang 4ba359c3fe Moved VirtualMachineManager into engine 2013-08-19 14:13:28 -07:00
Edison Su c58f15d867 CLOUDSTACK-4222: use new volume object in case of migrate volume 2013-08-13 15:16:45 -07:00
Alex Huang 3df5571d2e Resolved merge conflicts 2013-08-12 20:15:24 -07:00
Alex Huang de2bd96d98 Moved volume related code into cloud-engine-orchestration 2013-08-12 19:06:51 -07:00
Alex Huang 8930cfa983 Switched over to use the new jobs framework 2013-08-02 11:07:55 -07:00
Chip Childers 8225374138 Updating pom.xml version numbers for release 4.3.0-SNAPSHOT
Signed-off-by: Chip Childers <chipchilders@apache.org>
2013-08-01 10:35:00 -04: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
Alex Huang a4cea4ebf2 Removed schema from the dependency of many components 2013-07-29 10:55:19 -07:00
Alex Huang f5e5b39c9b Moved the DB layer code into framework-db and change only the necessary projects to refer to it. Cut down on the dependencies introduced with all the code in utils. 2013-07-26 15:02:10 -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
Koushik Das deb701b7e0 CLOUDSTACK-3493: [storage ref] Attach volume to VM is failing in case of Primary-Localstorage .
Some existing scenarios for root and data volume combination was not working. These are
a. Local root + Shared data
b. Shared root + Local data

Enabled these scenarios as part of this fix
2013-07-25 17:10:20 +05:30
Edison Su 7f200d966e CLOUDSTACK-3681: fix bunch of bugs related to vmware, regarding to snapshot 2013-07-24 19:06:30 -07:00
Edison Su fa358cf01f CLOUDSTACK-2630: fix delta snashpt 2013-07-24 09:48:41 -07:00
Edison Su be3883b678 fix create template from snapshot if it's swift 2013-07-24 09:48:07 -07:00
Min Chen 956e8301c2 CLOUDSTACK-3716: State of expunged volumes are not consistent in volumes
table and volume_store_ref.

Conflicts:
	server/src/com/cloud/storage/VolumeManagerImpl.java
2013-07-23 15:06:34 -07:00
Alena Prokharchyk 57623832b0 CLOUDSTACK-3478: fixed volume destroy. #1 - don't call destroy() when the volume is in Expunged/Expunging/Destroy state. #2 - added state transition for Expunged state 2013-07-23 14:40:59 -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
Mike Tutkowski b43a2a5fae Changes related to Review Board comments 2013-07-18 20:10:58 -06: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
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
Alena Prokharchyk dd91974920 CLOUDSTACK-2843: added CopyCommand to the list of the commands controlled by execute.in.sequence.hypervisor.commands global config. This command was introduced by the Storage refactoring, and used for volume creation on the primary storage 2013-07-11 17:44:12 -07:00
Rajesh Battala 2bc4cbf9fb CLOUDSTACK-2571 Zone Wide Primary Storage blocker issues while Enabling in Maintenance State
Signed-off-by: Edison Su <sudison@gmail.com>
2013-07-02 11:49:16 -07:00
Mike Tutkowski 99227f7b3e SolidFire plug-in and related changes
SolidFire plug-in

SolidFire plug-in related
2013-06-28 16:59:21 -06:00
Edison Su 9aec9c605c merge to master 2013-06-19 18:16:47 -07:00
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 18aeef3ef1 Merge branch 'master' (up to commit
c30d9be3ce) into object_store.
2013-06-12 11:20:32 -07:00
Min Chen cc0de88088 Remove old DeleteTemplateCommand, DeleteVolumeCommand,
DeleteSnapshotBackupCommand, replaced by DeleteCommand.
2013-06-10 17:55:30 -07:00
Min Chen 66e702222d Simplify various DeleteTemplateCommnad, DeleteVolumeCommand and
DeleteSnapshotBackupCommand to use one DeleteCommand, also provide
BaseImageStoreDriverImpl class for plugin to inherit to avoid code
duplication.
2013-06-06 18:00:38 -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
Sateesh Chodapuneedi e7d468e221 CLOUDSTACK-2029 zone wide primary storage support for cloudstack over vmware deployments
DB changes to support hypervisor specific zone wide storage pool.
Added method findZoneWideStoragePoolsByHypervisor to PrimaryStorageDaoImpl to find suitable zone wide storage pool of specific hypervisor type.
Added column 'hypervisor' to table storage_pool. This column can be NULL. Used/populated only for zone wide primary storage pools.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-06-01 00:05:27 +05:30
Min Chen eb93efdaa4 Add convenient delete methods in DataObject to delete dangling data
object.
2013-05-30 14:51:03 -07:00
Min Chen 614e08e19f Fix ExtractVolume bug for S3 as secondary storage. 2013-05-30 14:19:59 -07:00
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
Min Chen 98af424053 Merge branch 'master' into object_store. 2013-05-23 18:00:15 -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 4611b515db Not passing format to VolumeDataStore due to removal of format column
from volume_store_ref.
2013-05-23 11:02:49 -07:00
Edison Su 5af888c67a add image format in volumevo 2013-05-22 13:38:11 -07:00
Edison Su 383be568b3 CLOUDSTACK-2527: enable attach/detach xs tool iso 2013-05-21 19:13:29 -07:00
Edison Su 827a1a229b CLOUDSTACK-2584: fix create template from s3 2013-05-21 16:55:41 -07:00
Min Chen 8f549db518 Clean up entries in template_store_ref, volume_store_ref and
snapshot_store_ref in case of operation failure.
2013-05-21 12:00:04 -07:00
Dave Brosius 49faa002e2 code compares Long values with == which will work for Long cached values
Fixed by switch to use .equals

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-21 11:45:10 +05:30
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
Min Chen b66c484905 Fix size issue in copying template from S3 to cache storage to make
system vm up.
2013-05-15 18:54:55 -07:00
Min Chen 7ffb6d8464 Fix DettachAnswer to have default result state for CLOUDSTACK-2526. 2013-05-15 16:52:28 -07:00
Min Chen 8de401caad Fix CLOUDSTACK-2520: Invoke parent constructor to set result state to
default true to avoid attachVolume error.
2013-05-15 14:08:09 -07:00
Min Chen 252f384e89 Fix CLOUDSTACK-2485: ClassCastException in extracting ISO. 2013-05-14 14:57:02 -07:00
Edison Su 0ce01e56db set template size when creating template from snapshot 2013-05-13 16:45:03 -07:00
Min Chen 1bd216fc48 Merge with latest code rebased from master 2013-05-11 21:05:54 -07:00
Nitin Mehta c11dbad9c9 merge master 2013-05-11 15:28:43 +05:30
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 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 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
Edison Su 5aeca646ae make create template from volume/snapshot work 2013-05-07 20:18:19 -07:00
Edison Su 9f7bad2cef fix creating snapshot 2013-05-06 18:27:15 -07:00
Edison Su 2d544e7127 volume related operation works 2013-05-06 18:27:15 -07:00
Alex Huang 3722d66aae Fixed up unit testing to use only an in class TestConfiguration 2013-05-06 16:34:27 -07:00
Min Chen 0d78209b73 Address various UI requirements by introducing provider constants. 2013-05-06 15:12:33 -07:00
Min Chen df7a56d63f Removed redundant getInstallPath to use getPath in VolumeInfo. 2013-05-03 10:01:23 -07:00
Edison Su 0c6e87c701 download template to primary storage works now 2013-05-03 09:45:31 -07:00
Min Chen c60c373a38 Modify DownloadCommand to pass DataTO. 2013-05-02 23:05:19 -07:00
Edison Su 2384276536 make template download testable 2013-05-02 00:38:11 -07:00
Min Chen 2812873ffa Remove methods of searching for secondary storages from host table from
SecondaryStorageManagerImpl.
2013-05-01 17:35:51 -07:00
Edison Su 52799f46a4 fix data motion 2013-05-01 14:00:53 -07:00
Min Chen 3c6b7c2a01 Populate system vm template to template_store_ref in adding an image
store.
2013-05-01 12:10:24 -07:00
Min Chen 36c1538f06 Bugfix to make deployDataCenter.py work. 2013-04-30 17:42:48 -07:00
Edison Su 2f689171e0 refactor snapshot 2013-04-29 18:51:14 -07:00
Edison Su 37cbe8890f refactor snapshot 2013-04-29 18:51:13 -07:00
Edison Su 4029e7af44 refactor data motion service for volumes 2013-04-24 18:53:57 -07:00
Min Chen 0cfef3aa4e Remove almost all VMTemplateHostDao references except S3Manager and
SwiftManager.
2013-04-23 17:51:54 -07:00
Min Chen 7ec0882dca Remove VMTemplateHostDao reference from BareMetalTemplateAdapter, also
make store_id in template_store_ref table nullable to accommodate
baremetal case.
2013-04-23 16:07:44 -07:00
Min Chen 06b3092083 Remove VMTemplateHostDao reference from VolumeManagerImpl,
StorageManagerImpl and SecondaryStorageManagerImpl.
2013-04-23 12:10:40 -07:00
Min Chen e40a06deae Fix extractTemplateCmd. 2013-04-22 21:48:57 -07:00
Edison Su b8c5c67fbc add copycommand at resouce side 2013-04-22 19:12:50 -07:00
Min Chen 29687663e8 Rename SnapshotStrategy to SnapshotService to have consistent naming
convention for Template, Snapshot, Volume. Also rename CopyCmd to
CopyCommand to follow internal command naming convention.
2013-04-22 16:15:57 -07:00
Min Chen 9c584b5500 Use EndPoint to send local/remote command, and hide agentMgr message
passing.
2013-04-22 13:21:28 -07:00
Min Chen ffdf567b58 Add implemention to pick EndPoint for secondary storage 2013-04-22 13:19:04 -07:00
Edison Su abf40435f3 refactor downloadlistener, sync system vm templates when adding a new image store 2013-04-21 22:46:02 -07:00
Min Chen 0229c75b50 Use data motion service for PrepareTemplateCmd to move template from
secondary storage to primary.
2013-04-20 20:44:31 -07:00
Min Chen 86913ab4d3 Use data motion service to implement copy template. 2013-04-19 23:01:59 -07:00
Min Chen 6f70fe28e8 Trigger system vm template download while adding image store. Just a
code skeleton, waiting for some code in EndPoint.
2013-04-19 19:37:06 -07:00
Devdeep Singh 21ce3befc8 Storage motion for Xenserver changes: 1. Implemented Api findStoragePoolsForMigration. Added a new response objects to list storage pools available for migration. 2. Updated migrateVolume api for allowing migrating volumes of running vms. These changes are integrated into the latest storage refactoring changes. 3. Added the implementation for findHostsForMigration api. It lists the hosts to which an instance can be migrated, including hosts from within and across clusters to which an instance may be migrated with storage motion. The work of migrating a volume of a running vm is also done in copyAsync. 4. Updated the listHosts api for backward compatibility. 5. Added the implementation for migrateVirtualMachineWithVolume api. It migrates an instance with its volumes within a cluster and also across clusters. Also introduced a new XenServerStorageMotionStrategy for migrating volumes of a vm. When a vm is being migrated with its volumes, the vm is put in migrating state and a request is send to the volume manager to migrate the vm and its volumes. Volume manager calls into the volume service which forwards the request to data motion service after moving all the volumes to migrating state. Data motion service enumerates the strategies and the request reaches the XenServerStorageMotionStrategy. It calls in to the resource to complete the operation. 6. Resolved an issue where storage xenmotion of 2nd VM created from the same template to a host was failing with duplicate_vm exception. Made changes to remove the mac_seed key value pair from other_config when vms are created. This is was storage motion to fail. 7. Updated the db upgrade schema script. 8. Added the right permissions in commands.properties 9. Marvin tests for testing storage motion. Following scenarios are tested. 9.1. A virtual machine is migrated to another host. Its volumes are also migrated to another storage pool. 9.2. Just the volumes of a vm are migrated to another storage pool while the vm continues to run on the same host. 10. Unit tests for testing migration of a vm with its volumes.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-04-19 11:36:42 +05:30
Harikrishna Patnala eae22d2ffa CLOUDSTACK-741: Granular Global Parameters
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-04-19 10:36:52 +05:30
Edison Su ef30ee52ee add copy stuff from s3 into nfs cache storage 2013-04-18 13:44:49 -07:00
Edison Su 1fe5d7c886 need to download image to cache storage from s3/swift on mgt server for default system vm templates 2013-04-18 01:56:34 -07:00
Min Chen fe4f53bfcd Fix SecStorageSetupCommand for Nfs image store. 2013-04-17 17:16:01 -07:00
Min Chen 14b5f0da19 Rename ImageDataFactoryxxx to TemplateDataFactory to have consistent
naming conventions for Template data factory class.
2013-04-17 11:45:25 -07:00
Min Chen fe3b01ece1 Update DataObjectInStore interface and unify implementation of
ImageDataFactory, VolumeDataFactory and SnapshotDataFactory
implementations.
2013-04-17 11:40:57 -07:00
Min Chen 1b3994e180 Fix copyTemplateCmd. 2013-04-16 16:38:14 -07:00
Min Chen 0da2da852b Fix the flow of deleteTemplateCmd. 2013-04-16 12:03:12 -07:00
Pascal Borreli 20614598bf Fixed typos
Signed-off-by: Milamber <milamber@apache.org>
2013-04-13 13:28:32 +00:00
Min Chen 2dd8e2cb97 add getStoreTO into each DataStoreDriver, and add implementation for 3
data store plugins.
2013-04-12 18:22:23 -07:00
Edison Su b81fa6d9ea add copy template to cache store 2013-04-12 16:03:30 -07:00
Min Chen bb64672715 Refactor DownloadMonitorImpl code, move some functionalities to
TemplateServiceImpl and VolumeServiceImpl.
2013-04-11 18:09:42 -07:00
Edison Su 1c448cd6e3 add cache storage 2013-04-11 11:01:29 -07:00
Edison Su e5bf38ed05 add cache storage 2013-04-11 10:52:53 -07:00
Min Chen 02686583cf First draft of register template using image store. 2013-04-10 18:02:53 -07:00
Min Chen 3897590bb1 Add check in addImageStoreCmd to guarantee our assumption of homogeneous
image stores.
2013-04-09 16:36:02 -07:00
Min Chen b2d5535bba Remove State from image_store db table, and removed enableImageStore
api.
2013-04-09 15:38:33 -07:00
Min Chen 2a177de2bc Remove unused DataStoreProviderDao since provider does not has its own
db table.
2013-04-09 14:59:07 -07:00
Min Chen 9be9902ed5 Fix applicationContext.xml to properly load all new refactored image
store related classes, also add enableImageStore api.
2013-04-09 14:49:09 -07:00
Min Chen 74880fa26f add DeleteImageStoreCmd Api. 2013-04-08 16:18:06 -07:00
Min Chen a872d6d306 Renamed internal classes to use "imageStorexxx" instead of previous
"imageDataStorexxx". Add new addImageStoreCmd to use 3 image store
provider plugins.
2013-04-05 17:33:35 -07:00
Min Chen 7699485b4f Create DB view for Image Data Store. 2013-04-05 11:18:33 -07:00
Min Chen 86a3840412 Fix AddSecondaryStorageCmd to use CloudStack default secondary storage
store plugin.
2013-04-05 11:18:33 -07:00
Edison Su f18a1d6f14 fix bunch of bugs related to zone wide storage 2013-04-03 21:51:17 -07:00
Brian Spindler 469c4dd139 Removing ^M's from code.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-04 00:53:20 +05:30
Hugo Trippaers c8fd16c03d Summary: Workaround for CLOUDSTACK-1831 and CLOUDSTACK-1672
Exclude the transient dependency on jaxb-impl 2.1.13 in cxf-bundle-jars.
VmWare code depends on the 2.0 version
2013-03-28 15:00:04 +01:00
Edison Su 3ed6200ef8 move default primary storage plugin into its own pom 2013-03-20 17:21:40 -07:00
Edison Su c60ef79321 CLOUDSTACK-1608: don't support attach volume between different storage scopes 2013-03-19 14:36:37 -07:00
Edison Su 409ec9c6b6 CLOUDSTACK-1426: We has strong implication that VO must implement an interface, otherwise EntityManagerImpl can't the vo 2013-03-07 18:25:57 -08:00
Harikrishna Patnala 254275dc26 CLOUDSTACK-1293: resetpasswordforVm shows "passsd reset to undefined" 2013-02-27 12:35:04 +05:30
Edison Su 8e360f342d CLOUDSTACK-724: add basic zone wide storage support, refactor storage allocator, need ui support 2013-02-26 18:39:23 -08:00
Chip Childers 6cc1123a3e Correcting license headers that broke the build
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2013-02-21 16:29:05 -05:00
Edison Su ff047e75d3 refactor snapshot, move existing snapshot code into its own snapshotstrategy 2013-02-21 11:22:49 -08:00
Edison Su ec09e34f86 fix downloading template 2013-02-21 11:22:48 -08:00
Edison Su a22403edcd squash changes into one giant patch 2013-02-21 11:22:48 -08:00
Rohit Yadav 80d58b6c73 CLOUDSTACK-1317: Bump CloudStack package version to 4.2.0-SNAPSHOT in all poms
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-20 16:42:56 +05:30
Edison Su c921118c58 add image create test case 2013-01-22 13:25:48 -08:00
Prachi Damle 94e8090bf3 Deploy, Start, Stop, Destroy VM orchestration service changes 2013-01-22 12:54:04 -08:00
Edison Su 3251cd665b add test case for create storage pool 2013-01-21 16:59:51 -08:00
Edison Su b4988e86ab add backedn code 2013-01-21 16:59:50 -08:00
Rohit Yadav 593b60ca51 rat: Fix license on newly added files
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-17 21:37:24 -08:00
Edison Su c4a11b9979 rename datastream to dataobject 2013-01-17 18:49:50 -08:00
Alex Huang 9759ad57f2 Commit the current changes to unit tests 2013-01-17 06:50:11 -08:00
Edison Su c93918a896 rename dataobject to datastream 2013-01-15 15:46:21 -08:00
Edison Su 8af85b04d0 refactor api, based on suggestion from community 2013-01-14 18:52:39 -08:00
Rohit Yadav ba20e7f85a Fix license headers for java files in javelin
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-12 06:27:09 -08:00
Alex Huang 14bd345f1f merge compiles 2013-01-09 04:41:27 -08:00
Prachi Damle a4f4c98670 OrchestrationService: some changes for DeployVM 2013-01-08 11:53:54 -08:00
Edison Su 9410cd1f3c add deletevolume and createdata disk 2013-01-03 18:56:18 -08:00
Prachi Damle 8a9cf04008 Fixing the file that was merged incorrectly 2013-01-03 11:44:40 -08:00
Prachi Damle 1bdec94627 Deleting the file that got added during rebase 2013-01-03 11:44:40 -08:00
Prachi Damle 7e61e200a6 Register Host and unit test 2013-01-03 11:44:39 -08:00
Prachi Damle 3ff3a47e36 Provisioning Service: register Pod, Cluster, Deregister Zone/Pod/Cluster and unit tests 2013-01-03 11:44:37 -08:00
Prachi Damle 1eb64e6181 ProvisioningService:: registerZone changes and unit-test 2013-01-03 11:44:36 -08:00
Edison Su 5d1e97e407 add create volume 2013-01-02 17:32:54 -08:00
Alex Huang 56be555733 missing change 2012-12-28 16:49:12 -08:00
Alex Huang c622bee1ed made changes to work with the new injection stuff 2012-12-28 16:44:26 -08:00
Alex Huang e936c32a04 Fixed problems with inject checkin 2012-12-28 16:24:54 -08:00
Alex Huang 54cce5fa18 Getting things to compile 2012-12-28 16:07:56 -08:00
Edison Su 9de3a1fae4 add create volume from base image command 2012-12-27 16:31:59 -08:00
Edison Su d99161399e so many traps in rpc call: you can't use aop in a thread, you need to intercept finalize call etc 2012-12-24 02:37:32 -08:00
Edison Su 0581ea763a add xenserver backend code: download template from http directly 2012-12-18 18:34:13 -08:00
Edison Su aefb657c41 Finally, get async api call works for storage subsystem 2012-12-17 18:12:46 -08:00
Edison Su 716a5673d0 1st try to add async api in the storage component, it's ugly like hell 2012-12-14 18:25:40 -08:00
Edison Su 7652a44be7 add datastore configurator, for each hypervisor and each protocol, needs to have its own configurator 2012-12-07 18:23:08 -08:00
Edison Su ae59bf6c3b add lifecycle on primarydatastore 2012-12-07 18:23:08 -08:00
Alex Huang bdb5be6ee6 testing done 2012-12-07 15:21:21 -08:00