Commit Graph

115 Commits

Author SHA1 Message Date
Chiradeep Vittal 84d49e4ad1 QuickCloud: allow specification of network offering name in datacenter config. The deployDatacenter python script will use this to pick the network offering during creation of the default network in a basic zone 2013-04-05 15:12:17 -07:00
Chiradeep Vittal 406aed26ba QuickCloud: Enable secondary storage daemon to run outside the system vm 2013-04-05 14:53:16 -07:00
Prasanna Santhanam b798c45114 maven+marvin+simulator: Changes to the lifecycle steps
integration test is now run as follows:

Build
$ mvn -Pdeveloper -Dsimulator clean install

DB:
$ mvn -Pdeveloper -pl developer -Ddeploydb
$ mvn -Pdeveloper -pl developer -Ddeploydb-simulator

Setup:
$ mvn -Pdeveloper,marvin.setup -Dmarvin.config=setup/dev/advanced.cfg -pl :cloud-marvin integration-test

Test:
$ mvn -Pdeveloper,marvin.test -Dmarvin.config=setup/dev/advanced.cfg -pl :cloud-marvin integration-test

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-02 19:56:33 +05:30
Prasanna Santhanam 82fd9382b7 marvin+sync: apidiscovery sync and regenerate for marvin
Use codegenerator to sync marvin cloudstackAPIs from a given cloudstack
endpoint. Sometimes you want to synchronize marvin with the new APIs
that you have introduced locally or any alterations you may have made
the API. In such cases you can sync marvin's libraries as follows.

$sudo mvn -Pdeveloper,marvin.sync -Dendpoint=localhost -pl :cloud-marvin

This needs sudo privileges since it will call on pip to upgrade the existing
marvin installation on your machine. The endpoint is where your management
server is running and is exposing the API discovery plugin. A listApis call is
made and the resulting json deserialized back into marvin's library entities.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-02 19:56:28 +05:30
Prasanna Santhanam 5d67c98e5b marvin+apidiscovery: Extend API discovery plugin
API discovery plugin will return embedded entities for marvin to
discovery and generate it's API classes.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-02 18:31:30 +05:30
Prasanna Santhanam d4dc264917 simulator+marvin: include a router test
Added a test that will ensure the advanced router comes up in the
account belonging to the deployed VM. It should come up with the
publicip, guestip and linklocalip.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-02 18:31:30 +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 2e2046fe38 marvin changes to do an pre-integration and integration test
Introducing the simulator spring context -
simulatorComponentContext.xml.in. This separates the simulator beans so
that production deployments don't have the simulator in them. Context is
enabled with -Dsimulator as part of the developer profile.

Also adding config files - Simulator Config for advanced zone and basic
zone deployments under setup/dev.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-02 18:31:29 +05:30
Prasanna Santhanam fe48bbebda moving out the vmpasswd into its own suite
vm passwords are extended features that don't need to be part of the
smoke suite.

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 323c3211c8 run the test lifecycle only when config is specified 2013-03-20 11:07:49 +05:30
Prasanna Santhanam 02b3cd7de9 marvin logging: write to tmp to adjust for mac-osx
/var/log is not available on OSX. This breaks the simulator run.
2013-03-20 10:47:15 +05:30
Prasanna Santhanam 792db8b5cc simulator: removing cyclic dependency from simulator
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>
2013-03-20 10:36:43 +05:30
Chiradeep Vittal 6a1ecae552 Ensure RAT does not report marvin generated files as noncompliant in developer environment
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-03-02 16:49:02 +05:30
Chiradeep Vittal f30da781f8 Reduce RAT errors in developer environment due to generated python files
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-02-27 13:44:50 +05:30
Rohit Yadav 80d58b6c73 CLOUDSTACK-1317: Bump CloudStack package version to 4.2.0-SNAPSHOT in all poms
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-20 16:42:56 +05:30
Prasanna Santhanam 05437d0e97 maven pom: put apache cloudstack tools together in umbrella pom
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>
2013-02-15 20:53:41 +05:30
Prasanna Santhanam e06a8569a2 propagate storagetype fix from commit e49b3b to diskOffering
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>
2013-01-31 16:03:43 +05:30
Marcus Sorensen 15906c03ca Summary: add/remove/update default nics feature
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
2013-01-30 17:43:21 -07:00
Marcus Sorensen 975021dda1 Summary: adding resizeVolume api call
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
2013-01-16 17:43:35 -07:00
Prasanna Santhanam bfd02c5db3 traffic_type not traffictype
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-01-15 19:36:30 +05:30
Prasanna Santhanam 04b14ab03f Marvin: physical network label not carried through in the API
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>
2013-01-15 19:29:27 +05:30
Marcus Sorensen 0293d3d665 Summary: Allow passing 'storagetype' to DiskOffering.create in marvin base.py
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1358185899 -0700
2013-01-14 10:51:39 -07:00
Prasanna Santhanam 8d3cbc82d8 marvin: fixes for handling multiple phy. networks
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>
2013-01-13 13:42:02 +05:30
John Burwell e4583ced2e S3-backed Secondary Storage 2013-01-02 10:28:47 -08:00
Prasanna Santhanam bab974c3bc marvin : cloudstack-version is not reqd for json load
To build back cloudstack response we don't need to load the
'cloudstack-version' string, only the response
2012-12-26 19:22:17 -08:00
John Burwell 264a0670a8 - [CLOUDSTACK-509] S3-backed Secondary Storage - Adds S3 configuration support to Marvin - Moves configuration of global options to occur creation of zones since the values of global options impact the configuration and zone enablement processes 2012-12-19 16:09:25 -08:00
John Burwell 14f589702a CLOUDSTACK-660: Fixes traffic label configuration in Marvin
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2012-12-18 13:25:24 -05:00
Edison Su b70c1a5a84 Backs NFS-based secondary storage with an S3-compatible object store. Periodically, a reaper thread synchronizes templates and ISOs stored on a NFS secondary storage mount with a configured S3 object store. It also pushes snapshots to the object store when they are created and downloads them in other zones on-demand. In addition to permitting the use of commodity or IaaS storage solutions for static assets, it provides a means of automatically synchronizing template and ISO assets across multiple zones. 2012-12-13 23:18:37 -08:00
Prasanna Santhanam ceea53cd8f marvin: remoteSSHClient logger handler
send the logs to the console stream
2012-12-13 19:22:49 -08:00
Prasanna Santhanam fb5ea25a4d marvin: remoteSSHclient logs
Adding logging for commands sent, and executed with results returned
frmo the remote host.
2012-12-13 15:58:36 -08:00
Prasanna Santhanam f05cd36634 marvin: assertions with messages for common.py 2012-12-13 15:25:39 -08:00
Prasanna Santhanam fd6be7a37b marvin: establishing some defaults
when logging in just use defaults if no service dict values are provided
2012-12-13 14:09:20 -08:00
Prasanna Santhanam 864ab37e13 marvin lib: changes for accomodating vpc related apis
new apis for the integration lib for VPCOffering, VPC, NetworkACL Apis.
Also some extra checks from for avoiding KeyErrors in the Services dict.
2012-12-12 11:07:28 -08:00
Prasanna Santhanam e49b3b27de marvin: storagetype reference only when attr present
reference the storagetype only when present. storagetype is reqd only for
devcloud style tests
2012-12-09 23:13:24 -08:00
Prasanna Santhanam 7d4e65740b marvin: assertion check when fetching featured templates 2012-12-09 22:15:38 -08:00
Prasanna Santhanam 3ba8dc455f Smoke Tests: incorrect self reference in setUpClass
should be cls.apiClient and not self.apiClient
2012-12-09 22:15:37 -08:00
Prasanna Santhanam 8466ff1e1f Marvin: Provide a userApiClient for executing with user permissions
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
2012-12-09 22:15:30 -08:00
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 d1e49a0500 Marvin: testClient close calls try to close the dbConnection
dbConnections are auto-managed do not need explicit closing

Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1354919683 -0800
2012-12-07 14:35:53 -08:00
Prasanna Santhanam 21819dafb5 Summary: Devcloud tests for vm life cycle
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
2012-12-05 18:15:11 -08:00
Prasanna Santhanam 2c561dd3a8 Summary: Removing ostypeid dependencies from tests
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
2012-11-29 15:41:56 -08:00
Chip Childers 2ee9253c78 CLOUDSTACK-514: Adding https and api path support to Marvin.
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>
2012-11-19 12:06:18 -05:00
Rohit Yadav 8ea2cc4e57 marvin: raise error so cli can pick it up
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-16 22:18:32 +05:30
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
Rohit Yadav d72d3ee22b marvin: check and use logger
Checks and only then calls logger

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-10-31 23:18:06 +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 241daa53c6 Summary: Mavenize marvin on master
Detail: Maven will now compile, install and deploy marvin using the
developer profile
    $ mvn -P developer

compile - compiles the cloudstackAPI
package - packages the marvin source distributable
deploy  - installs using pip (reqd python 2.7) the Marvin package in to
site-packages/

BUG-ID : CLOUDSTACK-378
Reported-by: Prasanna Santhanam <tsp@apache.org>
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1351319186 +0530
2012-10-27 11:56:25 +05:30
Prasanna Santhanam 6f2792eb4b Summary: Close the ssh transport from paramiko
Detail: SSH Transport to be explicitly closed in marvin.remoteSSHClient
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1351002168 +0530
2012-10-23 19:52:48 +05:30
Prasanna Santhanam fd5421670d Remove redundant code in try..except block
Signed-off-by: Prasanna Santhanam <tsp@apache.org> 1350839262 +0530
2012-10-21 22:39:21 +05:30