account and domainid is passed to conform to recent IAM
related changes in 4.4-forward
2. fixed typo passd to passwd in cloudstackTestClient.py
3. added few missing data required for tests in test_data.py
4. removed config.cfg
mend
Conflicts:
tools/marvin/marvin/config/test_data.py
tools/marvin/marvin/lib/base.py
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>
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>
Removed apiclient.hypervisor references. More details in the bug
Few other changes pending for this related to VirtualMachine.create
need to be cleaned up
Added Configuration Support to Marvin.
1. It provides the basic configuration facilities to marvin.
2. User can just add configuration files for his tests, deployment
etc, under one config folder before running their tests.
cs/tools/marvin/marvin/config.
They can remove all hard coded values from code and separate
it out as config at this location.
Either add this to the existing setup.cfg as separate section
or add new configuration.
3. This will thus removes hard coded tests and separate
data from tests.
4. This API is provided as an additional facility under
cloudstackTestClient and users can get the
configuration object as similar to apiclient,dbconnection
etc to drive their test.
5. They just add their configuration for a test,
setup etc,at one single place under configuration dir
and use "getConfigParser" API of cloudstackTestClient
It will give them "configObj".They can either pass their own
config file for parsing to "getConfig" or it will use
default config file @ config/setup.cfg.
6. They will then get the dictionary of parsed
configuration and can use it further to drive their tests or
config drive
7. Test features, can drive their setups thus removing hard coded
values. Configuration default file will be under config and as
setup.cfg.
8. Users can use their own configuration file passed to
"getConfig" API,once configObj is returned.
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
enable the marvin plugin when the --with-marvin directive is given to nose. The
enableOpt value is set from the command line directive and self.enabled
(True|False) determines whether marvin's tests will run. By default
non-default plugins like marvin will be disabled"
This fixes regression from 03830c5
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
There were few unwanted calls as part of test client, did some clean up
Made the test client API uniform to accept both mgmt and dbsvr details
Did some minor bug fixes as well.
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
setup/dev/advanced.cfg is used by the simulator deployments that are
usually not https. disabled the http within this config file.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
advanced.cfg: Contains three additional flags "useHttps,certCAPath,certPath"
for https usage in marvin for establishing cs connection. We will use the
configuraiton under advanced.cfg provided by user to establish connection over
https. If establishing the connection over https failed, then the default certs
will be used. or else raise the exception, the existing http will work as it
is when useHttps flag set to "False"
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Accounts will be prepended by the testcase name to ease analysis
post-test runs.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 17af34fd19)
Many vpc tests fail because of incorrect apiClient passed in to create
the VPC, network etc. The exact method used is getUserApiClient to fetch
the apiclient for a specific user.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
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>
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>
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>
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