Starting 4.5, we won't be using 32bit systemvmtemplate. Removing dead code as
it's already far behind in terms of maintenance compared to the 64bit definitions.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
1. provide compatibility with the Big Cloud Fabric (BCF) controller
L2 Connectivity Service in both VPC and non-VPC modes
2. virtual network terminology updates: VNS --> BCF_SEGMENT
3. uses HTTPS with trust-always certificate handling
4. topology sync support with BCF controller
5. support multiple (two) BCF controllers with HA
6. support VM migration
7. support Firewall, Static NAT, and Source NAT with NAT enabled option
8. add VifDriver for Indigo Virtual Switch (IVS)
This closes#151
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
/var/log fills up /var and fails operation of normal services. This fix
restricts /var/log to 100-200M. The fix for CLOUDSTACK-6885 tries to make sure
we don't keep a lot of logs.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
/var/log fills up /var and fails operation of normal services. This fix
restricts /var/log to 100-200M. The fix for CLOUDSTACK-6885 tries to make sure
we don't keep a lot of logs.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
These are failing on my machine with cloud.log lines like
2014-08-07 14:34:09,509 Add dev eth2 table Table_eth2 10.0.2.0/24
2014-08-07 14:34:09,511 Address 10.0.2.106/24 on device eth2 not configured
2014-08-07 14:34:10,513 Device eth2 cannot be configured - device was not found
I think it's correct that they are failing -- this is work in progress.
Any cd command will cause rvm to override the trap handler in the shell
These means that vagrant_destroy will not get called at the end because in the node function it cds
Run the nose tests in a subshell
This approach is instead of serverspec, but filling the same purpose. It's
main advantage is that it uses nose and python, just like the existing
marvin-based integration test suite.
Replace chef with a python script
configure.py will read the bags and (hopefully) create the desired state
At this stage this is ipassociation
This code should work for both VR and VPCrs
TODO:
iptables
ip route throw (present in VR but not in VPCr
Determine default route
Unit tests
----
Author: Ian Southam <isoutham@schubergphilis.com>
First commit towards moving systemvm to chef based configuration
In this commit
1. cmdline json databag is created
2. ip association data bag is created
3. Basic chef cookbook to manage ips and routes
Conflicts:
systemvm/patches/debian/config/etc/init.d/cloud-early-config
systemvm/patches/debian/config/var/chef/cookbooks/README
tools/appliance/definitions/systemvm64template/postinstall.sh
----
Because we've refactored the systemvm template the change to
postinstall.sh now gets its own chef.sh file.
This is a plugin that puts in ovm3 support ranging from 3.3.1 to 3.3.2. Basic
functionality is in here, advanced networking etc..
Snapshots only work when a VM is stopped now due to the semantics of OVM's raw
image implementation (so snapshots should work on a storage level underneath the
hypervisor shrug)
This closes#113
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
added it in the zone block.
CLOUDSTACK-8229
Testing: tested with KVM and zone deployment was fine.
In the config file, zone wide primary storage details looks like this:
"primaryStorages": [
{
"url": "nfs://10.147.28.7/export/home/talluri/primary1",
"XRT_PriStorageType": "NFS",
"name": "XenRT-Zone-0-Pod-0-Cluster-0-Primary-Store-0",
"hypervisor": "KVM",
"scope" : "zone"
}
],
reviewed-by: talluri
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>
edit checkstyle pom on rc creation
xapi release version dep
update debian package changelog on version upgrade
sign release branch instead of release tree
(cherry picked from commit dd508b3b9f)
edit checkstyle pom on rc creation
xapi release version dep
update debian package changelog on version upgrade
sign release branch instead of release tree
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>
Installed flask package and removed the disk expert recipe in
system vm template to keep only one partition
Signed-off-by: Frank Zhang <frank.zhang@citrix.com>
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
It is simpler to expect that rvm setup is done outside of this build.
The buildacloud.org jenkins has rvm installed/enabled by default so
does not invoke rvm.
Running --export creates the .ovf and the .vmdk files referenced
from that .ovf in one go. Guessing/predicting the names of the .vmdk
files is not fool-proof.
The backticks in the Vagrantfile template were getting evaluated by bash.
This caused some harmless but confusing error messages to appear on running
the build. Easy fix is to remove them.
* bundle install needs to run before running the vbox cleaning scripts,
so move prepare step before clean step
* feature branches have / in their name which is a bad character to
put into filenames
Veewee supports exporting vagrant boxes out of virtualbox, out of the box.
However, it assumes that it can export a disk if the shutdown of the vm that
is using that disk has succeeded. This assumption is not strictly always true
(see previous commit). So, we replicate the bit of logic in veewee for making
vagrant boxes.
This has the added side benefit of creating an .ovf export only once, rather
than once for vmware and then again for vagrant.
Having experimented with many edge cases of running multiple build.sh
commands in parallel / against busy virtualbox setups, the only really
reliable way to produce consistent images is to not do these commands
in parallel and to not do them while the machine is doing many other
things.
If virtualbox or the machine that hosts it is very busy, and/or it has
a lot of disks it knows/knew about, and/or its tuesday, behavior may
be a bit different.
Realizing this reality, this commit adds some scripts that try really
hard to set virtualbox back to known/healthy state before building.
In 8e2d06153b3d5ec1540fac1c8fbc97b5d2b58a8e I mistakenly/accidentally
a apt-get update.
As
https://wiki.debian.org/Multiarch/HOWTO
explains, apt-get update is needed after adding a new architecture.
Create a new minimal 'debianbase' definition which is a veewee template
that's a lot like the systemvmtemplate, but does not have any
systemvm-ness in it. Use it to create a new test.sh which tests a few
common invocations of build.sh work as desired.
This is mainly useful for debugging whether the appliance build process
is working / consistent; in order to test a systemvm itself it should
really first be merged with systemvm.iso.
The current build downloads its script from master by fetching a cloudstack
tarball. Besides being an unneeded load on the apache git server, this is a
problem when working on a branch and wanting to inject a different set of
scripts. It also makes it pretty likely that the injected copy of the script
will not match what a production release wants, so there is very little
chance of not needing to overwrite the scripts.
Ideally we would just rsync over some files. However, veewee does not provide
an option to do that. In order to keep a 'cleanly veewee-only' build possible,
and work with any recent veewee version, in this change we restor to using
shar (http://en.wikipedia.org/wiki/Shar) to produce an archive which can
execute as a script, which we feed to veewee to execute.
When working on the systemvm in isolation, or using vagrant or similar tools,
it can be useful to inject a custom SSH key before merging a management server
systemvm.iso into it. This option allows that. It should _not_ have effect
on management-server-managed vms which always get their SSH keys injected.
In particular, this refactoring allows the use of 'set -e' to exit early on
error. Previously the script would continue for a while when encountering a
problem, stuttering sometimes to (almost) completion, producing partial or
no results.
Added a bash on EXIT trap which runs add_on_exit cleanup code in the reverse
order it was specified. Resource cleanup is now co-located with resource
definition.
Added color-coded logging.
Made most of the hypervisor-specific exports optional. This script now
works on Mac OS X.
Added a bunch of possible arguments / environment variables, see the new usage
function for details (or run ./build.sh help).
Creates a new template with a unique name on every invocation, resulting in a
new virtualbox instance with a unique name. This makes it possible to build
multiple boxes at the same time, in parallel (including for example on a
multiuser box), and reduces the chance of failed build results conflicting
with each other.
Inject the version given on the command line (if any) into the created image.
In theory this _could_ have changed behavior (apt coming up with a different
solution, or one of the packages configuring a new apt repository), but in my
testing, the end result is the same.
Had to change various things to make this code re-entrant. In particular,
the sed-based manipulation of /etc/sudoers is gone and replaced with a
simpler, minimal (but compatible) sudoers file.
Remove the sshd_config tuning since sshd_config is overwritten when we
apply the cloud_scripts overlay (from build.sh).
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
This commit modifies insert statements to use the insert on duplicate update
syntax to update configuration table name, values in case primary key already
exists
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
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
PrepareForMigrationCommand, so that destination hypervisor can
mount pool. This further exposed an issue for KVM where iso
was not getting cleaned up upon successful migration, fixed as well.
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>
Detail: Previously the cloud user has full password-less sudo access.
This commit changes that to only allow access to a specific list of
commands. Been tested in production on ACS 4.0 and 4.2 mangement servers.
BUG-ID: CLOUDSTACK-967
Bugfix-for:
Reviewed-by:
Reported-by:
Signed-off-by: John Kinsella <jlk@stratosec.co> 1382560936 -0700
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>
And wondering why they are included here and not in the systemvm.iso.
Also giving the systemvm a little more space to fix the out-of-diskspace error during the build
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>
After some discussion on the dev ML[1], we decided to move tools/cli which
contained cloudmonkey to a new git repository [2]. We did that by retaining
its history. In this commit, we remove tools/cli and add information on where
to find cloudmonkey. This is help us speed up cloudmonkey's development and
releases, now that with ApiDiscovery it's completely independent of any other
CloudStack modules.
[1] http://markmail.org/message/tjlr753xfhpw4uk4
[2] https://git-wip-us.apache.org/repos/asf?p=cloudstack-cloudmonkey.git
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
- add a test page for the http service
- startup on boot
- configure iptables port :80
- cleanup iso files
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>
This appliance will be used for testing purposes only. The appliance
will replace the built-in in a test environment before deployment.
Some of the integration tests require specific services running within
guests to test for cloudstack features. Eg: VPC LB needs an httpd server
running. When we need to customize the template this appliance can be
used instead of having custom templates for each test.
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)
This allows a template of a snapshot operation
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 337811dd810e413238a012381ae1c84d1e1fac7c)
Filter the detail map sent over the wire into Map<String, String> before
processing underneath by storage life cycle
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
vmware dc can be mapped to the zone after CLOUDSTACK-1963. include
support in marvin for adding the vmwaredc.
vmwaredc : {
name:
username:
vcenter:
password:
zoneid:
}
Will be sent during pod creation before cluster creation.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Debian released 7.1 and moved the old image to archives. Updated with
the archives link to the -netinst image.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
isFreeZone is actually a test for whether the zone is a pure advanced
zone or an advanced zone with security groups. Renaming the var and
fixing the typo introduced by a65d21.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Changing the sandbox scripts and the marvin-checkin-test configurations
to include the required 'provider' argument when adding an image store
(secondary storage)
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
enabled by default. Running regular nosetests with plugins other than
marvin will fail because of this. Failure manifests itself as nose
looking for the config file when using the marivn-nose plugin
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
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>
This fix removes junk from 6e22843acb which was
supposed to just improve error messages and not messup the whole async block
logic and go into an infinite recursion or fail with some key error.
Signed-off-by: Rohit Yadav <rohit.yadav@wingify.com>
When both systemvmtemplate64 and systemvmtemplate are present the grep
match fails and returns (non-deterministically) the 64bit appliance
instead of the 32bit one. Fix this by matching the path separater as
well.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Refactoring the internal lb test to use the marvin libraries. Also added
reqd methods for the internal lb related APIs into integration.lib
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Discovery plugin will detect APIs from pluggable services and map them
to those in commands.properties. Including the latter to complete the
mapping so listApis now returns these APIs.
Also included fix for API docs.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
This feature allows a user to deploy VMs only in the resources dedicated to his account or domain.
1. Resources(Zones, Pods, Clusters or hosts) can be dedicated to an account or domain.
Implemented 12 new APIs to dedicate/list/release resources:
- dedicateZone, listDedicatedZones, releaseDedicatedZone for a Zone.
- dedicatePod, listDedicatedPods, releaseDedicatedPod for a Pod.
- dedicateCluster, listDedicatedClusters, releaseDedicatedCluster for a Cluster
- dedicateHost, listDedicatedHosts, releaseDedicatedHost for a Host.
2. Once a resource(eg. pod) is dedicated to an account, other resources(eg. clusters/hosts) inside that cannot be further dedicated.
3. Once a resource is dedicated to a domain, other resources inside that can be further dedicated to its sub-domain or account.
4. If any resource (eg.cluster) is dedicated to a account/domain, then resources(eg. Pod) above that cannot be dedicated to different accounts/domain (not belonging to the same domain)
5. To use Explicit dedication, user needs to create an Affinity Group of type 'ExplicitDedication'
6. A VM can be deployed with the above affinity group parameter as an input.
7. A new ExplicitDedicationProcessor has been added which will process the affinity group of type 'Explicit Dedication' for a deployment of a VM that demands dedicated resources.
This processor implements the AffinityGroupProcessor adapter. This processor will update the avoid list.
8. A VM requesting dedication will be deployed on dedicatd resources if available with the user account.
9. A VM requesting dedication can also be deployed on the dedicated resources available with the parent domains iff no dedicated resources are available with the current user's account or
domain.
10. A VM (without dedication) can be deployed on shared host but not on dedicated hosts.
11. To modify the dedication, the resource has to be released first.
12. Existing Private zone functionality has been redirected to Explicit dedication of zones.
13. Updated the db upgrade schema script. A new table "dedicated_resources" has been added.
14. Added the right permissions in commands.properties
15. Unit tests: For the new APIs and Service, added unit tests under : plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/DedicatedApiUnitTest.java
16. Marvin Test: To dedicate host, create affinity group, deploy-vm, check if vm is deployed on the dedicated host.
On 2.6 response.json returns the JSOn in the response while on 2.7
response.json() is a method. Since Marvin installs on both platforms
fixing the error appropriately
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Description:
This patch includes three parts for advancedsg:
(1) Marvin support.
(2) devcloud support.
(3) integration test scripts
Testing Done:
devcloud testing ok.
Signed-off-by: Anthony Xu <anthony.xu@citrix.com>