You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2016/09/01 11:53:32 UTC

[3/5] git commit: updated refs/heads/master to da76553

Merge pull request #1654 from shapeblue/jsb/4.8.2.0-version

Updating pom.xml version numbers for release 4.8.2.0-SNAPSHOTOften, 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: John Burwell <me...@cockamamy.net>

/cc @rhtyd @karuturi

* pr/1654:
  Adds support for four position versions and optional db upgrades

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


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/f4ae87cb
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/f4ae87cb
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/f4ae87cb

Branch: refs/heads/master
Commit: f4ae87cb05b4ec0dfc0e63820b4090a1ba583f85
Parents: 19f159a 8d11511
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Thu Sep 1 15:11:20 2016 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Thu Sep 1 15:11:20 2016 +0530

----------------------------------------------------------------------
 agent/pom.xml                                   |   2 +-
 api/pom.xml                                     |   2 +-
 client/pom.xml                                  |   2 +-
 core/pom.xml                                    |   2 +-
 debian/changelog                                |  10 +-
 developer/pom.xml                               |   2 +-
 engine/api/pom.xml                              |   2 +-
 engine/components-api/pom.xml                   |   2 +-
 engine/network/pom.xml                          |   2 +-
 engine/orchestration/pom.xml                    |   2 +-
 engine/pom.xml                                  |   2 +-
 engine/schema/pom.xml                           |   2 +-
 .../cloud/upgrade/DatabaseUpgradeChecker.java   | 413 ++++++++++++-------
 .../com/cloud/upgrade/dao/Upgrade410to420.java  |   2 +-
 .../upgrade/DatabaseUpgradeCheckerTest.java     | 144 +++++++
 engine/service/pom.xml                          |   2 +-
 engine/storage/cache/pom.xml                    |   2 +-
 engine/storage/datamotion/pom.xml               |   2 +-
 engine/storage/image/pom.xml                    |   2 +-
 engine/storage/integration-test/pom.xml         |   2 +-
 engine/storage/pom.xml                          |   2 +-
 engine/storage/snapshot/pom.xml                 |   2 +-
 engine/storage/volume/pom.xml                   |   2 +-
 framework/cluster/pom.xml                       |   2 +-
 framework/config/pom.xml                        |   2 +-
 framework/db/pom.xml                            |   2 +-
 framework/events/pom.xml                        |   2 +-
 framework/ipc/pom.xml                           |   2 +-
 framework/jobs/pom.xml                          |   2 +-
 framework/managed-context/pom.xml               |   2 +-
 framework/pom.xml                               |   2 +-
 framework/quota/pom.xml                         |   2 +-
 framework/rest/pom.xml                          |   2 +-
 framework/security/pom.xml                      |   2 +-
 framework/spring/lifecycle/pom.xml              |   2 +-
 framework/spring/module/pom.xml                 |   2 +-
 maven-standard/pom.xml                          |   2 +-
 plugins/acl/static-role-based/pom.xml           |   2 +-
 .../explicit-dedication/pom.xml                 |   2 +-
 .../host-anti-affinity/pom.xml                  |   2 +-
 plugins/alert-handlers/snmp-alerts/pom.xml      |   2 +-
 plugins/alert-handlers/syslog-alerts/pom.xml    |   2 +-
 plugins/api/discovery/pom.xml                   |   2 +-
 plugins/api/rate-limit/pom.xml                  |   2 +-
 plugins/api/solidfire-intg-test/pom.xml         |   2 +-
 plugins/database/mysql-ha/pom.xml               |   2 +-
 plugins/database/quota/pom.xml                  |   2 +-
 plugins/dedicated-resources/pom.xml             |   2 +-
 .../implicit-dedication/pom.xml                 |   2 +-
 .../user-concentrated-pod/pom.xml               |   2 +-
 .../deployment-planners/user-dispersing/pom.xml |   2 +-
 plugins/event-bus/inmemory/pom.xml              |   2 +-
 plugins/event-bus/kafka/pom.xml                 |   2 +-
 plugins/event-bus/rabbitmq/pom.xml              |   2 +-
 plugins/file-systems/netapp/pom.xml             |   2 +-
 plugins/ha-planners/skip-heurestics/pom.xml     |   2 +-
 plugins/host-allocators/random/pom.xml          |   2 +-
 plugins/hypervisors/baremetal/pom.xml           |   2 +-
 plugins/hypervisors/hyperv/pom.xml              |   2 +-
 plugins/hypervisors/kvm/pom.xml                 |   2 +-
 plugins/hypervisors/ovm/pom.xml                 |   2 +-
 plugins/hypervisors/ovm3/pom.xml                |   2 +-
 plugins/hypervisors/simulator/pom.xml           |   2 +-
 plugins/hypervisors/ucs/pom.xml                 |   2 +-
 plugins/hypervisors/vmware/pom.xml              |   2 +-
 plugins/hypervisors/xenserver/pom.xml           |   2 +-
 plugins/network-elements/bigswitch/pom.xml      |   2 +-
 plugins/network-elements/brocade-vcs/pom.xml    |   2 +-
 plugins/network-elements/cisco-vnmc/pom.xml     |   2 +-
 plugins/network-elements/dns-notifier/pom.xml   |   2 +-
 .../elastic-loadbalancer/pom.xml                |   2 +-
 plugins/network-elements/f5/pom.xml             |   2 +-
 plugins/network-elements/globodns/pom.xml       |   2 +-
 .../internal-loadbalancer/pom.xml               |   2 +-
 .../network-elements/juniper-contrail/pom.xml   |   2 +-
 plugins/network-elements/juniper-srx/pom.xml    |   2 +-
 plugins/network-elements/midonet/pom.xml        |   2 +-
 plugins/network-elements/netscaler/pom.xml      |   2 +-
 plugins/network-elements/nicira-nvp/pom.xml     |   4 +-
 plugins/network-elements/nuage-vsp/pom.xml      |   2 +-
 plugins/network-elements/opendaylight/pom.xml   |   2 +-
 plugins/network-elements/ovs/pom.xml            |   2 +-
 plugins/network-elements/palo-alto/pom.xml      |   2 +-
 .../network-elements/stratosphere-ssp/pom.xml   |   2 +-
 plugins/network-elements/vxlan/pom.xml          |   2 +-
 plugins/pom.xml                                 |   2 +-
 plugins/storage-allocators/random/pom.xml       |   2 +-
 plugins/storage/image/default/pom.xml           |   2 +-
 plugins/storage/image/s3/pom.xml                |   2 +-
 plugins/storage/image/sample/pom.xml            |   2 +-
 plugins/storage/image/swift/pom.xml             |   2 +-
 plugins/storage/volume/cloudbyte/pom.xml        |   2 +-
 plugins/storage/volume/default/pom.xml          |   2 +-
 plugins/storage/volume/nexenta/pom.xml          |   2 +-
 plugins/storage/volume/sample/pom.xml           |   2 +-
 plugins/storage/volume/solidfire/pom.xml        |   2 +-
 plugins/user-authenticators/ldap/pom.xml        |   2 +-
 plugins/user-authenticators/md5/pom.xml         |   2 +-
 plugins/user-authenticators/pbkdf2/pom.xml      |   2 +-
 plugins/user-authenticators/plain-text/pom.xml  |   2 +-
 plugins/user-authenticators/saml2/pom.xml       |   2 +-
 .../user-authenticators/sha256salted/pom.xml    |   2 +-
 pom.xml                                         |   9 +-
 quickcloud/pom.xml                              |   2 +-
 server/pom.xml                                  |   2 +-
 services/console-proxy-rdp/rdpconsole/pom.xml   |   2 +-
 services/console-proxy/plugin/pom.xml           |   2 +-
 services/console-proxy/pom.xml                  |   2 +-
 services/console-proxy/server/pom.xml           |   2 +-
 services/iam/plugin/pom.xml                     |   2 +-
 services/iam/server/pom.xml                     |   2 +-
 services/pom.xml                                |   2 +-
 services/secondary-storage/controller/pom.xml   |   2 +-
 services/secondary-storage/pom.xml              |   2 +-
 services/secondary-storage/server/pom.xml       |   2 +-
 systemvm/pom.xml                                |   2 +-
 test/pom.xml                                    |   2 +-
 tools/apidoc/pom.xml                            |   2 +-
 tools/checkstyle/pom.xml                        |   2 +-
 tools/devcloud-kvm/pom.xml                      |   2 +-
 tools/devcloud/pom.xml                          |   2 +-
 tools/devcloud4/pom.xml                         |   2 +-
 tools/marvin/pom.xml                            |   2 +-
 tools/marvin/setup.py                           |   2 +-
 tools/pom.xml                                   |   2 +-
 tools/wix-cloudstack-maven-plugin/pom.xml       |   2 +-
 usage/pom.xml                                   |   2 +-
 utils/pom.xml                                   |   2 +-
 .../cloudstack/utils/CloudStackVersion.java     | 235 +++++++++++
 .../cloudstack/utils/CloudStackVersionTest.java | 120 ++++++
 vmware-base/pom.xml                             |   2 +-
 131 files changed, 895 insertions(+), 288 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/f4ae87cb/engine/schema/src/com/cloud/upgrade/dao/Upgrade410to420.java
----------------------------------------------------------------------