Revert "Automation of CCP Objects Verification after external changes made to the original setup Purpose of this code:"
This reverts commit 7461297f3e.
Generate CCP Objects (VMs, Volumes, Snapshots, VPC, etc..) and CCP Use Cases (Networking, Data Content,etc) before an external action on the CCP Setup and verify the integrity of the CCP Objects and the Use Cases after the external action on the CCP Setup. The integrity of the CCP Objects is verified by performing operations that test the Usability of the objects. This validates the intactness of the setup after an external action. The submitted patch covers only few major use cases. It proves that similar code can be added in future to address similar goals in verifying the integrity of CCP objects belonging to different components of the product.
The code format can be followed to verify validity of real time business use cases while any code changes (CCP,hypervisor,external devices code, etc…) happen over a period of time.
The following are the scenarios that the code format can be used for:
1.Upgrade Validity Verification
a. CCP Upgrade
b. Hypervisors Upgrade
c. External Devices Upgrade
d. System VM Template Changes.
2.Patch Validity Verification
Code can be used as one of the primary Components to validity Upgrades. It will facilitate the automation of Upgrade Test Verification completely.
How to use the code:
*Kindly make the corresponding substitutions in the commands listed below.
Execute:
nosetests --with-marvin --marvin-config=$CONFIG $BASEDIR/integration/component/ test_minimal_ug_check.py --load -a tags=preupgrade
After Upgrade or any Changes done to the Setup, Verify that the existing CCP objects are not affected due to the external changes.
Execute:
nosetests --with-marvin --marvin-config=$CONFIG $BASEDIR/integration/component/ test_minimal_ug_check.py --load -a tags=postupgrade
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
Refactored code to use test_data instead of hardcoded NetScaler credentials
Refactored code to remove large scale duplication
Fixed some minor logic error in the existing tests
This patch has not added or removed any of the original test-cases.
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
This reverts commit e921ec6ec7.
CLOUDSTACK-7408: sshClient.py - removing function load_host_keys(). This function is used to load host keys from local host keys file and to save back the host key. It is not needed while running test cases because we are connecting to unknown host anyway and don't want to use any local host key file. We have the AutoAddPolicy for missing host key file, hence whenever ssh connects to a new host, it will save the host key in memory temporarily.
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
This reverts commit e921ec6ec7.
CLOUDSTACK-7408: sshClient.py - removing function load_host_keys(). This function is used to load host keys from local host keys file and to save back the host key. It is not needed while running test cases because we are connecting to unknown host anyway and don't want to use any local host key file. We have the AutoAddPolicy for missing host key file, hence whenever ssh connects to a new host, it will save the host key in memory temporarily.
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
Test data to deploy new data center and execute test using the deployed zone
Signed-off-by: sanjeev <sanjeev@apache.org>
Incorporated review comments provided in RR 25097
Fixed review comments mentioned in RR25293
Conflicts:
tools/marvin/marvin/config/test_data.py
(cherry picked from commit 9e5da759b3)
Test data to deploy new data center and execute test using the deployed zone
Signed-off-by: sanjeev <sanjeev@apache.org>
Incorporated review comments provided in RR 25097
Fixed review comments mentioned in RR25293
Conflicts:
tools/marvin/marvin/config/test_data.py
CLOUDSTACK-4840 changed test_data.py to make the lbrule publicport be 22,
instead of 2222. In doing so, this caused the following tests to fail, as they
hit a problem where they tried to use port 22 for both the lbrule and for other
purposes:
integration.smoke.test_network.TestDeleteAccount.test_delete_account
integration.smoke.test_network.TestReleaseIP.test_releaseIP
The reason the change appears to have been made was that in
test_lb_secondary_ip.py, despite setting up the load balancer using lbrule, the
tests then used the SSH port from natrule to try and access the VM. By changing
lbrule to use port 22 (the same as natrule) this avoided the problem.
This patch updates test_lb_secondary_ip.py to use the SSH port in lbrule where
necessary to access the VMs, and reverts the change to test_data.py
CLOUDSTACK-6992: Incorporated review comments for patch request 23009
CLOUDSTACK-6992: Added portable ip range to services class
Signed-off-by: sanjeevneelarapu <sanjeev.neelarapu@citrix.com>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
to support creation of service offering upon passing details in the following format
serviceofferingdetails[1].key=pciDevice
serviceofferingdetails[1].value=Group of NVIDIA Corporation GK107GL [GRID K1] GPUs
serviceofferingdetails[2].key=vgpuType
serviceofferingdetails[2].value=GRID K120Q
Fixed to continue adding all hosts, even if any addition fails and remove
unused args from host class.
Signed-off-by: santhosh <santhosh.edukulla@gmail.com>
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
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
Fixed pep8 issues arising as part of merge
Signed-off-by: root <root@localhost.localdomain>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
Fixed issues for CLOUDSTACK-6489
Along with fixed few indent issues.
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
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>
Fixed issues related to the mentioned bugs.
More information in the bug.
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
new syntax changes in marvin code and fix the logFolderPath
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
Conflicts:
tools/marvin/marvin/configGenerator.py
CLOUDSTACK-4762 : Enabling VGPU support for XenServer.
This feature is to enable the GPU-passthrough and vGPU functionality,
with the help of this feature, admins/users will be able to leverage
the GPU graphics unit power by deploying a virtul machine with GPU or
vGPU support or by changing the service offering of an existing VM
at any later point of time. There GPU/vGPU enabled VMs are able to run
graphical applications.
For now, this feature is only supported with XenServer hypervisor but
can be extended to add the support of other hypervisors.
Removed apiclient.hypervisor references. More details in the bug
Few other changes pending for this related to VirtualMachine.create
need to be cleaned up
1. Added a generic way of verifying isk volumes.
2. Now, detach volume is called post the assert.
3. Added a sleep post detach volume to facilitate list volumes to have some time for detach operation.
4. Added a fix for a log check.
Fixed few RAT issues reported for new additions of files to repo.
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
Added few enhancements to marvin.
Added new module for Logging Facility to marvin.
Added new Init facility to marvin.
Currently, there are multiple ways we are doing logging
Removed few unwanted logging cases.
Removed few command line switch options for logging.
The new way of logging now provides consolidated logging
under one single folder timestamped under the configured
folder path.
Removed parsing configuration from deploydata center
Added parsing,start logging and deploy as part of init
Added new error handling facility to catch unknown exception from
test cases. Currently, lot of scripts are throwing unknown
exceptions, add a handler to plugin to dump them to a file
ToDO:
Will do clean up in phase2 for this patch.
Separate deployDatacenter from creating test client.
Clean up configGenerator
Fixed a connection issue under asyncmgr.
Added __init__.py files to directory to make it
a package.This file was missing under few directories and
so not appearing as packages while refactoring.
Adding one None Check
Timeout for ssh related test cases is increased based upon
few test run observations where ssh is taking more time during
restart scenarios as an example. We have done few changes to streamline
ssh library. This is in addition to those to keep less ssh script issues
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
The fix contains fixes related to ssh library majorly.
Complete description should be available under bug
description.
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
Fixed following test cases:
1) test_01_volume_from_snapshot
2) test_03_snapshot_detachedDisk
3) test_07_template_from_snapshot
All three test cases are running successfully on XenServer but test cases (01 and 07) failing on KVM due to a common issue.
Product defect logged for this: https://issues.apache.org/jira/browse/CLOUDSTACK-5097
test_03 is running ok on KVM too, the problem was - disk was not getting detached because it was not unmounted before detaching. Added code to unmount the disk.
Signed-off-by: Girish Shilamkar <girish@clogeny.com>
Added assertElementInList to cloudstackTestCase.
Users can use this new custom addition to add
assertions, thus replacing current multiple assertions
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
The purpose is to verify a given element in list
at a given position with few error checks like
list type,empty list and position
Returns appropriate codes based upon the inputs.
Can be used under tests instead of multiple asserts
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
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>
- Added few common naming conventions
- Cleanedup code
- Added a simple utility function
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
This will add time taken in seconds along with start and end timestamp
logging facility for test cases.Currently this is not
available for console logs
Signed-off-by: Santhosh Edukulla <Santhosh.Edukulla@citrix.com>
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>
This module provides facilitation to use uniform codes across various test
features. Users can import this module and use these codes to maintain
readability and one point of change.
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>
In case the marvin configuration does not contain fqdn information fetch
and compare the fqdns of hostip from `cloud`.`host` with the fqdn
available on the client.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Template url, hypervisor and format were defined in Service class to be Xenserver specific
and therefore registering a new template failed on Vmware and KVM.
Fixed this to get hypervisor specific info for registering new template.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 20256706b376551fe8993ee2e73c61df31dcb6de)
This works around the delay caused in adding Xen 6.1/6.2 hosts where
host takes two attempts to transition to Up state. We will wait for one
minute per cluster before attempting to add storage pool in the cluster.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 22ee499c3571b2a6b6921abb36c679128893c415)
egressdefaultpolicy parameter was not set in base.py. Therefore
egress test failed. Added this missing change.
Signed-off-by: Jayapal <jayapal@apache.org>
- Pass in config and determine the mgmtsvr credentials
- remove the dir_paths param which is not reqd.
- pass all entities as uuids and convert to ids within the method
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
When deploying with networkids allow_egress gets no default value. This
is a regression caused by fix for CLOUDSTACK-4418
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 239ba9447109412cf48cfefc547d6b5fef83a4a9)
Tests would fetch the credentials for the host to hop into router to
check for essential services. Each test would require to put in the host
information into the test data. Instead fetch the credential information
from the marvin configuration file.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 4b546ce85d40098ade69c575316e76e25a422a12)
Tests doing operations within guests post VirtualMachine.create w. default
network offering fail since the egress policy with isolated networks and
sourcenat services is DENY.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 81b5146c8e)
SharedNetwork creation requires a pre-setup VLAN outside of the guest
VLANs defined during zone creation. Use a VLAN tag outside the guest
range as a shared network vlan to create shared networks.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 35867ccbd90c824b4faae438dac99400babeff95)
Changes to object store removes SecondaryStorage host from the host
table. This affects the test where we identify the secondary storage nfs
host to login to where we verify if the snapshot is present on the
physical resource.
* added base classes for imagestore/stagingstore operations
* fixed the test to check only if NFS is used as backing store
TODO: Fix for s3 based storage layer
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 4f973778bf6c2bfc7da2b8c785557e86f81af9d5)
Or existing tests that depend on the order barf and fail.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit ec054cde23113baa40ae35c6195bc666d3c1b8d0)
And increase default retry to 10 times, each 30 seconds.
Comment out auth exception part because sometime it caused failure when VM
is starting up.
Now we just wait anyway for 5 minutes if it's failing.
Only on SSHExceptions we attempted retries, but during socket failures,
like Network Unreachable we failed the ssh connection immediately.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit dcbb2fcaa18e3faaf1c0765633300f7d0fa46d2c)
It is useful to have the same logger used in the marvinplugin into the
testcase. The testcase can then append its name to the logger making
the logs specify exactly which test is executing when the logs are
generated
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit c84a2d8801b7898dbfee18e17950cb9fca7d36e7)
When you have a method with named parameters, all calls to it should
explicitly pass name=value pairs. Not doing so can result in the wrong
params being passed in the method call. This is a result of the
"services" dictionary being passed into the isportable flag failing the
API signature generation and hence the API call.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Added isportable param to associateIP API. Fixed base class
for PortableIP tio call portableip APIs.
Removed test_createPortablePublicIPAcquire from basic zone run
requires additional network creation handling which can be done
in component tests.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
urlencoding the userdata and quoting the = since apiserver will strip
them out. This will send an invalid userdata down to the plugin (vmops)
where base64 decoding fails causing vm deployment to fail.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Provided a utility method to ensure the config is suitable for running
the test. If vm.instancename.flag is unset then skip the tests.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 8b8cee52f09f9f2c1b612ece16fc7ffc4b2c9176)
One of the patches introduced a regression where account
and domainid parameters were changed. Therefore Affinity
Groups for those accounts were not found and tests failed.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 4a7f5d59d6)
Now password is sent as clear text as per CLOUDSTACK-1734
So changed marvin to handle this. Plus domainid was not
passed in the testcase and marvin used "domainid" instead of
"domainId" as a parameter. Fixed these two errors.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit dba09791fc99c342974d8ca1c69609c04f1a5512)
Missed scenario for appending test case names to accounts when
setUpClass calls the account.creation integration library.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 9a5d2e9e36411ac5df17baca13874e0575233dac)
Prevent chained appending of the testclass/testnames to the accounnt
names.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit fb75f51755)
If the test doesn't create the account within the testXxx method we miss
the trail of the accountname because the setUpClass() created the
account. Append the module name in advance in such cases to identify the
account that was created in the suite before any tests were executed.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 6a8608a916eec2551797e93634d9716e9d15c783)
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)
When creating a VM if it's going to a basic zone program sec.group rules
so as to allow SSH access for any tests requiring ssh access to the
guest. Similarly method used to program the NAT and PF for SSH access is
refactored and extracted into a separate method. By default no SSH
access is allowed if the mode is set to 'default'
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 9c9003a0db)
The guestcidr is no longer specified directly. Use the netmask and
gateway combination to create custom cidr network
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit a4d902fc9b48e963d5987965207e3745e1728741)