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>
Squashed commit of the following:
commit f244f9ce7982db16984dd87c31545f1c0240c704
Merge: 993cbb0 f5c8e38
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Mon May 20 18:54:05 2013 +0530
Merge branch 'master' into portablepublicip
Conflicts:
server/src/com/cloud/server/ManagementServerImpl.java
server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java
commit 993cbb0df9fa6e64b96b18ed775b73cdf4a8f5d7
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Mon May 20 18:49:54 2013 +0530
introduce 'transferPortableIP' interface method in network manger. This
method will transfer association of portable ip from one network to
another network.
commit 0c1c2652c1b39e9a81ca35464360e11ed9ef23f1
Merge: a718d35a29e393
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Fri May 17 02:48:54 2013 +0530
Merge branch 'master' into portablepublicip
Conflicts:
utils/src/com/cloud/utils/net/NetUtils.java
commit a718d353f7
Merge: ecca117c211818
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Mon May 13 21:22:19 2013 +0530
Merge branch 'master' into portablepublicip
Conflicts:
api/src/org/apache/cloudstack/api/ResponseGenerator.java
server/src/com/cloud/api/ApiResponseHelper.java
server/src/com/cloud/network/NetworkServiceImpl.java
server/src/com/cloud/network/addr/PublicIp.java
server/src/com/cloud/server/ManagementServerImpl.java
server/test/com/cloud/network/MockNetworkManagerImpl.java
server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
server/test/com/cloud/vpc/MockNetworkManagerImpl.java
setup/db/db/schema-410to420.sql
commit ecca117e34
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Mon May 13 20:05:29 2013 +0530
added integration tests for testing portable ip ranges
commit 895a27c277
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Mon May 13 15:12:19 2013 +0530
- establish model for transferring portable IP association from a network
with which it is associated to another network.
- enabling static nat api, extended to transfer potrtable IP across the
networks if the VM/network is different from the current associate
network of the portable ip
commit 51509751b2
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Mon May 13 12:05:33 2013 +0530
seperate out associate/disassociate with guest network operations from
alloc and release of portable ip
commit bd058f58c2
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Sun May 12 21:14:48 2013 +0530
enhance disasociateIPAddr API to release protable IP associated with a
guest network or VPC
commit 27504d9098
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Sun May 12 16:53:45 2013 +0530
enhance asociateIPAddr API to acquire a protable IP and associate with a
guest network or VPC
commit f82c6a8431
Merge: 3dbfb440749013
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Sat May 11 23:32:13 2013 +0530
Merge branch 'master' into portablepublicip
Conflicts:
api/src/com/cloud/network/IpAddress.java
api/src/org/apache/cloudstack/api/ResponseGenerator.java
client/tomcatconf/commands.properties.in
server/src/com/cloud/api/ApiResponseHelper.java
server/src/com/cloud/configuration/ConfigurationManagerImpl.java
server/src/com/cloud/server/ManagementServerImpl.java
server/test/org/apache/cloudstack/affinity/AffinityApiTestConfiguration.java
server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java
setup/db/db/schema-410to420.sql
commit 3dbfb44eb5
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Sat May 11 20:33:19 2013 +0530
- add 'portable' boolean as property of IpAddress, persist the property in
IPAddressVO, return the property in IpAddressResponse
- add ability to request portable IP in associateIpAddress api
commit bf3cb274cf
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Sat May 11 16:08:40 2013 +0530
add the status of each portable IP (its state, details of associated data
center/VPC/guest network etc) in the PortableIpRangeResponse returned by
listPortableIpRanges API
commit e7b2fb2255
Author: Murali Reddy <muralimmreddy@gmail.com>
Date: Sat May 11 14:36:01 2013 +0530
Introdcues notion of 'portable IP' pool at region level.
Introduces root admin only API's to provision portable ip to a region
- createPortableIpRange
- deletePortableIpRange
- listPortableIpRanges
cloudConnection object should always have "user" and "passwd" attributes.
And they are "None" while creating userAPIClient. As we already
have "user" and "password" for mgmt server.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
1. A new implicit planner which extends the functionality provided by FirstFitPlanner.
2. Implicit planner can be used in either strict or preferred mode. In strict mode it tries to deploy a vm of a given account on a host on which vms of the account are already running. If no such host is found it'll search for an empty host to service the request. Otherwise the deploy vm request fails.
3. In preferred mode, if a host which is running vms of the account or an empty host isn't found, the planner then tries to deploy on any other host provided it isn't running implicitly dedicated strict vms of any other account.
4. Updated the createServiceOffering api to configure the details for the planner that the service offering is using.
5. Made db changes to store the service offering details for the planner.
6. Unit tests for testing the implicit planner functionality.
7. Marvin test for validating the functionality.
- Changes merged from planner_reserve branch
- Exposing deploymentplanner as an optional parameter while creating a service offering
- changes to DeploymentPlanningManagerImpl to make sure host reserve-release happens between conflicting planner usages.