cloudstack/tools
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
..
apidoc Adds support for four position versions and optional db upgrades 2016-08-30 13:32:32 +05:30
appliance changed the base iso file from debian-7.8.0 to debian-7.9.0 2015-09-15 21:37:44 +05:30
bugs-wiki fixing license headers in marvin 2012-07-04 18:45:08 -04:00
build build_asf.sh: fix debian changelog altering 2015-12-13 20:41:56 +01:00
checkstyle Adds support for four position versions and optional db upgrades 2016-08-30 13:32:32 +05:30
cli tools: Remove cloudmonkey, add info in INSTALL.md 2013-07-28 22:53:12 +05:30
devcloud Adds support for four position versions and optional db upgrades 2016-08-30 13:32:32 +05:30
devcloud-kvm Adds support for four position versions and optional db upgrades 2016-08-30 13:32:32 +05:30
devcloud4 Adds support for four position versions and optional db upgrades 2016-08-30 13:32:32 +05:30
docker squashed commit for dockerfiles part#2 including comments from PR#910 2015-10-28 22:34:31 -04:00
eclipse CLOUDSTACK-8433: remove awsapi db usage and add upgrade cleanup path 2015-05-06 15:22:04 +02:00
git Show actual diff in commits after merge 2015-12-12 11:22:32 +01:00
jira jira-changes.py: generate content for CHANGES.md from jira filter 2014-11-30 21:16:59 -05:00
logo README: happy holidays! 2015-12-23 13:27:40 +05:30
marvin Adds support for four position versions and optional db upgrades 2016-08-30 13:32:32 +05:30
ngui CLOUDSTACK-9048: Fix typo for public network description 2015-11-09 11:18:44 -06:00
transifex Update L10N resource files with 4.8 strings from Transifex (20160504) 2016-05-04 21:47:37 +01:00
travis Merge branch 'fixtravis3' of https://github.com/rsafonseca/cloudstack 2015-07-01 09:12:17 +02:00
utils/database_comparision_during_upgrade database_comparision_during_upgrade: add missing license header 2015-04-27 11:55:41 +02:00
vagrant Add missing license headers from recent branch merge 3c429ee 2015-03-18 11:03:54 +05:30
whisker Adding httpclient ssl source files to legal documentation 2013-08-26 12:36:59 -04:00
wix-cloudstack-maven-plugin Adds support for four position versions and optional db upgrades 2016-08-30 13:32:32 +05:30
pom.xml Adds support for four position versions and optional db upgrades 2016-08-30 13:32:32 +05:30