You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ta...@apache.org on 2015/04/08 09:10:07 UTC
[1/2] git commit: updated refs/heads/master to 974c564
Repository: cloudstack
Updated Branches:
refs/heads/master 096d1b93b -> 974c56423
added two test case related to restore VM functionality
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/433e6a2b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/433e6a2b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/433e6a2b
Branch: refs/heads/master
Commit: 433e6a2bd4634f3a1ce8525ccd5601b7e27190b7
Parents: 096d1b9
Author: shweta agarwal <sh...@citrix.com>
Authored: Mon Mar 16 12:55:41 2015 +0530
Committer: shweta agarwal <sh...@citrix.com>
Committed: Tue Apr 7 11:16:20 2015 +0530
----------------------------------------------------------------------
.../component/test_escalations_instances.py | 371 +++++-
tools/marvin/marvin/config/test_data.py | 1174 ++++++++++--------
2 files changed, 988 insertions(+), 557 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/433e6a2b/test/integration/component/test_escalations_instances.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_escalations_instances.py b/test/integration/component/test_escalations_instances.py
index 4b22016..3cd65f7 100644
--- a/test/integration/component/test_escalations_instances.py
+++ b/test/integration/component/test_escalations_instances.py
@@ -16,27 +16,11 @@
# under the License.
# Import Local Modules
-from marvin.cloudstackTestCase import cloudstackTestCase, unittest
-from marvin.lib.utils import cleanup_resources, validateList
-from marvin.lib.base import (Account,
- ServiceOffering,
- NetworkOffering,
- Network,
- VirtualMachine,
- SecurityGroup,
- DiskOffering,
- Resources,
- Iso,
- Configurations,
- SSHKeyPair,
- Volume,
- VmSnapshot,
- Zone)
-from marvin.lib.common import (get_zone,
- get_template,
- get_domain,
- find_storage_pool_type)
-from marvin.codes import PASS
+from marvin.cloudstackTestCase import cloudstackTestCase
+from marvin.lib.utils import *
+from marvin.lib.common import *
+from marvin.lib.base import *
+from marvin.sshClient import SshClient
from nose.plugins.attrib import attr
@@ -2192,6 +2176,348 @@ class TestInstances(cloudstackTestCase):
(exp_val, act_val))
return return_flag
+ @attr(tags=["Xenserver"], required_hardware="false")
+ def test_27_VM_restore_ES3467(self):
+ """
+ @Desc:Test to verify order of root and data disk remains same on Xenserver after VM reset
+ @Steps :
+ 1.Create VM with data disk from Windows template
+ 5.check disk sequence on hypervisor: 1st = root disk, 2nd = data disk
+ 6. Issue "reset VM" command on CCP
+ 7. check disk sequence on hypervisor remains same and VM starts successfully
+ """
+ try:
+ template = Template.register(self.apiClient,
+ self.services["Windows 7 (64-bit)"],
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.domain.id)
+
+ self.debug(
+ "Registered a template of format: %s with ID: %s" % (
+ self.services["Windows 7 (64-bit)"]["format"],
+ template.id
+ ))
+ template.download(self.apiClient)
+ self.cleanup.append(template)
+ # Wait for template status to be changed across
+ time.sleep(self.services["sleep"])
+ timeout = self.services["timeout"]
+ while True:
+ list_template_response = Template.list(
+ self.apiClient,
+ templatefilter='all',
+ id=template.id,
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.account.domainid)
+ if isinstance(list_template_response, list):
+ break
+ elif timeout == 0:
+ raise Exception("List template failed!")
+
+ time.sleep(5)
+ timeout -= 1
+ # Verify template response to check whether template added successfully
+ self.assertEqual(
+ isinstance(list_template_response, list),
+ True,
+ "Check for list template response return valid data"
+ )
+
+ self.assertNotEqual(
+ len(list_template_response),
+ 0,
+ "Check template available in List Templates"
+ )
+
+ template_response = list_template_response[0]
+ self.assertEqual(
+ template_response.isready,
+ True,
+ "Template state is not ready, it is %s" % template_response.isready
+ )
+ disk_offering = DiskOffering.create(
+ self.api_client,
+ self.services["disk_offering"]
+ )
+ self.cleanup.append(disk_offering)
+ # Deploy new virtual machine using template
+ virtual_machine = VirtualMachine.create(
+ self.apiClient,
+ self.services["virtual_machine"],
+ templateid=template.id,
+ accountid=self.account.name,
+ domainid=self.account.domainid,
+ serviceofferingid=self.service_offering.id,
+ diskofferingid=disk_offering.id
+ )
+ self.debug("creating an instance with template ID: %s" % template.id)
+ vm_response = VirtualMachine.list(self.apiClient,
+ id=virtual_machine.id,
+ account=self.account.name,
+ domainid=self.account.domainid)
+ self.assertEqual(
+ isinstance(vm_response, list),
+ True,
+ "Check for list VMs response after VM deployment"
+ )
+ # Verify VM response to check whether VM deployment was successful
+ self.assertNotEqual(
+ len(vm_response),
+ 0,
+ "Check VMs available in List VMs response"
+ )
+ vm = vm_response[0]
+ self.assertEqual(
+ vm.state,
+ 'Running',
+ "Check the state of VM created from Template"
+ )
+ self.cleanup.append(virtual_machine)
+ list_volume_response = Volume.list(
+ self.apiClient,
+ virtualmachineid=virtual_machine.id,
+ type='ROOT',
+ listall=True
+ )
+ cmd = "xe vbd-list vm-name-label=" + virtual_machine.instancename + " vdi-name-label=" + \
+ list_volume_response[0].name + " userdevice=0 --minimal"
+ hosts = Host.list(self.apiClient, id=virtual_machine.hostid)
+ self.assertEqual(
+ isinstance(hosts, list),
+ True,
+ "Check list host returns a valid list")
+ host = hosts[0]
+ if self.hypervisor.lower() in ('xenserver'):
+ #
+ # host.user, host.passwd = get_host_credentials(self, host.ipaddress)
+ ssh = SshClient(host.ipaddress, 22, "root", "password")
+ result = ssh.execute(cmd)
+ res = str(result)
+ self.assertNotEqual(res, "", "root disk should have user device=0")
+
+ self.debug("Restoring the VM: %s" % virtual_machine.id)
+ # Restore VM
+ virtual_machine.restore(self.apiClient, template.id)
+ vm_response = VirtualMachine.list(
+ self.apiClient,
+ id=virtual_machine.id,
+ )
+ hosts = Host.list(self.apiClient, id=virtual_machine.hostid)
+ self.assertEqual(
+ isinstance(hosts, list),
+ True,
+ "Check list host returns a valid list")
+ host = hosts[0]
+ if self.hypervisor.lower() in 'xenserver':
+ #
+ # host.user, host.passwd = get_host_credentials(self, host.ipaddress)
+ ssh = SshClient(host.ipaddress, 22, "root", "password")
+ result = ssh.execute(cmd)
+ res = str(result)
+ self.assertNotEqual(res, "", "root disk should have user device=0")
+
+ #
+ # Verify VM response to check whether VM deployment was successful
+ self.assertNotEqual(
+ len(vm_response),
+ 0,
+ "Check VMs available in List VMs response"
+ )
+ self.assertEqual(
+ isinstance(vm_response, list),
+ True,
+ "Check list VM response for valid list"
+ )
+ vm = vm_response[0]
+ self.assertEqual(
+ vm.state,
+ 'Running',
+ "Check the state of VM"
+ )
+ except Exception as e:
+ self.fail("Exception occurred: %s" % e)
+ return
+
+ @attr(tags=["Xenserver"], required_hardware="false")
+ def test_28_VM_restore_ES3467(self):
+ """
+ @Desc:Test to verify order of root and data disk remains same on Xenserver after VM reset
+ @Steps :
+ 1.Create VM from Centos template
+ 3.Add data disk to VM
+ 5.check disk sequence on hypervisor: 1st = root disk, 2nd = data disk
+ 6. Issue "reset VM" command on CCP
+ 7. check disk sequence on hypervisor remains same and VM starts successfully
+ """
+ try:
+ # Deploy new virtual machine using template
+ virtual_machine = VirtualMachine.create(
+ self.apiClient,
+ self.services["virtual_machine"],
+ accountid=self.account.name,
+ domainid=self.account.domainid,
+ serviceofferingid=self.service_offering.id
+
+ )
+ self.cleanup.append(virtual_machine)
+ self.debug("creating an instance with template ID: %s" % self.template.id)
+ vm_response = VirtualMachine.list(self.apiClient,
+ id=virtual_machine.id,
+ account=self.account.name,
+ domainid=self.account.domainid)
+ self.assertEqual(
+ isinstance(vm_response, list),
+ True,
+ "Check for list VMs response after VM deployment"
+ )
+ # Verify VM response to check whether VM deployment was successful
+ self.assertNotEqual(
+ len(vm_response),
+ 0,
+ "Check VMs available in List VMs response"
+ )
+ vm = vm_response[0]
+ self.assertEqual(
+ vm.state,
+ 'Running',
+ "Check the state of VM created from Template"
+ )
+ disk_offering = DiskOffering.create(
+ self.api_client,
+ self.services["disk_offering"]
+ )
+ self.cleanup.append(disk_offering)
+ volume = Volume.create(
+ self.apiClient,
+ self.services["volume"],
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ diskofferingid=disk_offering.id
+ )
+ self.cleanup.append(volume)
+ # Check List Volume response for newly created volume
+ list_volume_response = Volume.list(
+ self.apiClient,
+ id=volume.id
+ )
+ self.assertNotEqual(
+ list_volume_response,
+ None,
+ "Check if volume exists in ListVolumes"
+ )
+ # Attach volume to VM
+ virtual_machine.attach_volume(
+ self.apiClient,
+ volume
+ )
+ # Check volumes attached to same VM
+ list_volume_response = Volume.list(
+ self.apiClient,
+ virtualmachineid=virtual_machine.id,
+ type='DATADISK',
+ listall=True
+ )
+
+ self.assertNotEqual(
+ list_volume_response,
+ None,
+ "Check if volume exists in ListVolumes")
+ self.assertEqual(
+ isinstance(list_volume_response, list),
+ True,
+ "Check list volumes response for valid list")
+ list_volume_response = Volume.list(
+ self.apiClient,
+ virtualmachineid=virtual_machine.id,
+ type='ROOT',
+ listall=True
+ )
+ cmd = "xe vbd-list vm-name-label=" + virtual_machine.instancename + " vdi-name-label=" + \
+ list_volume_response[0].name + " userdevice=0 --minimal"
+ hosts = Host.list(self.apiClient, id=virtual_machine.hostid)
+ self.assertEqual(
+ isinstance(hosts, list),
+ True,
+ "Check list host returns a valid list")
+ host = hosts[0]
+ if self.hypervisor.lower() in ('xenserver'):
+ #
+ # host.user, host.passwd = get_host_credentials(self, host.ipaddress)
+ ssh = SshClient(host.ipaddress, 22, "root", "password")
+ result = ssh.execute(cmd)
+ res = str(result)
+ self.assertNotEqual(res, "", "root disk should have user device=0")
+
+ # Stop VM
+ virtual_machine.stop(self.apiClient)
+
+ self.debug("Restoring the VM: %s" % virtual_machine.id)
+ # Restore VM
+ virtual_machine.restore(self.apiClient, self.template.id)
+ vm_response = VirtualMachine.list(
+ self.apiClient,
+ id=virtual_machine.id,
+ )
+ # Verify VM response to check whether VM deployment was successful
+ self.assertNotEqual(
+ len(vm_response),
+ 0,
+ "Check VMs available in List VMs response"
+ )
+ self.assertEqual(
+ isinstance(vm_response, list),
+ True,
+ "Check list VM response for valid list"
+ )
+ vm = vm_response[0]
+ self.assertEqual(
+ vm.state,
+ 'Stopped',
+ "Check the state of VM"
+ )
+ # Start VM
+ virtual_machine.start(self.apiClient)
+ # Sleep to ensure that VM is in ready state
+ time.sleep(self.services["sleep"])
+ if self.hypervisor.lower() in 'xenserver':
+ #
+ # host.user, host.passwd = get_host_credentials(self, host.ipaddress)
+ ssh = SshClient(host.ipaddress, 22, "root", "password")
+ result = ssh.execute(cmd)
+ res = str(result)
+ self.assertNotEqual(res, "", "root disk should have user device=0")
+
+ vm_response = VirtualMachine.list(
+ self.apiClient,
+ id=virtual_machine.id,
+ )
+ self.assertEqual(
+ isinstance(vm_response, list),
+ True,
+ "Check list VM response for valid list"
+ )
+
+ # Verify VM response to check whether VM deployment was successful
+ self.assertNotEqual(
+ len(vm_response),
+ 0,
+ "Check VMs available in List VMs response"
+ )
+
+ vm = vm_response[0]
+ self.assertEqual(
+ vm.state,
+ 'Running',
+ "Check the state of VM"
+ )
+ except Exception as e:
+ self.fail("Exception occurred: %s" % e)
+ return
+
+
@attr(tags=["advanced", "basic"], required_hardware="true")
def test_13_attach_detach_iso(self):
"""
@@ -4059,3 +4385,6 @@ class TestInstances(cloudstackTestCase):
"Warning: Exception in expunging vms vm3 and vm4 : %s" %
e)
return
+
+
+
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/433e6a2b/tools/marvin/marvin/config/test_data.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/config/test_data.py b/tools/marvin/marvin/config/test_data.py
index bda57a3..6ebf09e 100644
--- a/tools/marvin/marvin/config/test_data.py
+++ b/tools/marvin/marvin/config/test_data.py
@@ -6,7 +6,7 @@
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
@@ -25,7 +25,7 @@ test_data = {
"hypervisor": "XenServer",
"deleteDC": True,
"vdomain": {
- "name": "domain"
+ "name": "domain"
},
"domain": {"name": "domain"},
"email": "test@test.com",
@@ -38,7 +38,7 @@ test_data = {
"isportable": "true",
"project": {
- "name": "Project",
+ "name": "Project",
"displaytext": "Test project"
},
"publiciprange": {
@@ -51,11 +51,11 @@ test_data = {
"zoneid": ""
},
"private_gateway": {
- "ipaddress": "172.16.1.2",
- "gateway": "172.16.1.1",
- "netmask": "255.255.255.0",
- "vlan":"10",
- "name":"test_private_gateway"
+ "ipaddress": "172.16.1.2",
+ "gateway": "172.16.1.1",
+ "netmask": "255.255.255.0",
+ "vlan": "10",
+ "name": "test_private_gateway"
},
"account": {
"email": "test-account@test.com",
@@ -151,6 +151,22 @@ test_data = {
"hosttags": "vmsync",
},
},
+ "service_offering_h1": {
+ "name": "Tagged h1 Small Instance",
+ "displaytext": "Tagged h1 Small Instance",
+ "cpunumber": 1,
+ "cpuspeed": 100,
+ "memory": 256,
+ "hosttags": "h1"
+ },
+ "service_offering_h2": {
+ "name": "Tagged h2 Small Instance",
+ "displaytext": "Tagged h2 Small Instance",
+ "cpunumber": 1,
+ "cpuspeed": 100,
+ "memory": 256,
+ "hosttags": "h2"
+ },
"disk_offering": {
"name": "Disk offering",
"displaytext": "Disk offering",
@@ -161,6 +177,16 @@ test_data = {
"name": "Resized",
"disksize": 3
},
+ 'disk_offering_shared_5GB': {
+ "displaytext": "disk_offering_shared_5GB",
+ "name": "disk_offering_shared_5GB",
+ "disksize": 5
+ },
+ 'disk_offering_shared_15GB': {
+ "displaytext": "disk_offering_shared_5GB",
+ "name": "disk_offering_shared_5GB",
+ "disksize": 15
+ },
"network": {
"name": "Test Network",
"displaytext": "Test Network",
@@ -184,30 +210,30 @@ test_data = {
"traffictype": 'GUEST',
"availability": 'Optional',
"serviceProviderList": {
- "Dhcp": 'VirtualRouter',
+ "Dhcp": 'VirtualRouter',
"Dns": 'VirtualRouter',
"SourceNat": 'VirtualRouter',
"PortForwarding": 'VirtualRouter',
},
},
"nw_off_isolated_netscaler": {
- "name": 'Netscaler',
- "displaytext": 'Netscaler',
- "guestiptype": 'Isolated',
- "supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat',
- "traffictype": 'GUEST',
- "availability": 'Optional',
- "serviceProviderList": {
- "Dhcp": 'VirtualRouter',
- "Dns": 'VirtualRouter',
- "SourceNat": 'VirtualRouter',
- "PortForwarding": 'VirtualRouter',
- "Vpn": 'VirtualRouter',
- "Firewall": 'VirtualRouter',
- "Lb": 'Netscaler',
- "UserData": 'VirtualRouter',
- "StaticNat": 'VirtualRouter',
- },
+ "name": 'Netscaler',
+ "displaytext": 'Netscaler',
+ "guestiptype": 'Isolated',
+ "supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat',
+ "traffictype": 'GUEST',
+ "availability": 'Optional',
+ "serviceProviderList": {
+ "Dhcp": 'VirtualRouter',
+ "Dns": 'VirtualRouter',
+ "SourceNat": 'VirtualRouter',
+ "PortForwarding": 'VirtualRouter',
+ "Vpn": 'VirtualRouter',
+ "Firewall": 'VirtualRouter',
+ "Lb": 'Netscaler',
+ "UserData": 'VirtualRouter',
+ "StaticNat": 'VirtualRouter',
+ },
},
"nw_off_isolated_persistent": {
"name": 'Test Nw off isolated persistent',
@@ -218,7 +244,7 @@ test_data = {
"ispersistent": 'True',
"availability": 'Optional',
"serviceProviderList": {
- "Dhcp": 'VirtualRouter',
+ "Dhcp": 'VirtualRouter',
"Dns": 'VirtualRouter',
"SourceNat": 'VirtualRouter',
"PortForwarding": 'VirtualRouter',
@@ -237,7 +263,7 @@ test_data = {
"Dns": 'VirtualRouter',
"SourceNat": 'VirtualRouter',
"PortForwarding": 'VirtualRouter',
- "Lb": "VirtualRouter"
+ "Lb": "VirtualRouter"
},
},
"isolated_network_offering": {
@@ -245,11 +271,11 @@ test_data = {
"displaytext": "Network offering-DA services",
"guestiptype": "Isolated",
"supportedservices":
- "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat",
+ "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat",
"traffictype": "GUEST",
"availability": "Optional'",
"serviceProviderList": {
- "Dhcp": "VirtualRouter",
+ "Dhcp": "VirtualRouter",
"Dns": "VirtualRouter",
"SourceNat": "VirtualRouter",
"PortForwarding": "VirtualRouter",
@@ -260,34 +286,34 @@ test_data = {
"StaticNat": "VirtualRouter"
}
},
- "network_offering_vlan": {
- "name": 'Test Network offering',
- "displaytext": 'Test Network offering',
- "guestiptype": 'Isolated',
- "supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding',
- "traffictype": 'GUEST',
- "specifyvlan": 'False',
- "availability": 'Optional',
- "serviceProviderList" : {
- "Dhcp": 'VirtualRouter',
- "Dns": 'VirtualRouter',
- "SourceNat": 'VirtualRouter',
- "PortForwarding": 'VirtualRouter',
- },
- },
- "network_offering_without_sourcenat": {
- "name": 'Test Network offering',
- "displaytext": 'Test Network offering',
- "guestiptype": 'Isolated',
- "supportedservices": 'Dhcp,Dns,UserData',
- "traffictype": 'GUEST',
- "availability": 'Optional',
- "serviceProviderList" : {
- "Dhcp": 'VirtualRouter',
- "Dns": 'VirtualRouter',
- "UserData": 'VirtualRouter',
- },
- },
+ "network_offering_vlan": {
+ "name": 'Test Network offering',
+ "displaytext": 'Test Network offering',
+ "guestiptype": 'Isolated',
+ "supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding',
+ "traffictype": 'GUEST',
+ "specifyvlan": 'False',
+ "availability": 'Optional',
+ "serviceProviderList": {
+ "Dhcp": 'VirtualRouter',
+ "Dns": 'VirtualRouter',
+ "SourceNat": 'VirtualRouter',
+ "PortForwarding": 'VirtualRouter',
+ },
+ },
+ "network_offering_without_sourcenat": {
+ "name": 'Test Network offering',
+ "displaytext": 'Test Network offering',
+ "guestiptype": 'Isolated',
+ "supportedservices": 'Dhcp,Dns,UserData',
+ "traffictype": 'GUEST',
+ "availability": 'Optional',
+ "serviceProviderList": {
+ "Dhcp": 'VirtualRouter',
+ "Dns": 'VirtualRouter',
+ "UserData": 'VirtualRouter',
+ },
+ },
"isolated_network": {
"name": "Isolated Network",
"displaytext": "Isolated Network"
@@ -311,7 +337,7 @@ test_data = {
"network_without_acl": {
"name": "TestNetwork",
"displaytext": "TestNetwork",
- },
+ },
"virtual_machine": {
"displayname": "Test VM",
"username": "root",
@@ -377,31 +403,31 @@ test_data = {
"specifyIpRanges": "False",
"traffictype": "GUEST",
"serviceProviderList": {
- "Dhcp": "VirtualRouter",
+ "Dhcp": "VirtualRouter",
"Dns": "VirtualRouter",
"UserData": "VirtualRouter"
}
},
"shared_network_offering_all_services": {
- "name": "shared network offering with services enabled",
- "displaytext": "Shared network offering",
- "guestiptype": "Shared",
- "supportedservices": "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat",
- "specifyVlan": "False",
- "specifyIpRanges": "False",
- "traffictype": "GUEST",
- "serviceProviderList": {
- "Dhcp": "VirtualRouter",
- "Dns": "VirtualRouter",
- "UserData": "VirtualRouter",
- "SourceNat": "VirtualRouter",
- "PortForwarding": "VirtualRouter",
- "Vpn": "VirtualRouter",
- "Firewall": "VirtualRouter",
- "Lb": "VirtualRouter",
- "UserData": "VirtualRouter",
- "StaticNat": "VirtualRouter"
- }
+ "name": "shared network offering with services enabled",
+ "displaytext": "Shared network offering",
+ "guestiptype": "Shared",
+ "supportedservices": "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat",
+ "specifyVlan": "False",
+ "specifyIpRanges": "False",
+ "traffictype": "GUEST",
+ "serviceProviderList": {
+ "Dhcp": "VirtualRouter",
+ "Dns": "VirtualRouter",
+ "UserData": "VirtualRouter",
+ "SourceNat": "VirtualRouter",
+ "PortForwarding": "VirtualRouter",
+ "Vpn": "VirtualRouter",
+ "Firewall": "VirtualRouter",
+ "Lb": "VirtualRouter",
+ "UserData": "VirtualRouter",
+ "StaticNat": "VirtualRouter"
+ }
},
"shared_network_offering_sg": {
"name": "MySharedOffering-sg",
@@ -412,7 +438,7 @@ test_data = {
"specifyIpRanges": "False",
"traffictype": "GUEST",
"serviceProviderList": {
- "Dhcp": "VirtualRouter",
+ "Dhcp": "VirtualRouter",
"Dns": "VirtualRouter",
"UserData": "VirtualRouter",
"SecurityGroup": "SecurityGroupProvider"
@@ -434,19 +460,19 @@ test_data = {
"name": "VPC off",
"displaytext": "VPC off",
"supportedservices":
- "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Lb,UserData,StaticNat,NetworkACL"
+ "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Lb,UserData,StaticNat,NetworkACL"
},
"vpc": {
"name": "TestVPC",
"displaytext": "TestVPC",
"cidr": "10.0.0.1/24"
},
- "vpc_network_domain": {
- "name": "TestVPC",
- "displaytext": "TestVPC",
- "cidr": '10.0.0.1/24',
- "network_domain": "TestVPC"
- },
+ "vpc_network_domain": {
+ "name": "TestVPC",
+ "displaytext": "TestVPC",
+ "cidr": '10.0.0.1/24',
+ "network_domain": "TestVPC"
+ },
"clusters": {
0: {
"clustername": "Xen Cluster",
@@ -499,7 +525,7 @@ test_data = {
"specifyVlan": "True",
"specifyIpRanges": "True",
"serviceProviderList": {
- "Dhcp": 'VirtualRouter',
+ "Dhcp": 'VirtualRouter',
"Dns": 'VirtualRouter',
"UserData": 'VirtualRouter',
},
@@ -538,12 +564,12 @@ test_data = {
"displaytext": 'Network off-RVR services',
"guestiptype": 'Isolated',
"supportedservices":
- 'Vpn,Dhcp,Dns,SourceNat,PortForwarding,Firewall,Lb,UserData,StaticNat',
+ 'Vpn,Dhcp,Dns,SourceNat,PortForwarding,Firewall,Lb,UserData,StaticNat',
"traffictype": 'GUEST',
"ispersistent": 'True',
"availability": 'Optional',
"serviceProviderList": {
- "Vpn": 'VirtualRouter',
+ "Vpn": 'VirtualRouter',
"Dhcp": 'VirtualRouter',
"Dns": 'VirtualRouter',
"SourceNat": 'VirtualRouter',
@@ -656,7 +682,7 @@ test_data = {
"displaytext": 'Netscaler',
"guestiptype": 'Isolated',
"supportedservices":
- 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat',
+ 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat',
"traffictype": 'GUEST',
"ispersistent": 'True',
"availability": 'Optional',
@@ -673,22 +699,22 @@ test_data = {
},
},
- "network_acl_rule": {
- "protocol":"TCP",
- "traffictype":"ingress",
- "cidrlist":"0.0.0.0/0",
- "startport":"1",
- "endport":"1"
- },
+ "network_acl_rule": {
+ "protocol": "TCP",
+ "traffictype": "ingress",
+ "cidrlist": "0.0.0.0/0",
+ "startport": "1",
+ "endport": "1"
+ },
"network_offering_internal_lb": {
"name": "Network offering for internal lb service",
"displaytext": "Network offering for internal lb service",
"guestiptype": "Isolated",
"traffictype": "Guest",
"supportedservices":
- "Vpn,Dhcp,Dns,Lb,UserData,SourceNat,StaticNat,PortForwarding,NetworkACL",
+ "Vpn,Dhcp,Dns,Lb,UserData,SourceNat,StaticNat,PortForwarding,NetworkACL",
"serviceProviderList": {
- "Dhcp": "VpcVirtualRouter",
+ "Dhcp": "VpcVirtualRouter",
"Dns": "VpcVirtualRouter",
"Vpn": "VpcVirtualRouter",
"UserData": "VpcVirtualRouter",
@@ -723,18 +749,18 @@ test_data = {
"protocol": 'TCP'
},
"icmprule": {
- "icmptype":-1,
- "icmpcode":-1,
+ "icmptype": -1,
+ "icmpcode": -1,
"cidrlist": "0.0.0.0/0",
"protocol": "ICMP"
},
"iso": {
- "displaytext": "Test ISO",
- "name": "ISO",
- "url": "http://people.apache.org/~tsp/dummy.iso",
- "bootable": False,
- "ispublic": False,
- "ostype": "Other (64-bit)",
+ "displaytext": "Test ISO",
+ "name": "ISO",
+ "url": "http://people.apache.org/~tsp/dummy.iso",
+ "bootable": False,
+ "ispublic": False,
+ "ostype": "Other (64-bit)",
},
"iso1": {
"displaytext": "Test ISO 1",
@@ -776,6 +802,16 @@ test_data = {
"mode": "HTTP_DOWNLOAD",
"templatefilter": "self"
},
+ "Windows 7 (64-bit)": {
+ "displaytext": "Windows 7 (64-bit)",
+ "name": "Windows 7 (64-bit)",
+ "passwordenabled": False,
+ "url": "http://10.147.28.7/templates/windows7.vhd",
+ "format": "VHD",
+ "ostype": "Windows 7 (64-bit)",
+ "ispublic": "true",
+ "hypervisor": "XenServer"
+ },
"privatetemplate": {
"displaytext": "Public Template",
"name": "Public template",
@@ -836,20 +872,20 @@ test_data = {
"cidrlist": '0.0.0.0/0',
},
"vpncustomergateway": {
- "ipsecpsk": "secreatKey",
- "ikepolicy": "aes128-sha1",
- "ikelifetime": "86400",
- "esppolicy": "aes128-sha1",
- "epslifetime": "3600",
- "dpd": "false"
+ "ipsecpsk": "secreatKey",
+ "ikepolicy": "aes128-sha1",
+ "ikelifetime": "86400",
+ "esppolicy": "aes128-sha1",
+ "epslifetime": "3600",
+ "dpd": "false"
},
"vlan_ip_range": {
- "startip": "",
- "endip": "",
- "netmask": "",
- "gateway": "",
- "forvirtualnetwork": "false",
- "vlan": "untagged",
+ "startip": "",
+ "endip": "",
+ "netmask": "",
+ "gateway": "",
+ "forvirtualnetwork": "false",
+ "vlan": "untagged",
},
"ostype": "CentOS 5.6 (64-bit)",
"sleep": 90,
@@ -878,7 +914,7 @@ test_data = {
},
"iscsi": {
"url":
- "iscsi://192.168.100.21/iqn.2012-01.localdomain.clo-cstack-cos6:iser/1",
+ "iscsi://192.168.100.21/iqn.2012-01.localdomain.clo-cstack-cos6:iser/1",
"name": "Primary iSCSI"
},
"volume": {"diskname": "Test Volume",
@@ -967,14 +1003,14 @@ test_data = {
"sparse": {
"name": "Sparse Type Disk offering",
"displaytext":
- "Sparse Type Disk offering",
+ "Sparse Type Disk offering",
"disksize": 1, # in GB
"provisioningtype": "sparse"
},
"fat": {
"name": "Fat Type Disk offering",
"displaytext":
- "Fat Type Disk offering",
+ "Fat Type Disk offering",
"disksize": 1, # in GB
"provisioningtype": "fat"
},
@@ -988,151 +1024,151 @@ test_data = {
"name": "hostantiaffinity",
"type": "host anti-affinity",
},
- "vgpu":{
- "disk_offering":{
- "displaytext": "Small",
- "name": "Small",
- "disksize": 1
- },
- "templateregister1": {
- "displaytext": "win8withpv",
- "name": "win8withpv",
- "passwordenabled": False,
- "url": "http://pleaseupdateURL/dummy.vhd",
- "format": "VHD" ,
- "ostype": "Windows 8 (64-bit)",
- "ispublic": "true",
- "hypervisor": "XenServer"
- },
- "Windows 8 (64-bit)": {
- "displaytext": "Windows 8 (64-bit)",
- "name": "win8withpv",
- "passwordenabled": False,
- "url": "http://pleaseupdateURL/dummy.vhd",
- "format": "VHD" ,
- "ostype": "Windows 8 (64-bit)",
- "ispublic": "true",
- "hypervisor": "XenServer"
- },
- "Windows Server 2012 (64-bit)": {
- "displaytext": "Windows Server 2012 (64-bit)",
- "name": "Windows Server 2012 (64-bit)",
- "passwordenabled": False,
- "url": "http://pleaseupdateURL/dummy.vhd",
- "format": "VHD" ,
- "ostype": "Windows Server 2012 (64-bit)",
- "ispublic": "true",
- "hypervisor": "XenServer"
- },
+ "vgpu": {
+ "disk_offering": {
+ "displaytext": "Small",
+ "name": "Small",
+ "disksize": 1
+ },
+ "templateregister1": {
+ "displaytext": "win8withpv",
+ "name": "win8withpv",
+ "passwordenabled": False,
+ "url": "http://pleaseupdateURL/dummy.vhd",
+ "format": "VHD",
+ "ostype": "Windows 8 (64-bit)",
+ "ispublic": "true",
+ "hypervisor": "XenServer"
+ },
+ "Windows 8 (64-bit)": {
+ "displaytext": "Windows 8 (64-bit)",
+ "name": "win8withpv",
+ "passwordenabled": False,
+ "url": "http://pleaseupdateURL/dummy.vhd",
+ "format": "VHD",
+ "ostype": "Windows 8 (64-bit)",
+ "ispublic": "true",
+ "hypervisor": "XenServer"
+ },
+ "Windows Server 2012 (64-bit)": {
+ "displaytext": "Windows Server 2012 (64-bit)",
+ "name": "Windows Server 2012 (64-bit)",
+ "passwordenabled": False,
+ "url": "http://pleaseupdateURL/dummy.vhd",
+ "format": "VHD",
+ "ostype": "Windows Server 2012 (64-bit)",
+ "ispublic": "true",
+ "hypervisor": "XenServer"
+ },
- "Windows 7 (64-bit)": {
- "displaytext": "Windows 7 (64-bit)",
- "name": "Windows 7 (64-bit)",
- "passwordenabled": False,
- "url": "http://pleaseupdateURL/dummy.vhd",
- "format": "VHD" ,
- "ostype": "Windows 7 (64-bit)",
- "ispublic": "true",
- "hypervisor": "XenServer"
- },
- "clusters": {
+ "Windows 7 (64-bit)": {
+ "displaytext": "Windows 7 (64-bit)",
+ "name": "Windows 7 (64-bit)",
+ "passwordenabled": False,
+ "url": "http://pleaseupdateURL/dummy.vhd",
+ "format": "VHD",
+ "ostype": "Windows 7 (64-bit)",
+ "ispublic": "true",
+ "hypervisor": "XenServer"
+ },
+ "clusters": {
"clustername": "Xen Cluster Vgpu",
"clustertype": "CloudManaged",
"hypervisor": "XenServer"
- },
- "hosts": {
- "nonvgpuxenserver": {
- "hypervisor": 'XenServer',
- "clustertype": 'CloudManaged',
- "url": 'http://10.102.192.57',
- "username": "root",
- "password": "freebsd",
- },
- },
+ },
+ "hosts": {
+ "nonvgpuxenserver": {
+ "hypervisor": 'XenServer',
+ "clustertype": 'CloudManaged',
+ "url": 'http://10.102.192.57',
+ "username": "root",
+ "password": "freebsd",
+ },
+ },
"account": {
- "email": "test@test.com",
- "firstname": "Test",
- "lastname": "User",
- "username": "test",
- # Random characters are appended in create account to
- # ensure unique username generated each time
- "password": "password",
- },
- "vgpu260q": # Create a virtual machine instance with vgpu type as 260q
- {
- "displayname": "testserver",
- "username": "root", # VM creds for SSH
- "password": "password",
- "ssh_port": 22,
- "hypervisor": 'XenServer',
- "privateport": 22,
- "publicport": 22,
- "protocol": 'TCP',
- },
- "vgpu140q": # Create a virtual machine instance with vgpu type as 140q
- {
- "displayname": "testserver",
- "username": "root",
- "password": "password",
- "ssh_port": 22,
- "hypervisor": 'XenServer',
- "privateport": 22,
- "publicport": 22,
- "protocol": 'TCP',
- },
- "service_offerings":
- {
- "GRID K260Q":
- {
+ "email": "test@test.com",
+ "firstname": "Test",
+ "lastname": "User",
+ "username": "test",
+ # Random characters are appended in create account to
+ # ensure unique username generated each time
+ "password": "password",
+ },
+ "vgpu260q": # Create a virtual machine instance with vgpu type as 260q
+ {
+ "displayname": "testserver",
+ "username": "root", # VM creds for SSH
+ "password": "password",
+ "ssh_port": 22,
+ "hypervisor": 'XenServer',
+ "privateport": 22,
+ "publicport": 22,
+ "protocol": 'TCP',
+ },
+ "vgpu140q": # Create a virtual machine instance with vgpu type as 140q
+ {
+ "displayname": "testserver",
+ "username": "root",
+ "password": "password",
+ "ssh_port": 22,
+ "hypervisor": 'XenServer',
+ "privateport": 22,
+ "publicport": 22,
+ "protocol": 'TCP',
+ },
+ "service_offerings":
+ {
+ "GRID K260Q":
+ {
"name": "vGPU260Q",
"displaytext": "vGPU260Q",
"cpunumber": 2,
- "cpuspeed": 1600, # in MHz
- "memory": 3072, # In MBs
+ "cpuspeed": 1600, # in MHz
+ "memory": 3072, # In MBs
},
- "GRID K240Q":
- {
+ "GRID K240Q":
+ {
"name": "vGPU240Q",
"displaytext": "vGPU240Q",
"cpunumber": 2,
- "cpuspeed": 1600, # in MHz
- "memory": 3072, # In MBs
+ "cpuspeed": 1600, # in MHz
+ "memory": 3072, # In MBs
},
- "GRID K220Q":
- {
+ "GRID K220Q":
+ {
"name": "vGPU220Q",
"displaytext": "vGPU220Q",
"cpunumber": 2,
- "cpuspeed": 1600, # in MHz
- "memory": 3072, # In MBs
+ "cpuspeed": 1600, # in MHz
+ "memory": 3072, # In MBs
},
- "GRID K200":
- {
+ "GRID K200":
+ {
"name": "vGPU200",
"displaytext": "vGPU200",
"cpunumber": 2,
- "cpuspeed": 1600, # in MHz
- "memory": 3072, # In MBs
+ "cpuspeed": 1600, # in MHz
+ "memory": 3072, # In MBs
},
- "passthrough":
- {
+ "passthrough":
+ {
"name": "vGPU passthrough",
"displaytext": "vGPU passthrough",
"cpunumber": 2,
- "cpuspeed": 1600, # in MHz
- "memory": 3072, # In MBs
+ "cpuspeed": 1600, # in MHz
+ "memory": 3072, # In MBs
},
- "GRID K140Q":
+ "GRID K140Q":
{
- # Small service offering ID to for change VM
- # service offering from medium to small
+ # Small service offering ID to for change VM
+ # service offering from medium to small
"name": "vGPU140Q",
"displaytext": "vGPU140Q",
"cpunumber": 2,
"cpuspeed": 1600,
"memory": 3072,
},
- "GRID K120Q":
+ "GRID K120Q":
{
"name": "vGPU120Q",
"displaytext": "vGPU120Q",
@@ -1140,315 +1176,266 @@ test_data = {
"cpuspeed": 1600,
"memory": 3072,
},
- "GRID K100":
- {
+ "GRID K100":
+ {
"name": "vGPU100",
"displaytext": "vGPU100",
"cpunumber": 2,
"cpuspeed": 1600,
"memory": 3072,
- },
- "nonvgpuoffering":
- {
+ },
+ "nonvgpuoffering":
+ {
"name": "nonvgpuoffering",
"displaytext": "nonvgpuoffering",
"cpunumber": 2,
"cpuspeed": 1600,
"memory": 3072,
- }
+ }
},
- "diskdevice": ['/dev/vdc', '/dev/vdb', '/dev/hdb', '/dev/hdc', '/dev/xvdd', '/dev/cdrom', '/dev/sr0', '/dev/cdrom1' ],
- # Disk device where ISO is attached to instance
- "mount_dir": "/mnt/tmp",
- "sleep": 180,
- "timeout": 60,
- "ostype": 'Windows 8 (64-bit)',
- "nongpu_host_ip":"10.102.192.57"
- },
- "acl":{
- #data for domains and accounts
- "domain1": {
- "name": "D1",
- },
- "accountD1": {
- "email": "testD1@test.com",
- "firstname": "testD1",
- "lastname": "Admin",
- "username": "testD1",
- "password": "password",
- "accounttype": "1",
- },
- "accountD1A": {
- "email": "testD1A@test.com",
- "firstname": "testD1A",
- "lastname": "User",
- "username": "testD1A",
- "password": "password",
- },
- "accountD1B": {
- "email": "testD1B@test.com",
- "firstname": "testD1B",
- "lastname": "User",
- "username": "testD1B",
- "password": "password",
- },
- "domain11": {
- "name": "D11",
- },
- "accountD11": {
- "email": "testD11@test.com",
- "firstname": "testD11",
- "lastname": "Admin",
- "username": "testD11",
- "password": "password",
- "accounttype": "1",
- },
- "accountD11A": {
- "email": "testD11A@test.com",
- "firstname": "testD11A",
- "lastname": "User",
- "username": "testD11A",
- "password": "password",
- },
- "accountD11B": {
- "email": "test11B@test.com",
- "firstname": "testD11B",
- "lastname": "User",
- "username": "testD11B",
- "password": "password",
- },
- "domain111": {
- "name": "D111",
- },
- "accountD111": {
- "email": "testD111@test.com",
- "firstname": "testD111",
- "lastname": "Admin",
- "username": "testD111",
- "password": "password",
- },
- "accountD111A": {
- "email": "testD111A@test.com",
- "firstname": "testD111A",
- "lastname": "User",
- "username": "testD111A",
- "password": "password",
- },
- "accountD111B": {
- "email": "testD111B@test.com",
- "firstname": "testD111B",
- "lastname": "User",
- "username": "testD111B",
- "password": "password",
- },
- "domain12": {
- "name": "D12",
- },
- "accountD12A": {
- "email": "testD12A@test.com",
- "firstname": "testD12A",
- "lastname": "User",
- "username": "testD12A",
- "password": "password",
- },
- "accountD12B": {
- "email": "testD12B@test.com",
- "firstname": "testD12B",
- "lastname": "User",
- "username": "testD12B",
- "password": "password",
- },
- "domain2": {
- "name": "D2",
- },
- "accountD2": {
- "email": "testD2@test.com",
- "firstname": "testD2",
- "lastname": "User",
- "username": "testD2",
- "password": "password",
- "accounttype": "1",
- },
- "accountD2A": {
- "email": "testD2A@test.com",
- "firstname": "testD2A",
- "lastname": "User",
- "username": "testD2A",
- "password": "password",
- },
- "accountROOTA": {
- "email": "testROOTA@test.com",
- "firstname": "testROOTA",
- "lastname": "User",
- "username": "testROOTA",
- "password": "password",
- },
+ "diskdevice": ['/dev/vdc', '/dev/vdb', '/dev/hdb', '/dev/hdc', '/dev/xvdd', '/dev/cdrom', '/dev/sr0',
+ '/dev/cdrom1'],
+ # Disk device where ISO is attached to instance
+ "mount_dir": "/mnt/tmp",
+ "sleep": 180,
+ "timeout": 60,
+ "ostype": 'Windows 8 (64-bit)',
+ "nongpu_host_ip": "10.102.192.57"
+ },
+ "acl": {
+ #data for domains and accounts
+ "domain1": {
+ "name": "D1",
+ },
+ "accountD1": {
+ "email": "testD1@test.com",
+ "firstname": "testD1",
+ "lastname": "Admin",
+ "username": "testD1",
+ "password": "password",
+ "accounttype": "1",
+ },
+ "accountD1A": {
+ "email": "testD1A@test.com",
+ "firstname": "testD1A",
+ "lastname": "User",
+ "username": "testD1A",
+ "password": "password",
+ },
+ "accountD1B": {
+ "email": "testD1B@test.com",
+ "firstname": "testD1B",
+ "lastname": "User",
+ "username": "testD1B",
+ "password": "password",
+ },
+ "domain11": {
+ "name": "D11",
+ },
+ "accountD11": {
+ "email": "testD11@test.com",
+ "firstname": "testD11",
+ "lastname": "Admin",
+ "username": "testD11",
+ "password": "password",
+ "accounttype": "1",
+ },
+ "accountD11A": {
+ "email": "testD11A@test.com",
+ "firstname": "testD11A",
+ "lastname": "User",
+ "username": "testD11A",
+ "password": "password",
+ },
+ "accountD11B": {
+ "email": "test11B@test.com",
+ "firstname": "testD11B",
+ "lastname": "User",
+ "username": "testD11B",
+ "password": "password",
+ },
+ "domain111": {
+ "name": "D111",
+ },
+ "accountD111": {
+ "email": "testD111@test.com",
+ "firstname": "testD111",
+ "lastname": "Admin",
+ "username": "testD111",
+ "password": "password",
+ },
+ "accountD111A": {
+ "email": "testD111A@test.com",
+ "firstname": "testD111A",
+ "lastname": "User",
+ "username": "testD111A",
+ "password": "password",
+ },
+ "accountD111B": {
+ "email": "testD111B@test.com",
+ "firstname": "testD111B",
+ "lastname": "User",
+ "username": "testD111B",
+ "password": "password",
+ },
+ "domain12": {
+ "name": "D12",
+ },
+ "accountD12A": {
+ "email": "testD12A@test.com",
+ "firstname": "testD12A",
+ "lastname": "User",
+ "username": "testD12A",
+ "password": "password",
+ },
+ "accountD12B": {
+ "email": "testD12B@test.com",
+ "firstname": "testD12B",
+ "lastname": "User",
+ "username": "testD12B",
+ "password": "password",
+ },
+ "domain2": {
+ "name": "D2",
+ },
+ "accountD2": {
+ "email": "testD2@test.com",
+ "firstname": "testD2",
+ "lastname": "User",
+ "username": "testD2",
+ "password": "password",
+ "accounttype": "1",
+ },
+ "accountD2A": {
+ "email": "testD2A@test.com",
+ "firstname": "testD2A",
+ "lastname": "User",
+ "username": "testD2A",
+ "password": "password",
+ },
+ "accountROOTA": {
+ "email": "testROOTA@test.com",
+ "firstname": "testROOTA",
+ "lastname": "User",
+ "username": "testROOTA",
+ "password": "password",
+ },
- "accountROOT": {
- "email": "testROOTA@test.com",
- "firstname": "testROOT",
- "lastname": "admin",
- "username": "testROOT",
- "password": "password",
- },
- #data reqd for virtual machine creation
- "vmD1" : {
- "name" : "d1",
- "displayname" : "d1",
- },
- "vmD1A" : {
- "name" : "d1a",
- "displayname" : "d1a",
- },
- "vmD1B" : {
- "name" : "d1b",
- "displayname" : "d1b",
- },
- "vmD11" : {
- "name" : "d11",
- "displayname" : "d11",
- },
- "vmD11A" : {
- "name" : "d11a",
- "displayname" : "d11a",
- },
- "vmD11B" : {
- "name" : "d11b",
- "displayname" : "d11b",
- },
- "vmD111" : {
- "name" : "d111",
- "displayname" : "d111",
- },
- "vmD111A" : {
- "name" : "d111a",
- "displayname" : "d111a",
- },
- "vmD111B" : {
- "name" : "d111b",
- "displayname" : "d111b",
- },
- "vmD12A" : {
- "name" : "d12a",
- "displayname" : "d12a",
- },
- "vmD12B" : {
- "name" : "d12b",
- "displayname" : "d12b",
- },
- "vmD2A" : {
- "name" : "d2a",
- "displayname" : "d2a",
- },
+ "accountROOT": {
+ "email": "testROOTA@test.com",
+ "firstname": "testROOT",
+ "lastname": "admin",
+ "username": "testROOT",
+ "password": "password",
+ },
+ #data reqd for virtual machine creation
+ "vmD1": {
+ "name": "d1",
+ "displayname": "d1",
+ },
+ "vmD1A": {
+ "name": "d1a",
+ "displayname": "d1a",
+ },
+ "vmD1B": {
+ "name": "d1b",
+ "displayname": "d1b",
+ },
+ "vmD11": {
+ "name": "d11",
+ "displayname": "d11",
+ },
+ "vmD11A": {
+ "name": "d11a",
+ "displayname": "d11a",
+ },
+ "vmD11B": {
+ "name": "d11b",
+ "displayname": "d11b",
+ },
+ "vmD111": {
+ "name": "d111",
+ "displayname": "d111",
+ },
+ "vmD111A": {
+ "name": "d111a",
+ "displayname": "d111a",
+ },
+ "vmD111B": {
+ "name": "d111b",
+ "displayname": "d111b",
+ },
+ "vmD12A": {
+ "name": "d12a",
+ "displayname": "d12a",
+ },
+ "vmD12B": {
+ "name": "d12b",
+ "displayname": "d12b",
+ },
+ "vmD2A": {
+ "name": "d2a",
+ "displayname": "d2a",
+ },
- "vmROOTA" : {
- "name" : "roota",
- "displayname" : "roota",
- },
- "vmROOT" : {
- "name" : "root",
- "displayname" : "root",
- },
+ "vmROOTA": {
+ "name": "roota",
+ "displayname": "roota",
+ },
+ "vmROOT": {
+ "name": "root",
+ "displayname": "root",
+ },
- #data reqd for Network creation
- "network_all": {
- "name": "SharedNetwork-All",
- "displaytext": "SharedNetwork-All",
- "vlan" : "4001",
- "gateway" :"10.223.1.1",
- "netmask" :"255.255.255.0",
- "startip" :"10.223.1.2",
- "endip" :"10.223.1.100",
- "acltype" : "Domain"
- },
- "network_domain_with_no_subdomain_access": {
- "name": "SharedNetwork-Domain-nosubdomain",
- "displaytext": "SharedNetwork-Domain-nosubdomain",
- "vlan" : "4002",
- "gateway" :"10.223.1.1",
- "netmask" :"255.255.255.0",
- "startip" :"10.223.1.2",
- "endip" :"10.223.1.100",
- "acltype" : "Domain",
- "subdomainaccess" : "false"
- },
- "network_domain_with_subdomain_access": {
- "name": "SharedNetwork-Domain-withsubdomain",
- "displaytext": "SharedNetwork-Domain-withsubdomain",
- "vlan" : "4003",
- "gateway" :"10.223.1.1",
- "netmask" :"255.255.255.0",
- "startip" :"10.223.1.2",
- "endip" :"10.223.1.100",
- "acltype" : "Domain",
- "subdomainaccess" : "true"
- },
- "network_account": {
- "name": "SharedNetwork-Account",
- "displaytext": "SharedNetwork-Account",
- "vlan" : "4004",
- "gateway" :"10.223.1.1",
- "netmask" :"255.255.255.0",
- "startip" :"10.223.1.2",
- "endip" :"10.223.1.100",
- "acltype" : "Account"
- },
+ #data reqd for Network creation
+ "network_all": {
+ "name": "SharedNetwork-All",
+ "displaytext": "SharedNetwork-All",
+ "vlan": "4001",
+ "gateway": "10.223.1.1",
+ "netmask": "255.255.255.0",
+ "startip": "10.223.1.2",
+ "endip": "10.223.1.100",
+ "acltype": "Domain"
+ },
+ "network_domain_with_no_subdomain_access": {
+ "name": "SharedNetwork-Domain-nosubdomain",
+ "displaytext": "SharedNetwork-Domain-nosubdomain",
+ "vlan": "4002",
+ "gateway": "10.223.1.1",
+ "netmask": "255.255.255.0",
+ "startip": "10.223.1.2",
+ "endip": "10.223.1.100",
+ "acltype": "Domain",
+ "subdomainaccess": "false"
+ },
+ "network_domain_with_subdomain_access": {
+ "name": "SharedNetwork-Domain-withsubdomain",
+ "displaytext": "SharedNetwork-Domain-withsubdomain",
+ "vlan": "4003",
+ "gateway": "10.223.1.1",
+ "netmask": "255.255.255.0",
+ "startip": "10.223.1.2",
+ "endip": "10.223.1.100",
+ "acltype": "Domain",
+ "subdomainaccess": "true"
+ },
+ "network_account": {
+ "name": "SharedNetwork-Account",
+ "displaytext": "SharedNetwork-Account",
+ "vlan": "4004",
+ "gateway": "10.223.1.1",
+ "netmask": "255.255.255.0",
+ "startip": "10.223.1.2",
+ "endip": "10.223.1.100",
+ "acltype": "Account"
+ },
- "network": {
- "name": "Network-",
- "displaytext": "Network-",
- "gateway" :"10.223.1.1",
- "netmask" :"255.255.255.0",
- "startip" :"10.223.1.2",
- "endip" :"10.223.1.100",
- },
- #small service offering
- "service_offering": {
- "small": {
- "name": "Small Instance",
- "displaytext": "Small Instance",
- "cpunumber": 1,
- "cpuspeed": 100,
- "memory": 128,
- },
- },
- "ostype": 'CentOS 5.6 (64-bit)',
- },
- "test_34_DeployVM_in_SecondSGNetwork": {
- "zone": "advsg",
- "config": "D:\ACS-Repo\setup\dev\\advancedsg.cfg",#Absolute path to cfg file
- #For sample configuration please refer to <ACS repo>/setup/dev/advancedsg.cfg
- "template": "CentOS 5.3(64-bit) no GUI (Simulator)",
- "dbSvr": {
- "dbSvr": "10.146.0.133",
- "passwd": "cloud",
- "db": "cloud",
- "port": 3306,
- "user": "cloud"
- },
- "mgtSvr": [
- {
- "mgtSvrIp": "10.146.0.133",
- "passwd": "password",
- "user": "root",
- "port": 8096
- }
- ],
- "ipranges": [
- {
- "startip": "10.147.32.150",
- "endip": "10.147.32.153",
- "netmask": "255.255.255.0",
- "vlan": "32",
- "gateway": "10.147.32.1"
- }
- ]
- },
- "configurableData":
- {
- "portableIpRange": {
- "gateway": "10.223.59.1",
+ "network": {
+ "name": "Network-",
+ "displaytext": "Network-",
+ "gateway": "10.223.1.1",
"netmask": "255.255.255.0",
"startip": "10.223.59.200",
"endip": "10.223.59.240",
@@ -1501,14 +1488,115 @@ test_data = {
"password": '',
"url": '',
"clustername": 'VMWare Cluster with Space in DC name',
+ "startip": "10.223.1.2",
+ "endip": "10.223.1.100",
},
- "upload_volume": {
- "diskname": "UploadVol",
- "format": "VHD",
- "url":"http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2",
- "checksum": "",
+ #small service offering
+ "service_offering": {
+ "small": {
+ "name": "Small Instance",
+ "displaytext": "Small Instance",
+ "cpunumber": 1,
+ "cpuspeed": 100,
+ "memory": 128,
+ },
},
- "bootableIso":
+ "ostype": 'CentOS 5.6 (64-bit)',
+ },
+ "test_34_DeployVM_in_SecondSGNetwork": {
+ "zone": "advsg",
+ "config": "D:\ACS-Repo\setup\dev\\advancedsg.cfg", #Absolute path to cfg file
+ #For sample configuration please refer to <ACS repo>/setup/dev/advancedsg.cfg
+ "template": "CentOS 5.3(64-bit) no GUI (Simulator)",
+ "dbSvr": {
+ "dbSvr": "10.146.0.133",
+ "passwd": "cloud",
+ "db": "cloud",
+ "port": 3306,
+ "user": "cloud"
+ },
+ "mgtSvr": [
+ {
+ "mgtSvrIp": "10.146.0.133",
+ "passwd": "password",
+ "user": "root",
+ "port": 8096
+ }
+ ],
+ "ipranges": [
+ {
+ "startip": "10.147.32.150",
+ "endip": "10.147.32.153",
+ "netmask": "255.255.255.0",
+ "vlan": "32",
+ "gateway": "10.147.32.1"
+ }
+ ]
+ },
+ "configurableData":
+ {
+ "portableIpRange": {
+ "gateway": "10.223.59.1",
+ "netmask": "255.255.255.0",
+ "startip": "10.223.59.200",
+ "endip": "10.223.59.240",
+ "vlan": "1000"
+ },
+ "netscaler": {
+ "ipaddress": "",
+ "username": "",
+ "password": "",
+ "networkdevicetype": "",
+ "publicinterface": "",
+ "privateinterface": "",
+ "numretries": "",
+ "lbdevicededicated": "False",
+ "lbdevicecapacity": 2,
+ "port": 22
+ },
+ "iscsi": {
+ "url": "",
+ "name": "Primary iSCSI"
+ },
+ "host": {
+ "publicport": 22,
+ "username": "root",
+ "password": "password",
+ },
+ "ldap_account": {
+ "email": "",
+ "firstname": "",
+ "lastname": "",
+ "username": "",
+ "password": "",
+ },
+ "ldap_configuration": {
+ "basedn": "",
+ "emailAttribute": "",
+ "userObject": "",
+ "usernameAttribute": "",
+ "hostname": "",
+ "port": "",
+ "ldapUsername": "",
+ "ldapPassword": ""
+ },
+ "systemVmDelay": 120,
+ "setUsageConfigurationThroughTestCase": True,
+ "vmware_cluster": {
+ "hypervisor": 'VMware',
+ "clustertype": 'ExternalManaged',
+ "username": '',
+ "password": '',
+ "url": '',
+ "clustername": 'VMWare Cluster with Space in DC name',
+ },
+ "upload_volume": {
+ "diskname": "UploadVol",
+ "format": "VHD",
+ "url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2",
+ "checksum": "",
+ },
+ "bootableIso":
{
"displaytext": "Test Bootable ISO",
"name": "testISO",
@@ -1532,6 +1620,20 @@ test_data = {
"hypervisor": "vmware",
"format": "OVA",
"nicadapter": "vmxnet3"
+ "kvm": {
+ "url": ""
+ },
+ "vmware": {
+ "url": ""
+ },
+ "xenserver": {
+ "url": ""
+ },
+ "hyperv": {
+ "url": ""
+ },
+ "ostype": 'CentOS 5.3 (64-bit)',
+ "mode": 'HTTP_DOWNLOAD'
+ }
}
- }
}
[2/2] git commit: updated refs/heads/master to 974c564
Posted by ta...@apache.org.
Restore VM verification tests
This closes #148
Signed-off-by: SrikanteswaraRao Talluri<ta...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/974c5642
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/974c5642
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/974c5642
Branch: refs/heads/master
Commit: 974c56423d6757fb245b0b0762c576b5b9cec8fa
Parents: 433e6a2
Author: shweta agarwal <sh...@citrix.com>
Authored: Tue Apr 7 10:37:53 2015 +0530
Committer: SrikanteswaraRao Talluri <ta...@apache.org>
Committed: Wed Apr 8 12:39:16 2015 +0530
----------------------------------------------------------------------
.../component/test_escalations_instances.py | 110 +++++++++++--------
tools/marvin/marvin/config/test_data.py | 4 +-
2 files changed, 66 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/974c5642/test/integration/component/test_escalations_instances.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_escalations_instances.py b/test/integration/component/test_escalations_instances.py
index 3cd65f7..82e832c 100644
--- a/test/integration/component/test_escalations_instances.py
+++ b/test/integration/component/test_escalations_instances.py
@@ -6,7 +6,7 @@
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
@@ -16,16 +16,35 @@
# under the License.
# Import Local Modules
-from marvin.cloudstackTestCase import cloudstackTestCase
-from marvin.lib.utils import *
-from marvin.lib.common import *
-from marvin.lib.base import *
+from marvin.cloudstackTestCase import cloudstackTestCase, unittest
+from marvin.lib.utils import cleanup_resources, validateList
+from marvin.lib.base import (Account,
+ ServiceOffering,
+ NetworkOffering,
+ Network,
+ VirtualMachine,
+ SecurityGroup,
+ DiskOffering,
+ Resources,
+ Iso,
+ Configurations,
+ SSHKeyPair,
+ Volume,
+ VmSnapshot,
+ Zone,
+ Template,
+ Host)
+from marvin.lib.common import (get_zone,
+ get_template,
+ get_domain,
+ find_storage_pool_type)
+from marvin.codes import PASS
from marvin.sshClient import SshClient
from nose.plugins.attrib import attr
+import time
class TestListInstances(cloudstackTestCase):
-
@classmethod
def setUpClass(cls):
try:
@@ -1691,8 +1710,8 @@ class TestListInstances(cloudstackTestCase):
if service_offerings_list is not None:
for i in range(0, len(service_offerings_list)):
if ((current_so.id != service_offerings_list[i].id) and (
- current_so.storagetype ==
- service_offerings_list[i].storagetype)):
+ current_so.storagetype ==
+ service_offerings_list[i].storagetype)):
so_exists = True
new_so = service_offerings_list[i]
break
@@ -2052,7 +2071,6 @@ class TestListInstances(cloudstackTestCase):
class TestInstances(cloudstackTestCase):
-
@classmethod
def setUpClass(cls):
try:
@@ -2176,7 +2194,7 @@ class TestInstances(cloudstackTestCase):
(exp_val, act_val))
return return_flag
- @attr(tags=["Xenserver"], required_hardware="false")
+ @attr(tags=["advanced", "basic"], required_hardware="false")
def test_27_VM_restore_ES3467(self):
"""
@Desc:Test to verify order of root and data disk remains same on Xenserver after VM reset
@@ -2187,6 +2205,10 @@ class TestInstances(cloudstackTestCase):
7. check disk sequence on hypervisor remains same and VM starts successfully
"""
try:
+ if self.hypervisor.lower() in ['kvm', 'hyperv', 'lxc', 'vmware']:
+ self.skipTest(
+ "This test not applicable on existing hypervisor. Hence,\
+ skipping the test")
template = Template.register(self.apiClient,
self.services["Windows 7 (64-bit)"],
zoneid=self.zone.id,
@@ -2219,11 +2241,8 @@ class TestInstances(cloudstackTestCase):
time.sleep(5)
timeout -= 1
# Verify template response to check whether template added successfully
- self.assertEqual(
- isinstance(list_template_response, list),
- True,
- "Check for list template response return valid data"
- )
+ status = validateList(list_template_response)
+ self.assertEquals(PASS, status[0], "Template download failed")
self.assertNotEqual(
len(list_template_response),
@@ -2289,10 +2308,10 @@ class TestInstances(cloudstackTestCase):
True,
"Check list host returns a valid list")
host = hosts[0]
- if self.hypervisor.lower() in ('xenserver'):
+ if self.hypervisor.lower() in 'xenserver':
#
- # host.user, host.passwd = get_host_credentials(self, host.ipaddress)
- ssh = SshClient(host.ipaddress, 22, "root", "password")
+ ssh = SshClient(host.ipaddress, 22, self.services["configurableData"]["host"]["username"],
+ self.services["configurableData"]["host"]["password"])
result = ssh.execute(cmd)
res = str(result)
self.assertNotEqual(res, "", "root disk should have user device=0")
@@ -2312,8 +2331,8 @@ class TestInstances(cloudstackTestCase):
host = hosts[0]
if self.hypervisor.lower() in 'xenserver':
#
- # host.user, host.passwd = get_host_credentials(self, host.ipaddress)
- ssh = SshClient(host.ipaddress, 22, "root", "password")
+ ssh = SshClient(host.ipaddress, 22, self.services["configurableData"]["host"]["username"],
+ self.services["configurableData"]["host"]["password"])
result = ssh.execute(cmd)
res = str(result)
self.assertNotEqual(res, "", "root disk should have user device=0")
@@ -2340,7 +2359,7 @@ class TestInstances(cloudstackTestCase):
self.fail("Exception occurred: %s" % e)
return
- @attr(tags=["Xenserver"], required_hardware="false")
+ @attr(tags=["advanced", "basic"], required_hardware="false")
def test_28_VM_restore_ES3467(self):
"""
@Desc:Test to verify order of root and data disk remains same on Xenserver after VM reset
@@ -2443,10 +2462,11 @@ class TestInstances(cloudstackTestCase):
True,
"Check list host returns a valid list")
host = hosts[0]
- if self.hypervisor.lower() in ('xenserver'):
+ if self.hypervisor.lower() in 'xenserver':
#
# host.user, host.passwd = get_host_credentials(self, host.ipaddress)
- ssh = SshClient(host.ipaddress, 22, "root", "password")
+ ssh = SshClient(host.ipaddress, 22, self.services["configurableData"]["host"]["username"],
+ self.services["configurableData"]["host"]["password"])
result = ssh.execute(cmd)
res = str(result)
self.assertNotEqual(res, "", "root disk should have user device=0")
@@ -2480,12 +2500,11 @@ class TestInstances(cloudstackTestCase):
)
# Start VM
virtual_machine.start(self.apiClient)
- # Sleep to ensure that VM is in ready state
- time.sleep(self.services["sleep"])
if self.hypervisor.lower() in 'xenserver':
#
# host.user, host.passwd = get_host_credentials(self, host.ipaddress)
- ssh = SshClient(host.ipaddress, 22, "root", "password")
+ ssh = SshClient(host.ipaddress, 22, self.services["configurableData"]["host"]["username"],
+ self.services["configurableData"]["host"]["password"])
result = ssh.execute(cmd)
res = str(result)
self.assertNotEqual(res, "", "root disk should have user device=0")
@@ -2499,7 +2518,6 @@ class TestInstances(cloudstackTestCase):
True,
"Check list VM response for valid list"
)
-
# Verify VM response to check whether VM deployment was successful
self.assertNotEqual(
len(vm_response),
@@ -2934,7 +2952,7 @@ class TestInstances(cloudstackTestCase):
# and that snapshot is the latest snapshot created (snapshot2)
current_count = 0
for i in range(0, len(list_snapshots_after)):
- if(list_snapshots_after[i].current is True):
+ if (list_snapshots_after[i].current is True):
current_count = current_count + 1
current_snapshot = list_snapshots_after[i]
@@ -2975,7 +2993,7 @@ class TestInstances(cloudstackTestCase):
# and that snapshot is snapshot1
current_count = 0
for i in range(0, len(list_snapshots_after)):
- if(list_snapshots_after[i].current is True):
+ if (list_snapshots_after[i].current is True):
current_count = current_count + 1
current_snapshot = list_snapshots_after[i]
self.assertEquals(
@@ -3251,8 +3269,8 @@ class TestInstances(cloudstackTestCase):
)
# Checking if dynamic scaling is allowed in Zone and Template
if not (
- (list_config[0].value is True) and (
- self.template.isdynamicallyscalable)):
+ (list_config[0].value is True) and (
+ self.template.isdynamicallyscalable)):
self.debug(
"Scale up of Running VM is not possible as Zone/Template\
does not support")
@@ -3317,18 +3335,18 @@ class TestInstances(cloudstackTestCase):
if service_offerings_list is not None:
for i in range(0, len(service_offerings_list)):
if not ((current_so.cpunumber >
- service_offerings_list[i].cpunumber or
- current_so.cpuspeed >
- service_offerings_list[i].cpuspeed or
- current_so.memory >
- service_offerings_list[i].memory) or
- (current_so.cpunumber ==
- service_offerings_list[i].cpunumber and
- current_so.cpuspeed ==
- service_offerings_list[i].cpuspeed and
- current_so.memory ==
- service_offerings_list[i].memory)):
- if(current_so.storagetype ==
+ service_offerings_list[i].cpunumber or
+ current_so.cpuspeed >
+ service_offerings_list[i].cpuspeed or
+ current_so.memory >
+ service_offerings_list[i].memory) or
+ (current_so.cpunumber ==
+ service_offerings_list[i].cpunumber and
+ current_so.cpuspeed ==
+ service_offerings_list[i].cpuspeed and
+ current_so.memory ==
+ service_offerings_list[i].memory)):
+ if (current_so.storagetype ==
service_offerings_list[i].storagetype):
so_exists = True
new_so = service_offerings_list[i]
@@ -3452,8 +3470,8 @@ class TestInstances(cloudstackTestCase):
if service_offerings_list is not None:
for i in range(0, len(service_offerings_list)):
if ((current_so.id != service_offerings_list[i].id) and (
- current_so.storagetype ==
- service_offerings_list[i].storagetype)):
+ current_so.storagetype ==
+ service_offerings_list[i].storagetype)):
so_exists = True
new_so = service_offerings_list[i]
break
@@ -3879,7 +3897,7 @@ class TestInstances(cloudstackTestCase):
)
# populating network id's
networkids = networks_list_after[
- 0].id + "," + networks_list_after[1].id
+ 0].id + "," + networks_list_after[1].id
# Listing all the VM's for a User
list_vms_before = VirtualMachine.list(
self.userapiclient,
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/974c5642/tools/marvin/marvin/config/test_data.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/config/test_data.py b/tools/marvin/marvin/config/test_data.py
index 6ebf09e..6c87374 100644
--- a/tools/marvin/marvin/config/test_data.py
+++ b/tools/marvin/marvin/config/test_data.py
@@ -1619,8 +1619,8 @@ test_data = {
"url": "http://10.147.28.7/templates/4.3.0.2/systemvm64template-2014-09-30-4.3-vmware.ova",
"hypervisor": "vmware",
"format": "OVA",
- "nicadapter": "vmxnet3"
- "kvm": {
+ "nicadapter": "vmxnet3",
+ "kvm": {
"url": ""
},
"vmware": {