Commit Graph

43 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
Rajani Karuturi 17219dfe79 Merge release branch 4.6 to master
* 4.6:
  more poms didn't get updated with script
  implemented upgrade path from 4.6.0 to 4.6.1
  checkstyle pom didn't get updated with script
  debian: add 4.6.1-snapshot to changelog
  Updating pom.xml version numbers for release 4.6.1-SNAPSHOT
  Updating pom.xml version numbers for release 4.6.0
2015-11-16 15:43:08 +05:30
Remi Bergsma e31ade03c6 Updating pom.xml version numbers for release 4.6.0
Signed-off-by: Remi Bergsma <github@remi.nl>
2015-11-10 15:45:34 +01:00
Gaurav Aradhye c05e37b28d CLOUDSTACK-8356: Mentioning netaddr module in setup.py in marvin as it is used across test cases
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
2015-04-01 15:30:17 +05:30
SrikanteswaraRao Talluri c6581c17bd CLOUDSTACK-8352: vcenter library for marvin which makes use of 'pyvmomi'
vmware sdk python binding to interact with vcenter server.

Tested against vcenter 5.5
2015-03-30 10:40:50 +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
Santhosh Edukulla 6bd5041ff0 Adding first cut(draft) for marvincli
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-09-01 18:00:20 +05:30
Leo Simons 2279289465 marvin: Fix marvin.sync profile, fixes regression from e10f8e8
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-08-13 11:15:41 +02:00
Rohit Yadav e10f8e8875 marvin: set next release version to 4.5.0
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-07-29 23:10:58 +02:00
Rohit Yadav 7b8c991da8 marvin: change module author, description etc to use ACS team and dev ML
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit fa5195f305)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-07-29 23:10:37 +02:00
sedukull b43517c496 CLOUDSTACK-6856 : Fixed few data corruption and retries issues for failing cases
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
2014-06-06 21:52:03 +05:30
Santhosh Edukulla 901d633ca4 Added few changes for CLOUDSTACK-6316
1. Added pep8 changes, delete dc flag.
2. Now, delete dc works only if flag is set under config.
3. SSH, retries and delay were altered to reduce the time
for ssh connection

Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
2014-04-16 15:56:30 +05:30
Santhosh Edukulla 65e8f2dc53 Fixed issues related to CLOUDSTACK-5674
Fixed issues mentioned for CLOUDSTACK-5674.
More changes in the bug

Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
2014-04-04 18:30:45 +05:30
Santhosh Edukulla 3dbb2ae488 CLOUDSTACk-5674: Added fix for CLOUDSTACK-5674 2014-02-12 17:34:34 +05:30
Santhosh Edukulla bf72441d13 CLOUDSTACK-6006: Remove integration folder and lib 2014-02-04 12:01:58 +05:30
Gaurav Aradhye 2ba27db0ce CLOUDSTACK 2233: Automation test cases for Add Remove Networks to VM
Signed-off-by: Girish Shilamkar <girish@clogeny.com>
2013-11-25 13:15:49 +05:30
Wei Zhou e6863c612b Integration test for advanced zone with security groups
Description:
This patch includes three parts for advancedsg:
(1) Marvin support.
(2) devcloud support.
(3) integration test scripts

Testing Done:
devcloud testing ok.

Signed-off-by: Anthony Xu <anthony.xu@citrix.com>
2013-05-22 15:39:22 -07:00
Prasanna Santhanam df39196bf7 marvin: build fails when no setuptools/distribute found
appropriately warn the user to install setuptools.

Also - fixed the jenkins url for builds.a.o

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-13 11:21:38 +05:30
Prasanna Santhanam 167781ec01 refactor marvin to use requests instead of urllib2
Use python-requests [1] for Marvin. Requests enables graceful handling
of http connections. Marvin's cloudstackConnection has been refactored,
cleaned up to act as a single module for all kinds of cloudstack API
requesting.

TODO:
1. session based login mechanism of the UI should work from
cloudstackConnection
2. cloudmonkey can also reuse /import marvin.cloudstackConnection
3. More graceful handling of POST requests

[1] http://docs.python-requests.org/en/latest/

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-17 19:11:47 +05:30
Prasanna Santhanam 9c755e11e5 marvin-nose: include the plugin as part of marvin install
No need to register the plugin seperately now. The installer will
register with nose's entry_point automatically.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-02 18:31:29 +05:30
Prasanna Santhanam 3075d0cf56 marvin: argparse enhancement and unit-test-xml-reporting dependency removed
1. deployAndRun will use the more modern argparse module
2. improving logging within the remoteSSHClient, moving to debug and
default logging to INFO
3. removing dependance on the xmlrunner. use nose --with-xunit instead

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-02 18:31:29 +05:30
Prasanna Santhanam a7d7f85e40 Marvin doesn't require python 2.7, the tests do
To compile marvin using maven any standard python interpreter above 2.4
is sufficient. The tests under test/integration will need 2.7 to run.

Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1354929362 -0800
2012-12-07 17:17:02 -08:00
Prasanna Santhanam c290bf6cd0 Summary: xml reports library changes
Detail: unittest-xml-reporting 1.4 - the verbose option is available via
settings.py.

Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1352448075 +0530
2012-11-09 13:31:15 +05:30
Prasanna Santhanam 802ddd43ca Summary: Moving the test integration libraries into marvin for CLI work
Detail: Integration tests use these libraries (base,utils,common) for
simplifying the usage of the API. These define the verbs of each
entity's usage (create, delete, add etc). For the CLI to present the
simplified API we'll leverage the integration libraries.

+ Fixes to setup-test-data.sh - kvm and xen each use a different version
of the built-in Cent OS template, 5.5 and 5.3 namely.

At a later point the setup-test-data script needs to be obsoleted.
ostypeids in tests should directly be determined from listOsTypes API
calls

Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1351520707 +0530
2012-10-29 20:23:02 +05:30
Prasanna Santhanam 9a90dc227e Distutils install_requires doesn't resolve dependencies
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1350733702 +0530
2012-10-20 17:18:22 +05:30
Prasanna Santhanam 355b152993 Summary: Replace pymysql in marvin with a stable mysql-connector-python
Detail: mysql-connector-python developed by Oracle will replace the MIT
licensed pymysql. mysql-connector-python is developed by Oracle and is
more favourable, faster and actively developed.

With this commit - the dbConnection object is also auto managed by
contextlib. Each transaction requests its own connection rather than
sharing one single connection for all the test runs.

BUG-ID : None
Reviewed-by: timeit comparison of pymysql and mysql-connector-python
Reported-by: dbExceptions and timeouts from Marvin test runs
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1350732083 +0530
2012-10-20 16:57:06 +05:30
Prasanna Santhanam 60cd65382f Removing pymysql and including it as setup dependency 2012-08-04 17:17:11 +05:30
Prasanna Santhanam 7288eca129 failonerror for some marvin targets 2012-07-31 12:17:33 +05:30
Prasanna Santhanam 85c5b5656d adding unittest-xml-reporting as a dependency to marvin 2012-07-30 15:27:55 +05:30
Prasanna Santhanam ba33a25c57 Sandbox scripts for generating one host configuration
- marvin/sandbox/advanced
- marvin/sandbox/basic

* supports generating configurations for cloudstack deployment with
properties files. The format of the config, properties files and the
process is explained in the tutorial:

http://wiki.cloudstack.org/display/QA/Testing+with+python#Testingwithpython-DeploymentConfiguration
2012-07-30 15:27:55 +05:30
David Nalley 6fe595f3d3 committing some more changes to marvins license headers 2012-07-04 18:50:49 -04:00
David Nalley 91fd3b772e Applying patch from Prasanna Santhanam
Marvin sandbox example scripts for generating one host configurations
https://reviews.apache.org/r/5656
2012-07-02 09:08:51 -04:00
Prasanna Santhanam 0f98f5fe52 Build if you have python 2.7 installed 2012-05-14 19:40:44 +05:30
Prasanna Santhanam 7eaa1cf6f8 Install paramiko as a dependency, don't complain about the requirement 2012-05-14 14:45:24 +05:30
Prasanna Santhanam ab57aeb7bc The setup_requires must not co-exists with install_requires 2012-05-11 15:47:46 +05:30
Prasanna Santhanam 0bd43e7cf5 CS-14025: provide python eggs to easily install the python test framework
CS-14025: Status - Resolved Fixed

1. Packaging the marvin test client into an installable egg
2. There is a hudson job (marvin) that creates eggs for a specified
branch
3. Alternatively you can use the package-marvin ant target to get a
source tarball.
2012-04-23 17:46:00 +05:30
Prasanna Santhanam d150576a48 missing tests directory causes warnings in distutils
reviewed-by: ant run
2012-04-11 18:24:20 +05:30
Prasanna Santhanam 5c37d144cc Package management for the python testclient christened Marvin
$ant package-marvin
will create a packaged source tarball of the testclient that is
redistributable and decoupled from the rest of the cloudstack build
reviewed-by: unittest
2012-04-11 18:24:20 +05:30