267 Commits

Author SHA1 Message Date
Chiradeep Vittal
a806ce43d3 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-09 14:45:26 -07:00
Chiradeep Vittal
e7983b25cc QuickCloud: Enable secondary storage daemon to run outside the system vm 2013-04-09 14:45:25 -07:00
Jessica Wang
98bc240d2a Revert "Dedicate Public IP range"
This reverts commit d6ed8d7cb53da08cacd04c3ac7435da5601e7f06.

Conflicts:

	server/test/com/cloud/configuration/ConfigurationManagerTest.java
2013-04-08 17:15:51 -07:00
Likitha Shetty
d6ed8d7cb5 Dedicate Public IP range 2013-04-08 14:46:21 -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