Commit Graph

116 Commits

Author SHA1 Message Date
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
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
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
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
Mike Tutkowski 7d1dc97423 CLOUDSTACK-8985: Deleted volume's removed column not updated 2015-10-27 15:04:15 -06:00
Wei Zhou 92344c006d CLOUDSTACK-5863: revert volume snapshot for KVM/QCOW2 2015-08-24 11:01:50 +02:00
Mike Tutkowski 8fcc76e7ff Fixing a FindBugs issue related to PR 674 2015-08-12 22:57:59 -06:00
Mike Tutkowski bcfbc6d73c getUsedBytes should query the SolidFire cluster to acquire the size of the given volume if there is no volume_details info for that volume (and then create a volume_details row for this volume so we don't have to make that cluster call for this purpose again) 2015-08-12 12:24:17 -06:00
Mike Tutkowski 2c8d179b7a Renamed two variables to make them more descriptive 2015-08-05 22:43:43 -06:00
Mike Tutkowski 2cbc168822 The lowest the hypervisor snapshot reserve value can be is 10 (down from 50). 2015-08-05 15:47:57 -06:00
Daan Hoogland 85e002b230 CLOUDSTACK-8656: filling empty catch block with info messages
using regexp "catch\s*\(\s*(Exception|Throwable)\s*\w*\)\s*\{\s*\}"
2015-07-30 15:51:52 +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
Mike Tutkowski bcd227fb6b Pass on all operations to CloudStackPrimaryDataStoreDriverImpl 2015-05-07 12:24:05 -06:00
Mike Tutkowski 326a175c08 Don't allow managed (primary) storage to be deleted if it contains one or more snapshots. 2015-01-29 16:51:45 -07:00
Mike Tutkowski c2330f48dd Replace synchronized with the use of database locking 2015-01-27 17:36:21 -07:00
Mike Tutkowski f23c5ded0b Provide a more detailed snapshot name on the SAN side 2015-01-25 22:51:16 -07:00
Rohit Yadav 664186f483 CLOUDSTACK-8160: use preferable protocols
(cherry picked from commit debfcdef78)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-21 18:04:45 +05:30
Mike Tutkowski b7ab955610 When deleting primary storage that's based on the SolidFireShared plug-in (which uses a shared-IOPS approach), remove the volume from the volume access group it's in 2014-12-15 17:15:40 -07:00
Mike Tutkowski 2042660a68 Added a "long getUsedIops(StoragePool)" method to the PrimaryDataStoreDriver interface 2014-11-12 13:38:58 -07:00
Mike Tutkowski 7c5bc4ae7e Allow infrastructure to handle delete of volume from DB 2014-11-06 22:54:20 -07:00
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 1b5bb7d8c6 Invoke grantAccess and revokeAccess one time each using a SnapshotInfo (where previously a VolumeInfo was being passed in)
Handle the case where a SnapshotInfo is passed into the grantAccess and revokeAccess methods
2014-10-21 16:01:14 -06: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 b29265f159 Logic around granting and revoking access to the volume that backs the snapshot 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 6beeeff7d4 Logic on SolidFire side for CloudStack snapshots 2014-10-21 16:01:13 -06:00
Mike Tutkowski 06f6b00cd1 Snapshot support 2014-10-21 16:01:13 -06:00
Mike Tutkowski e70dde09c9 Implementing snapshot-strategy support for reverting a volume to a snapshot 2014-10-14 22:04:18 -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
Santhosh Edukulla 350ac4c4b0 Fixed Resource Leaks
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-10-13 17:51:02 +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 ef0adc1238 Removed an un-used import 2014-08-29 00:23:48 -06:00
Mike Tutkowski 08995b68e6 Name the SolidFire Volume Access Group after the UUID of the CloudStack cluster it serves 2014-08-28 23:57:52 -06:00
Mike Tutkowski 3773ff060e Update to volume-resize logic 2014-08-21 20:18:20 -06:00
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
Vania Xu 8bd9e78071 Adding SolidFire API plug-in 2014-07-10 21:22:47 -06:00
Mike Tutkowski 83034907ca Modification to the way SolidFire account info is stored in the DB 2014-07-07 22:16:58 -06: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
Mike Tutkowski 49aa13e8e1 Changed some places where "SolidFire" was written with a small "f" 2014-06-16 12:47:07 -06:00
Mike Tutkowski 42d00cae58 SolidFire (shared-access) Provider 2014-06-16 12:15:29 -06:00
Ding Yuan c031eb7d38 CLOUDSTACK-6242: exception handling improvements
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-04-15 08:07:15 +02:00
Daan Hoogland 8b62b2cb92 findbugs: exclude known spiffy hacks a.k.a. false positives 2014-03-28 14:28:10 +01:00
Hugo Trippaers 4402685e11 Update master to 4.5.0-SNAPSHOT 2014-03-14 14:55:26 +01: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
Mike Tutkowski 68fda5a8dd Merge from 4.3: CLOUDSTACK-4810: Enable hypervisor snapshots for CloudStack-managed storage (for XenServer and VMware) 2014-01-09 23:36:36 -07:00