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>
The database creator caused a cyclic dependecny in the simulator which
is removed with this commit. Additionally the simulator profile is now
merged with developer profile and a test for server health is included
Steps to run:
$ mvn -Pdeveloper clean install
$ mvn -Pdeveloper -pl developer -Ddeploydb
$ mvn -Pdeveloper -pl developer -Ddeploydb-simulator
$ mvn -pl client jetty:run
To deploy an adv. zone and test the server health:
$ mvn -Pdeveloper,marvin -Dmarvin.config=`find . -name simulator.cfg` -pl :cloud-marvin test
Conflicts:
pom.xml
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
minor pom refactor to put all the tools under one placeholder pom.
Also adds a profile for marvin to run deployDataCenter via mvn options.
$mvn -Pdeveloper,marvin -pl :cloud-marvin -Dmarvin.config=<path/to/config>
OR
$cd tools/marvin
$mvn -Pmarvin -pl :cloud-marvin -Dmarvin.config=path/to/config
will deploy the datacenter using the marvin.config property's value
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Author: Prasanna Santhanam <tsp@apache.org>
Date: Sun Dec 9 23:13:24 2012 -0800
marvin: storagetype reference only when attr present
reference the storagetype only when present. storagetype is reqd
only for devcloud style tests
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Description: Adds API calls updateDefaultNicForVirtualMachine,
addNicToVirtualMachine, and removeNicFromVirtualMachine. These are
intended to allow a user to modify a VM's configuration post
deployment, to adjust the networks to which the VM belongs.
BUG-ID: CLOUDSTACK-645
Submitted-by: Brian Angus <blangus@betterservers.com>
Submitted-by: Ryan Dietrich <ryan@betterservers.com>
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1359494800 -0700
Detail: This merges the resizevolume feature branch, which provides the
ability to migrate a disk between disk offerings, thereby changing its
size, or specifying a new size if current disk offering is custom.
BUG-ID: CLOUDSTACK-644
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1358358209 -0700
The label associated with the hypervisor nic to isolate traffic types by
Guest/Mgmt/Public/Storage was not passed in the marvin.traffictype
object and sent through to mgmt server resulting in traffic types not
being applied.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
zones do not qualify for vlans but phy networks should carry the
underlying vlan information. moving the vlan down to physical_network
in configGenerator.py.
also the sandbox example has been corrected to reflect this change
and includes an illustration of using traffic types with labels.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Reported-By: Marcus Sorenson <mlsorenson@apache.org>
The getUserApiClient attribute in cloudstackTestClient provides a user level
api client that executes all API calls with permissions of a given user instead
of the default admin
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
Detail: VM Life cycle tests needed minor changes to run them against a
devcloud - basic zone, local storage envrioment.
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1354760111 -0800
Detail: The listOsTypes API will filter when given the ostype name as
centOS 5.3. There is now no need to hardcode the uuids into the test
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1354228309 -0800
This is the first part of fixing CLOUDSTACK-514, and is hopefully
backward compatible with previous use of Marvin. I added two new
parameters to the cloudstackConnection module, protocol and path.
Both have been defaulted to the previously *assumed* values.
Signed-off-by: Chip Childers <chip.childers@gmail.com>
Detail: unittest-xml-reporting 1.4 - the verbose option is available via
settings.py.
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1352448075 +0530
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
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
Detail:
Sometimes tests need ssh access to the management server to perform
verification such as:
1. Pings from mgmt_server to agents
2. snapshots exist on secondary storage - mountable from mgmt server
For these the tests will need access to the config of the deployment and
the ip address of the mgmt server.
Egs: integration/component/test_egress.py and integration/component/test_snapshots.py
BUG-ID : CLOUDSTACK-377
Reported-by: Prasanna Santhanam
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1350624903 +0530
There are various READMEs under Cloudstack. This makes it confusing for
finding the purpose of each directory and tool within the project. All
the necessary information can now be found in the top-level README.tools
that is markdown editable. For the most updated information however it
is best to provide a wiki link to the tool you have added. Each tool
lies in a seperate section, please keep formatting unchanged.
* traffictypes = 'Guest', 'Management', 'Public', 'Storage'
- corresponding nic labels are given in the labeldict
* External device providers JuniperSrx, NetScaler and F5 load balancing
can now be configured
* examples are shown in the configGenerator.py script for basic,
advanced and EIP/ELB based zones
Conflicts:
tools/marvin/marvin/configGenerator.py
tools/marvin/marvin/deployDataCenter.py
* setup.py is the installer for marvin-nose plugin
* marvin-nose drive all tests using nose with other plugins like xunit, coverage, multiprocess execution etc
* -n option deprecated. All tests driven by nosetests --with-marvin
Using this plugin Nose will drive tests and this also allows using other
nose plugins. Cmd Line plugin support to be added
Conflicts:
tools/marvin/marvin/NoseTestExecuteEngine.py
* ant run-simulator - will seed the simulator jar and start CS
* ant run-marvin -Dmarvin.config="/path/config/file" - will
* configure a
cloudstack as per the given configuration. marvin.config - defaults
to a
two host simulator in an advanced zone
You can then connect your debugger over localhost:8787 or use the CS
ui
at localhost:8080/client for testing.
From: Prasanna Santhanam(Prasanna.Santhanam@citrix.com)
Fixed deployDataCenter.py to select the correct network offering based on if security groups are enabled. Also added default value to configGenerator.py for basic setup.
I would like to add an command line option to choose between advanced or basic networking configuration. This would allow me or others to choose advanced networking without having to edit the python code.
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.
$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