mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
CLOUDSTACK-7938: Marvin - Create a new section in test_data.py for configurable data and change test cases accordingly
Signed-off-by: SrikanteswaraRao Talluri <talluri@apache.org>
This commit is contained in:
parent
19d73fe67d
commit
684268f4c3
@ -49,8 +49,7 @@ from marvin.lib.common import (get_domain,
|
|||||||
get_template,
|
get_template,
|
||||||
verifyNetworkState,
|
verifyNetworkState,
|
||||||
wait_for_cleanup,
|
wait_for_cleanup,
|
||||||
add_netscaler,
|
add_netscaler
|
||||||
GetNetscalerInfoFromConfig
|
|
||||||
)
|
)
|
||||||
|
|
||||||
from marvin.lib.utils import (validateList,
|
from marvin.lib.utils import (validateList,
|
||||||
@ -1775,19 +1774,14 @@ class TestExternalLoadBalancer(cloudstackTestCase):
|
|||||||
cls.testdata["virtual_machine"]["zoneid"] = cls.zone.id
|
cls.testdata["virtual_machine"]["zoneid"] = cls.zone.id
|
||||||
cls.testdata["virtual_machine"]["template"] = template.id
|
cls.testdata["virtual_machine"]["template"] = template.id
|
||||||
cls._cleanup = []
|
cls._cleanup = []
|
||||||
|
cls.testdata["configurableData"]\
|
||||||
response = GetNetscalerInfoFromConfig(
|
["netscaler"]["lbdevicededicated"] = False
|
||||||
cls.config
|
|
||||||
)
|
|
||||||
assert response[0] is not None, response[1]
|
|
||||||
cls.testdata["netscaler"] = response[0]
|
|
||||||
cls.testdata["netscaler"]["lbdevicededicated"] = False
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cls.netscaler = add_netscaler(
|
cls.netscaler = add_netscaler(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.testdata["netscaler"])
|
cls.testdata["configurableData"]["netscaler"])
|
||||||
cls._cleanup.append(cls.netscaler)
|
cls._cleanup.append(cls.netscaler)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise unittest.SkipTest("Failed to add netscaler device: %s" % e)
|
raise unittest.SkipTest("Failed to add netscaler device: %s" % e)
|
||||||
|
|||||||
@ -20,7 +20,6 @@
|
|||||||
#Import Local Modules
|
#Import Local Modules
|
||||||
from nose.plugins.attrib import attr
|
from nose.plugins.attrib import attr
|
||||||
from marvin.cloudstackTestCase import cloudstackTestCase
|
from marvin.cloudstackTestCase import cloudstackTestCase
|
||||||
#from marvin.cloudstackAPI import *
|
|
||||||
from marvin.lib.utils import (cleanup_resources,
|
from marvin.lib.utils import (cleanup_resources,
|
||||||
random_gen)
|
random_gen)
|
||||||
from marvin.lib.base import (VirtualMachine,
|
from marvin.lib.base import (VirtualMachine,
|
||||||
@ -159,8 +158,8 @@ class TestAddNetScaler(_NetScalerAddBase):
|
|||||||
# Balancing feature.
|
# Balancing feature.
|
||||||
# 2. Netscaler should be configured successfully.
|
# 2. Netscaler should be configured successfully.
|
||||||
self.debug("Adding netscaler device: %s" %
|
self.debug("Adding netscaler device: %s" %
|
||||||
self.services["netscaler_VPX"]["ipaddress"])
|
self.services["configurableData"]["netscaler"]["ipaddress"])
|
||||||
netscaler_config = dict(self.services["netscaler_VPX"])
|
netscaler_config = dict(self.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'lbdevicededicated': "False"})
|
netscaler_config.update({'lbdevicededicated': "False"})
|
||||||
netscaler = NetScaler.add(
|
netscaler = NetScaler.add(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
@ -236,7 +235,7 @@ class TestInvalidParametersNetscaler(_NetScalerAddBase):
|
|||||||
# 2. Netscaler API should throw error
|
# 2. Netscaler API should throw error
|
||||||
|
|
||||||
self.debug("Passing invalid credential for NetScaler")
|
self.debug("Passing invalid credential for NetScaler")
|
||||||
netscaler_config = dict(self.services["netscaler_VPX"])
|
netscaler_config = dict(self.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'username': random_gen(), 'password': random_gen()})
|
netscaler_config.update({'username': random_gen(), 'password': random_gen()})
|
||||||
self.debug("Adding netscaler device: %s" %
|
self.debug("Adding netscaler device: %s" %
|
||||||
netscaler_config["ipaddress"])
|
netscaler_config["ipaddress"])
|
||||||
@ -264,7 +263,7 @@ class TestInvalidParametersNetscaler(_NetScalerAddBase):
|
|||||||
# 2. Netscaler API should throw error
|
# 2. Netscaler API should throw error
|
||||||
|
|
||||||
self.debug("Passing invalid public interface for NetScaler")
|
self.debug("Passing invalid public interface for NetScaler")
|
||||||
netscaler_config = dict(self.services["netscaler_VPX"])
|
netscaler_config = dict(self.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'publicinterface': random_gen()})
|
netscaler_config.update({'publicinterface': random_gen()})
|
||||||
self.debug("Adding netscaler device: %s" %
|
self.debug("Adding netscaler device: %s" %
|
||||||
netscaler_config["ipaddress"])
|
netscaler_config["ipaddress"])
|
||||||
@ -288,7 +287,7 @@ class TestInvalidParametersNetscaler(_NetScalerAddBase):
|
|||||||
# 1. Add Netscaler device into a Zone by providing valid log in
|
# 1. Add Netscaler device into a Zone by providing valid log in
|
||||||
# credentials , public interface and invalid private interface
|
# credentials , public interface and invalid private interface
|
||||||
# 2. Netscaler API should throw error
|
# 2. Netscaler API should throw error
|
||||||
netscaler_config = dict(self.services["netscaler_VPX"])
|
netscaler_config = dict(self.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'privateinterface': random_gen()})
|
netscaler_config.update({'privateinterface': random_gen()})
|
||||||
self.debug("Adding netscaler device: %s" %
|
self.debug("Adding netscaler device: %s" %
|
||||||
netscaler_config["ipaddress"])
|
netscaler_config["ipaddress"])
|
||||||
@ -329,17 +328,6 @@ class _NetScalerDeployVMBase(_NetScalerBase):
|
|||||||
self.debug("Cleaning up the resources")
|
self.debug("Cleaning up the resources")
|
||||||
#Clean up, terminate the created network offerings
|
#Clean up, terminate the created network offerings
|
||||||
cleanup_resources(self.apiclient, self.cleanup)
|
cleanup_resources(self.apiclient, self.cleanup)
|
||||||
interval = Configurations.list(
|
|
||||||
self.apiclient,
|
|
||||||
name='network.gc.interval'
|
|
||||||
)
|
|
||||||
wait = Configurations.list(
|
|
||||||
self.apiclient,
|
|
||||||
name='network.gc.wait'
|
|
||||||
)
|
|
||||||
# Sleep to ensure that all resources are deleted
|
|
||||||
time.sleep(int(interval[0].value) + int(wait[0].value))
|
|
||||||
self.debug("Cleanup complete!")
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise Exception("Warning: Exception during cleanup : %s" % e)
|
raise Exception("Warning: Exception during cleanup : %s" % e)
|
||||||
|
|
||||||
@ -360,7 +348,7 @@ class TestNetScalerDedicated(_NetScalerDeployVMBase):
|
|||||||
cls.services["ostype"]
|
cls.services["ostype"]
|
||||||
)
|
)
|
||||||
|
|
||||||
netscaler_config = dict(cls.services["netscaler_VPX"])
|
netscaler_config = dict(cls.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'lbdevicededicated': "True"})
|
netscaler_config.update({'lbdevicededicated': "True"})
|
||||||
cls._addNetScaler(netscaler_config)
|
cls._addNetScaler(netscaler_config)
|
||||||
|
|
||||||
@ -517,7 +505,7 @@ class TestNetScalerShared(_NetScalerDeployVMBase):
|
|||||||
cls.services["ostype"]
|
cls.services["ostype"]
|
||||||
)
|
)
|
||||||
|
|
||||||
netscaler_config = dict(cls.services["netscaler_VPX"])
|
netscaler_config = dict(cls.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'lbdevicededicated': "False"})
|
netscaler_config.update({'lbdevicededicated': "False"})
|
||||||
cls._addNetScaler(netscaler_config)
|
cls._addNetScaler(netscaler_config)
|
||||||
|
|
||||||
@ -713,7 +701,7 @@ class TestNetScalerCustomCapacity(_NetScalerCapacity):
|
|||||||
cls.services["ostype"]
|
cls.services["ostype"]
|
||||||
)
|
)
|
||||||
|
|
||||||
netscaler_config = dict(cls.services["netscaler_VPX"])
|
netscaler_config = dict(cls.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'lbdevicecapacity': 3, 'lbdevicededicated': "False"})
|
netscaler_config.update({'lbdevicecapacity': 3, 'lbdevicededicated': "False"})
|
||||||
cls._addNetScaler(netscaler_config)
|
cls._addNetScaler(netscaler_config)
|
||||||
|
|
||||||
@ -932,7 +920,7 @@ class TestNetScalerNoCapacity(_NetScalerCapacity):
|
|||||||
cls.services["ostype"]
|
cls.services["ostype"]
|
||||||
)
|
)
|
||||||
|
|
||||||
netscaler_config = dict(cls.services["netscaler_VPX"])
|
netscaler_config = dict(cls.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'lbdevicecapacity': 2, 'lbdevicededicated': "False"})
|
netscaler_config.update({'lbdevicecapacity': 2, 'lbdevicededicated': "False"})
|
||||||
cls._addNetScaler(netscaler_config)
|
cls._addNetScaler(netscaler_config)
|
||||||
|
|
||||||
@ -1129,7 +1117,7 @@ class TestGuestNetworkWithNetScaler(_NetScalerDeployVMBase):
|
|||||||
cls.services["ostype"]
|
cls.services["ostype"]
|
||||||
)
|
)
|
||||||
|
|
||||||
netscaler_config = dict(cls.services["netscaler_VPX"])
|
netscaler_config = dict(cls.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'lbdevicededicated': "False"})
|
netscaler_config.update({'lbdevicededicated': "False"})
|
||||||
cls._addNetScaler(netscaler_config)
|
cls._addNetScaler(netscaler_config)
|
||||||
|
|
||||||
@ -1249,13 +1237,13 @@ class TestGuestNetworkWithNetScaler(_NetScalerDeployVMBase):
|
|||||||
)
|
)
|
||||||
nw = network_list[0]
|
nw = network_list[0]
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler_VPX"]["ipaddress"])
|
self.services["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler_VPX"]["ipaddress"],
|
self.services["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler_VPX"]["port"],
|
self.services["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler_VPX"]["username"],
|
self.services["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler_VPX"]["password"],
|
self.services["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show vlan %s" % (nw.vlan)
|
cmd = "show vlan %s" % (nw.vlan)
|
||||||
self.debug("command: %s" % cmd)
|
self.debug("command: %s" % cmd)
|
||||||
@ -1271,7 +1259,7 @@ class TestGuestNetworkWithNetScaler(_NetScalerDeployVMBase):
|
|||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" % \
|
self.fail("SSH Access failed for %s: %s" % \
|
||||||
(self.services["netscaler_VPX"]["ipaddress"], e))
|
(self.services["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags = ["advancedns","test"])
|
@attr(tags = ["advancedns","test"])
|
||||||
@ -1392,7 +1380,7 @@ class TestGuestNetworkWithNetScaler(_NetScalerDeployVMBase):
|
|||||||
"VM state should be running after deployment"
|
"VM state should be running after deployment"
|
||||||
)
|
)
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler_VPX"]["ipaddress"])
|
self.services["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
# Find Network vlan used
|
# Find Network vlan used
|
||||||
network_list = Network.list(
|
network_list = Network.list(
|
||||||
@ -1402,10 +1390,10 @@ class TestGuestNetworkWithNetScaler(_NetScalerDeployVMBase):
|
|||||||
)
|
)
|
||||||
nw = network_list[0]
|
nw = network_list[0]
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler_VPX"]["ipaddress"],
|
self.services["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler_VPX"]["port"],
|
self.services["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler_VPX"]["username"],
|
self.services["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler_VPX"]["password"],
|
self.services["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show vlan %s" % (nw.vlan)
|
cmd = "show vlan %s" % (nw.vlan)
|
||||||
self.debug("command: %s" % cmd)
|
self.debug("command: %s" % cmd)
|
||||||
@ -1441,7 +1429,7 @@ class TestGuestNetworkWithNetScaler(_NetScalerDeployVMBase):
|
|||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" % \
|
self.fail("SSH Access failed for %s: %s" % \
|
||||||
(self.services["netscaler_VPX"]["ipaddress"], e))
|
(self.services["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags = ["advancedns","test"])
|
@attr(tags = ["advancedns","test"])
|
||||||
@ -1561,13 +1549,13 @@ class TestGuestNetworkWithNetScaler(_NetScalerDeployVMBase):
|
|||||||
time.sleep(int(interval[0].value) + int(wait[0].value))
|
time.sleep(int(interval[0].value) + int(wait[0].value))
|
||||||
|
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler_VPX"]["ipaddress"])
|
self.services["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler_VPX"]["ipaddress"],
|
self.services["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler_VPX"]["port"],
|
self.services["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler_VPX"]["username"],
|
self.services["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler_VPX"]["password"],
|
self.services["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show vlan %s" % (nw.vlan)
|
cmd = "show vlan %s" % (nw.vlan)
|
||||||
self.debug("command: %s" % cmd)
|
self.debug("command: %s" % cmd)
|
||||||
@ -1598,7 +1586,7 @@ class TestGuestNetworkWithNetScaler(_NetScalerDeployVMBase):
|
|||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" % \
|
self.fail("SSH Access failed for %s: %s" % \
|
||||||
(self.services["netscaler_VPX"]["ipaddress"], e))
|
(self.services["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@ -1621,7 +1609,7 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
cls.services["ostype"]
|
cls.services["ostype"]
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
netscaler_config = dict(cls.services["netscaler_VPX"])
|
netscaler_config = dict(cls.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'lbdevicededicated': "False"})
|
netscaler_config.update({'lbdevicededicated': "False"})
|
||||||
cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, netscaler_config)
|
cls.netscaler = add_netscaler(cls.api_client, cls.zone.id, netscaler_config)
|
||||||
cls._cleanup.append(cls.netscaler)
|
cls._cleanup.append(cls.netscaler)
|
||||||
@ -1738,13 +1726,13 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
time.sleep((int(interval[0].value) + int(wait[0].value)) * 2)
|
time.sleep((int(interval[0].value) + int(wait[0].value)) * 2)
|
||||||
|
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler_VPX"]["ipaddress"])
|
self.services["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler_VPX"]["ipaddress"],
|
self.services["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler_VPX"]["port"],
|
self.services["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler_VPX"]["username"],
|
self.services["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler_VPX"]["password"],
|
self.services["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show vlan %s" % (nw.vlan)
|
cmd = "show vlan %s" % (nw.vlan)
|
||||||
self.debug("command: %s" % cmd)
|
self.debug("command: %s" % cmd)
|
||||||
@ -1775,7 +1763,7 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" % \
|
self.fail("SSH Access failed for %s: %s" % \
|
||||||
(self.services["netscaler_VPX"]["ipaddress"], e))
|
(self.services["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags = ["advancedns","test"])
|
@attr(tags = ["advancedns","test"])
|
||||||
@ -1816,7 +1804,7 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler_VPX"]["ipaddress"])
|
self.services["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
# Find Network vlan used
|
# Find Network vlan used
|
||||||
network_list = Network.list(
|
network_list = Network.list(
|
||||||
@ -1826,10 +1814,10 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
)
|
)
|
||||||
nw = network_list[0]
|
nw = network_list[0]
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler_VPX"]["ipaddress"],
|
self.services["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler_VPX"]["port"],
|
self.services["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler_VPX"]["username"],
|
self.services["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler_VPX"]["password"],
|
self.services["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show vlan %s" % (nw.vlan)
|
cmd = "show vlan %s" % (nw.vlan)
|
||||||
self.debug("command: %s" % cmd)
|
self.debug("command: %s" % cmd)
|
||||||
@ -1860,7 +1848,7 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" % \
|
self.fail("SSH Access failed for %s: %s" % \
|
||||||
(self.services["netscaler_VPX"]["ipaddress"], e))
|
(self.services["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags = ["advancedns","test"])
|
@attr(tags = ["advancedns","test"])
|
||||||
@ -1878,7 +1866,7 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
self.network.restart(self.apiclient, cleanup=False)
|
self.network.restart(self.apiclient, cleanup=False)
|
||||||
|
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler_VPX"]["ipaddress"])
|
self.services["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
# Find Network vlan used
|
# Find Network vlan used
|
||||||
network_list = Network.list(
|
network_list = Network.list(
|
||||||
@ -1888,10 +1876,10 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
)
|
)
|
||||||
nw = network_list[0]
|
nw = network_list[0]
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler_VPX"]["ipaddress"],
|
self.services["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler_VPX"]["port"],
|
self.services["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler_VPX"]["username"],
|
self.services["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler_VPX"]["password"],
|
self.services["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show vlan %s" % (nw.vlan)
|
cmd = "show vlan %s" % (nw.vlan)
|
||||||
self.debug("command: %s" % cmd)
|
self.debug("command: %s" % cmd)
|
||||||
@ -1922,7 +1910,7 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" % \
|
self.fail("SSH Access failed for %s: %s" % \
|
||||||
(self.services["netscaler_VPX"]["ipaddress"], e))
|
(self.services["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags = ["advancedns","test"])
|
@attr(tags = ["advancedns","test"])
|
||||||
@ -1940,7 +1928,7 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
self.network.restart(self.apiclient, cleanup=True)
|
self.network.restart(self.apiclient, cleanup=True)
|
||||||
|
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler_VPX"]["ipaddress"])
|
self.services["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
# Find Network vlan used
|
# Find Network vlan used
|
||||||
network_list = Network.list(
|
network_list = Network.list(
|
||||||
@ -1950,10 +1938,10 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
)
|
)
|
||||||
nw = network_list[0]
|
nw = network_list[0]
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler_VPX"]["ipaddress"],
|
self.services["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler_VPX"]["port"],
|
self.services["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler_VPX"]["username"],
|
self.services["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler_VPX"]["password"],
|
self.services["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show vlan %s" % (nw.vlan)
|
cmd = "show vlan %s" % (nw.vlan)
|
||||||
self.debug("command: %s" % cmd)
|
self.debug("command: %s" % cmd)
|
||||||
@ -1984,7 +1972,7 @@ class TestGuestNetworkShutDown(_NetScalerBase):
|
|||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" % \
|
self.fail("SSH Access failed for %s: %s" % \
|
||||||
(self.services["netscaler_VPX"]["ipaddress"], e))
|
(self.services["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@ -2006,7 +1994,7 @@ class TestServiceProvider(_NetScalerDeployVMBase):
|
|||||||
cls.services["ostype"]
|
cls.services["ostype"]
|
||||||
)
|
)
|
||||||
|
|
||||||
netscaler_config = dict(cls.services["netscaler_VPX"])
|
netscaler_config = dict(cls.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'lbdevicededicated': "False"})
|
netscaler_config.update({'lbdevicededicated': "False"})
|
||||||
cls._addNetScaler(netscaler_config)
|
cls._addNetScaler(netscaler_config)
|
||||||
|
|
||||||
@ -2258,7 +2246,7 @@ class TestDeleteNetscaler(_NetScalerDeployVMBase):
|
|||||||
cls.services["ostype"]
|
cls.services["ostype"]
|
||||||
)
|
)
|
||||||
|
|
||||||
netscaler_config = dict(cls.services["netscaler_VPX"])
|
netscaler_config = dict(cls.services["configurableData"]["netscaler"])
|
||||||
netscaler_config.update({'lbdevicededicated': "False"})
|
netscaler_config.update({'lbdevicededicated': "False"})
|
||||||
cls._addNetScaler(netscaler_config)
|
cls._addNetScaler(netscaler_config)
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -31,83 +31,10 @@ from marvin.lib.base import (Account,
|
|||||||
from marvin.lib.common import (get_domain,
|
from marvin.lib.common import (get_domain,
|
||||||
get_zone,
|
get_zone,
|
||||||
get_template,
|
get_template,
|
||||||
add_netscaler,
|
add_netscaler)
|
||||||
GetNetscalerInfoFromConfig)
|
|
||||||
from marvin.sshClient import SshClient
|
from marvin.sshClient import SshClient
|
||||||
|
|
||||||
|
|
||||||
class Services:
|
|
||||||
|
|
||||||
"""Test netscaler services
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
self.services = {
|
|
||||||
"account": {
|
|
||||||
"email": "test@test.com",
|
|
||||||
"firstname": "Test",
|
|
||||||
"lastname": "User",
|
|
||||||
"username": "test",
|
|
||||||
# Random characters are appended for unique
|
|
||||||
# username
|
|
||||||
"password": "password",
|
|
||||||
},
|
|
||||||
"service_offering": {
|
|
||||||
"name": "Tiny Instance",
|
|
||||||
"displaytext": "Tiny Instance",
|
|
||||||
"cpunumber": 1,
|
|
||||||
"cpuspeed": 100, # in MHz
|
|
||||||
"memory": 128, # In MBs
|
|
||||||
},
|
|
||||||
"virtual_machine": {
|
|
||||||
"displayname": "TestVM",
|
|
||||||
"username": "root",
|
|
||||||
"password": "password",
|
|
||||||
"ssh_port": 22,
|
|
||||||
"hypervisor": 'XenServer',
|
|
||||||
"privateport": 22,
|
|
||||||
"publicport": 22,
|
|
||||||
"protocol": 'TCP',
|
|
||||||
},
|
|
||||||
"network_offering": {
|
|
||||||
"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',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"name": "Netscaler",
|
|
||||||
"displaytext": "Netscaler",
|
|
||||||
},
|
|
||||||
"lbrule": {
|
|
||||||
"name": "SSH",
|
|
||||||
"alg": "roundrobin",
|
|
||||||
# Algorithm used for load balancing
|
|
||||||
"privateport": 22,
|
|
||||||
"publicport": 22,
|
|
||||||
"openfirewall": False,
|
|
||||||
},
|
|
||||||
"ostype": 'CentOS 5.3 (64-bit)',
|
|
||||||
# Cent OS 5.3 (64 bit)
|
|
||||||
"sleep": 60,
|
|
||||||
"timeout": 10,
|
|
||||||
"mode": 'advanced'
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class TestLbStickyPolicy(cloudstackTestCase):
|
class TestLbStickyPolicy(cloudstackTestCase):
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -116,46 +43,42 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
cls.testClient = super(TestLbStickyPolicy, cls).getClsTestClient()
|
cls.testClient = super(TestLbStickyPolicy, cls).getClsTestClient()
|
||||||
cls.api_client = cls.testClient.getApiClient()
|
cls.api_client = cls.testClient.getApiClient()
|
||||||
|
|
||||||
cls.services = Services().services
|
# Fill testdata from the external config file
|
||||||
|
cls.testdata = cls.testClient.getParsedTestDataConfig()
|
||||||
# Get Zone, Domain and templates
|
# Get Zone, Domain and templates
|
||||||
cls.domain = get_domain(cls.api_client)
|
cls.domain = get_domain(cls.api_client)
|
||||||
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
||||||
cls.template = get_template(
|
cls.template = get_template(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.services["ostype"]
|
cls.testdata["ostype"]
|
||||||
)
|
)
|
||||||
|
|
||||||
response = GetNetscalerInfoFromConfig(
|
cls.testdata["configurableData"]["netscaler"]["lbdevicededicated"] = False
|
||||||
cls.config
|
|
||||||
)
|
|
||||||
assert response[0] is not None, response[1]
|
|
||||||
cls.services["netscaler"] = response[0]
|
|
||||||
cls.services["netscaler"]["lbdevicededicated"] = False
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cls.netscaler = add_netscaler(
|
cls.netscaler = add_netscaler(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.services["netscaler"])
|
cls.testdata["configurableData"]["netscaler"])
|
||||||
cls._cleanup.append(cls.netscaler)
|
cls._cleanup.append(cls.netscaler)
|
||||||
cls.network_offering = NetworkOffering.create(
|
cls.network_offering = NetworkOffering.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["network_offering"],
|
cls.testdata["nw_off_isolated_netscaler"],
|
||||||
conservemode=True
|
conservemode=True
|
||||||
)
|
)
|
||||||
# Enable Network offering
|
# Enable Network offering
|
||||||
cls.network_offering.update(cls.api_client, state='Enabled')
|
cls.network_offering.update(cls.api_client, state='Enabled')
|
||||||
cls.services["virtual_machine"]["zoneid"] = cls.zone.id
|
cls.testdata["small"]["zoneid"] = cls.zone.id
|
||||||
cls.services["virtual_machine"]["template"] = cls.template.id
|
cls.testdata["small"]["template"] = cls.template.id
|
||||||
|
|
||||||
cls.service_offering = ServiceOffering.create(
|
cls.service_offering = ServiceOffering.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["service_offering"]
|
cls.testdata["service_offering"]
|
||||||
)
|
)
|
||||||
cls.account = Account.create(
|
cls.account = Account.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["account"],
|
cls.testdata["account"],
|
||||||
admin=True,
|
admin=True,
|
||||||
domainid=cls.domain.id
|
domainid=cls.domain.id
|
||||||
)
|
)
|
||||||
@ -163,7 +86,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
# Creating network using the network offering created
|
# Creating network using the network offering created
|
||||||
cls.network = Network.create(
|
cls.network = Network.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["network"],
|
cls.testdata["network"],
|
||||||
accountid=cls.account.name,
|
accountid=cls.account.name,
|
||||||
domainid=cls.account.domainid,
|
domainid=cls.account.domainid,
|
||||||
networkofferingid=cls.network_offering.id,
|
networkofferingid=cls.network_offering.id,
|
||||||
@ -173,7 +96,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
# Spawn an instance in that network
|
# Spawn an instance in that network
|
||||||
cls.virtual_machine = VirtualMachine.create(
|
cls.virtual_machine = VirtualMachine.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["virtual_machine"],
|
cls.testdata["small"],
|
||||||
accountid=cls.account.name,
|
accountid=cls.account.name,
|
||||||
domainid=cls.account.domainid,
|
domainid=cls.account.domainid,
|
||||||
serviceofferingid=cls.service_offering.id,
|
serviceofferingid=cls.service_offering.id,
|
||||||
@ -211,7 +134,6 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
self.debug("Cleaning up the resources")
|
self.debug("Cleaning up the resources")
|
||||||
# Clean up, terminate the created network offerings
|
# Clean up, terminate the created network offerings
|
||||||
cleanup_resources(self.apiclient, self.cleanup)
|
cleanup_resources(self.apiclient, self.cleanup)
|
||||||
self.debug("Cleanup complete!")
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise Exception("Warning: Exception during cleanup : %s" % e)
|
raise Exception("Warning: Exception during cleanup : %s" % e)
|
||||||
return
|
return
|
||||||
@ -238,7 +160,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
lb_rule = LoadBalancerRule.create(
|
lb_rule = LoadBalancerRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["lbrule"],
|
self.testdata["lbrule"],
|
||||||
ipaddressid=self.public_ip.ipaddress.id,
|
ipaddressid=self.public_ip.ipaddress.id,
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
networkid=self.network.id
|
networkid=self.network.id
|
||||||
@ -274,13 +196,13 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"SSH into Netscaler to check whether sticky policy configured\
|
"SSH into Netscaler to check whether sticky policy configured\
|
||||||
properly or not?")
|
properly or not?")
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler"]["ipaddress"])
|
self.testdata["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler"]["ipaddress"],
|
self.testdata["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler"]["port"],
|
self.testdata["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler"]["username"],
|
self.testdata["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler"]["password"],
|
self.testdata["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
||||||
self.public_ip.ipaddress.ipaddress,
|
self.public_ip.ipaddress.ipaddress,
|
||||||
@ -304,7 +226,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" %
|
self.fail("SSH Access failed for %s: %s" %
|
||||||
(self.services["netscaler"]["ipaddress"], e))
|
(self.testdata["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags=["advancedns"])
|
@attr(tags=["advancedns"])
|
||||||
@ -327,10 +249,10 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"Creating LB rule for IP address: %s with source algo" %
|
"Creating LB rule for IP address: %s with source algo" %
|
||||||
self.public_ip.ipaddress.ipaddress)
|
self.public_ip.ipaddress.ipaddress)
|
||||||
|
|
||||||
self.services["lbrule"]["alg"] = 'source'
|
self.testdata["lbrule"]["alg"] = 'source'
|
||||||
lb_rule = LoadBalancerRule.create(
|
lb_rule = LoadBalancerRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["lbrule"],
|
self.testdata["lbrule"],
|
||||||
ipaddressid=self.public_ip.ipaddress.id,
|
ipaddressid=self.public_ip.ipaddress.id,
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
networkid=self.network.id
|
networkid=self.network.id
|
||||||
@ -366,13 +288,13 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"SSH into Netscaler to check whether sticky policy\
|
"SSH into Netscaler to check whether sticky policy\
|
||||||
configured properly or not?")
|
configured properly or not?")
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler"]["ipaddress"])
|
self.testdata["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler"]["ipaddress"],
|
self.testdata["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler"]["port"],
|
self.testdata["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler"]["username"],
|
self.testdata["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler"]["password"],
|
self.testdata["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
||||||
self.public_ip.ipaddress.ipaddress,
|
self.public_ip.ipaddress.ipaddress,
|
||||||
@ -396,7 +318,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" %
|
self.fail("SSH Access failed for %s: %s" %
|
||||||
(self.services["netscaler"]["ipaddress"], e))
|
(self.testdata["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags=["advancedns"])
|
@attr(tags=["advancedns"])
|
||||||
@ -418,10 +340,10 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"Creating LB rule for IP address: %s with leastconn algo" %
|
"Creating LB rule for IP address: %s with leastconn algo" %
|
||||||
self.public_ip.ipaddress.ipaddress)
|
self.public_ip.ipaddress.ipaddress)
|
||||||
|
|
||||||
self.services["lbrule"]["alg"] = 'leastconn'
|
self.testdata["lbrule"]["alg"] = 'leastconn'
|
||||||
lb_rule = LoadBalancerRule.create(
|
lb_rule = LoadBalancerRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["lbrule"],
|
self.testdata["lbrule"],
|
||||||
ipaddressid=self.public_ip.ipaddress.id,
|
ipaddressid=self.public_ip.ipaddress.id,
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
networkid=self.network.id
|
networkid=self.network.id
|
||||||
@ -457,13 +379,13 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"SSH into Netscaler to check whether sticky policy configured\
|
"SSH into Netscaler to check whether sticky policy configured\
|
||||||
properly or not?")
|
properly or not?")
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler"]["ipaddress"])
|
self.testdata["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler"]["ipaddress"],
|
self.testdata["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler"]["port"],
|
self.testdata["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler"]["username"],
|
self.testdata["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler"]["password"],
|
self.testdata["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
||||||
self.public_ip.ipaddress.ipaddress,
|
self.public_ip.ipaddress.ipaddress,
|
||||||
@ -487,7 +409,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" %
|
self.fail("SSH Access failed for %s: %s" %
|
||||||
(self.services["netscaler"]["ipaddress"], e))
|
(self.testdata["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags=["advancedns"])
|
@attr(tags=["advancedns"])
|
||||||
@ -509,12 +431,12 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"Creating LB rule for IP address: %s with roundrobin algo" %
|
"Creating LB rule for IP address: %s with roundrobin algo" %
|
||||||
self.public_ip.ipaddress.ipaddress)
|
self.public_ip.ipaddress.ipaddress)
|
||||||
|
|
||||||
self.services["lbrule"]["alg"] = 'roundrobin'
|
self.testdata["lbrule"]["alg"] = 'roundrobin'
|
||||||
self.services["lbrule"]["publicport"] = 80
|
self.testdata["lbrule"]["publicport"] = 80
|
||||||
self.services["lbrule"]["privateport"] = 80
|
self.testdata["lbrule"]["privateport"] = 80
|
||||||
lb_rule = LoadBalancerRule.create(
|
lb_rule = LoadBalancerRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["lbrule"],
|
self.testdata["lbrule"],
|
||||||
ipaddressid=self.public_ip.ipaddress.id,
|
ipaddressid=self.public_ip.ipaddress.id,
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
networkid=self.network.id
|
networkid=self.network.id
|
||||||
@ -550,13 +472,13 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"SSH into Netscaler to check whether sticky policy\
|
"SSH into Netscaler to check whether sticky policy\
|
||||||
configured properly or not?")
|
configured properly or not?")
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler"]["ipaddress"])
|
self.testdata["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler"]["ipaddress"],
|
self.testdata["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler"]["port"],
|
self.testdata["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler"]["username"],
|
self.testdata["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler"]["password"],
|
self.testdata["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
||||||
self.public_ip.ipaddress.ipaddress,
|
self.public_ip.ipaddress.ipaddress,
|
||||||
@ -580,7 +502,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" %
|
self.fail("SSH Access failed for %s: %s" %
|
||||||
(self.services["netscaler"]["ipaddress"], e))
|
(self.testdata["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags=["advancedns"])
|
@attr(tags=["advancedns"])
|
||||||
@ -602,12 +524,12 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"Creating LB rule for IP address: %s with source algo" %
|
"Creating LB rule for IP address: %s with source algo" %
|
||||||
self.public_ip.ipaddress.ipaddress)
|
self.public_ip.ipaddress.ipaddress)
|
||||||
|
|
||||||
self.services["lbrule"]["alg"] = 'source'
|
self.testdata["lbrule"]["alg"] = 'source'
|
||||||
self.services["lbrule"]["publicport"] = 80
|
self.testdata["lbrule"]["publicport"] = 80
|
||||||
self.services["lbrule"]["privateport"] = 80
|
self.testdata["lbrule"]["privateport"] = 80
|
||||||
lb_rule = LoadBalancerRule.create(
|
lb_rule = LoadBalancerRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["lbrule"],
|
self.testdata["lbrule"],
|
||||||
ipaddressid=self.public_ip.ipaddress.id,
|
ipaddressid=self.public_ip.ipaddress.id,
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
networkid=self.network.id
|
networkid=self.network.id
|
||||||
@ -643,13 +565,13 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"SSH into Netscaler to check whether sticky policy\
|
"SSH into Netscaler to check whether sticky policy\
|
||||||
configured properly or not?")
|
configured properly or not?")
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler"]["ipaddress"])
|
self.testdata["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler"]["ipaddress"],
|
self.testdata["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler"]["port"],
|
self.testdata["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler"]["username"],
|
self.testdata["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler"]["password"],
|
self.testdata["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
||||||
self.public_ip.ipaddress.ipaddress,
|
self.public_ip.ipaddress.ipaddress,
|
||||||
@ -673,7 +595,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" %
|
self.fail("SSH Access failed for %s: %s" %
|
||||||
(self.services["netscaler"]["ipaddress"], e))
|
(self.testdata["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags=["advancedns"])
|
@attr(tags=["advancedns"])
|
||||||
@ -695,12 +617,12 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"Creating LB rule for IP address: %s with leastconn algo" %
|
"Creating LB rule for IP address: %s with leastconn algo" %
|
||||||
self.public_ip.ipaddress.ipaddress)
|
self.public_ip.ipaddress.ipaddress)
|
||||||
|
|
||||||
self.services["lbrule"]["alg"] = 'leastconn'
|
self.testdata["lbrule"]["alg"] = 'leastconn'
|
||||||
self.services["lbrule"]["publicport"] = 80
|
self.testdata["lbrule"]["publicport"] = 80
|
||||||
self.services["lbrule"]["privateport"] = 80
|
self.testdata["lbrule"]["privateport"] = 80
|
||||||
lb_rule = LoadBalancerRule.create(
|
lb_rule = LoadBalancerRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["lbrule"],
|
self.testdata["lbrule"],
|
||||||
ipaddressid=self.public_ip.ipaddress.id,
|
ipaddressid=self.public_ip.ipaddress.id,
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
networkid=self.network.id
|
networkid=self.network.id
|
||||||
@ -736,13 +658,13 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"SSH into Netscaler to check whether sticky policy\
|
"SSH into Netscaler to check whether sticky policy\
|
||||||
configured properly or not?")
|
configured properly or not?")
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler"]["ipaddress"])
|
self.testdata["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler"]["ipaddress"],
|
self.testdata["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler"]["port"],
|
self.testdata["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler"]["username"],
|
self.testdata["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler"]["password"],
|
self.testdata["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
||||||
self.public_ip.ipaddress.ipaddress,
|
self.public_ip.ipaddress.ipaddress,
|
||||||
@ -766,7 +688,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" %
|
self.fail("SSH Access failed for %s: %s" %
|
||||||
(self.services["netscaler"]["ipaddress"], e))
|
(self.testdata["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags=["advancedns"])
|
@attr(tags=["advancedns"])
|
||||||
@ -788,12 +710,12 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"Creating LB rule for IP address: %s with roundrobin algo" %
|
"Creating LB rule for IP address: %s with roundrobin algo" %
|
||||||
self.public_ip.ipaddress.ipaddress)
|
self.public_ip.ipaddress.ipaddress)
|
||||||
|
|
||||||
self.services["lbrule"]["alg"] = 'roundrobin'
|
self.testdata["lbrule"]["alg"] = 'roundrobin'
|
||||||
self.services["lbrule"]["publicport"] = 80
|
self.testdata["lbrule"]["publicport"] = 80
|
||||||
self.services["lbrule"]["privateport"] = 80
|
self.testdata["lbrule"]["privateport"] = 80
|
||||||
lb_rule = LoadBalancerRule.create(
|
lb_rule = LoadBalancerRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["lbrule"],
|
self.testdata["lbrule"],
|
||||||
ipaddressid=self.public_ip.ipaddress.id,
|
ipaddressid=self.public_ip.ipaddress.id,
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
networkid=self.network.id
|
networkid=self.network.id
|
||||||
@ -829,13 +751,13 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"SSH into Netscaler to check whether sticky policy\
|
"SSH into Netscaler to check whether sticky policy\
|
||||||
configured properly or not?")
|
configured properly or not?")
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler"]["ipaddress"])
|
self.testdata["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler"]["ipaddress"],
|
self.testdata["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler"]["port"],
|
self.testdata["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler"]["username"],
|
self.testdata["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler"]["password"],
|
self.testdata["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
||||||
self.public_ip.ipaddress.ipaddress,
|
self.public_ip.ipaddress.ipaddress,
|
||||||
@ -859,7 +781,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" %
|
self.fail("SSH Access failed for %s: %s" %
|
||||||
(self.services["netscaler"]["ipaddress"], e))
|
(self.testdata["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags=["advancedns"])
|
@attr(tags=["advancedns"])
|
||||||
@ -881,12 +803,12 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"Creating LB rule for IP address: %s with source algo" %
|
"Creating LB rule for IP address: %s with source algo" %
|
||||||
self.public_ip.ipaddress.ipaddress)
|
self.public_ip.ipaddress.ipaddress)
|
||||||
|
|
||||||
self.services["lbrule"]["alg"] = 'source'
|
self.testdata["lbrule"]["alg"] = 'source'
|
||||||
self.services["lbrule"]["publicport"] = 80
|
self.testdata["lbrule"]["publicport"] = 80
|
||||||
self.services["lbrule"]["privateport"] = 80
|
self.testdata["lbrule"]["privateport"] = 80
|
||||||
lb_rule = LoadBalancerRule.create(
|
lb_rule = LoadBalancerRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["lbrule"],
|
self.testdata["lbrule"],
|
||||||
ipaddressid=self.public_ip.ipaddress.id,
|
ipaddressid=self.public_ip.ipaddress.id,
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
networkid=self.network.id
|
networkid=self.network.id
|
||||||
@ -922,13 +844,13 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"SSH into Netscaler to check whether sticky policy\
|
"SSH into Netscaler to check whether sticky policy\
|
||||||
configured properly or not?")
|
configured properly or not?")
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler"]["ipaddress"])
|
self.testdata["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler"]["ipaddress"],
|
self.testdata["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler"]["port"],
|
self.testdata["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler"]["username"],
|
self.testdata["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler"]["password"],
|
self.testdata["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
||||||
self.public_ip.ipaddress.ipaddress,
|
self.public_ip.ipaddress.ipaddress,
|
||||||
@ -952,7 +874,7 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" %
|
self.fail("SSH Access failed for %s: %s" %
|
||||||
(self.services["netscaler"]["ipaddress"], e))
|
(self.testdata["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|
||||||
@attr(tags=["advancedns"])
|
@attr(tags=["advancedns"])
|
||||||
@ -974,12 +896,12 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"Creating LB rule for IP address: %s with leastconn algo" %
|
"Creating LB rule for IP address: %s with leastconn algo" %
|
||||||
self.public_ip.ipaddress.ipaddress)
|
self.public_ip.ipaddress.ipaddress)
|
||||||
|
|
||||||
self.services["lbrule"]["alg"] = 'leastconn'
|
self.testdata["lbrule"]["alg"] = 'leastconn'
|
||||||
self.services["lbrule"]["publicport"] = 80
|
self.testdata["lbrule"]["publicport"] = 80
|
||||||
self.services["lbrule"]["privateport"] = 80
|
self.testdata["lbrule"]["privateport"] = 80
|
||||||
lb_rule = LoadBalancerRule.create(
|
lb_rule = LoadBalancerRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["lbrule"],
|
self.testdata["lbrule"],
|
||||||
ipaddressid=self.public_ip.ipaddress.id,
|
ipaddressid=self.public_ip.ipaddress.id,
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
networkid=self.network.id
|
networkid=self.network.id
|
||||||
@ -1015,13 +937,13 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
"SSH into Netscaler to check whether sticky policy\
|
"SSH into Netscaler to check whether sticky policy\
|
||||||
configured properly or not?")
|
configured properly or not?")
|
||||||
self.debug("SSH into netscaler: %s" %
|
self.debug("SSH into netscaler: %s" %
|
||||||
self.services["netscaler"]["ipaddress"])
|
self.testdata["configurableData"]["netscaler"]["ipaddress"])
|
||||||
try:
|
try:
|
||||||
ssh_client = SshClient(
|
ssh_client = SshClient(
|
||||||
self.services["netscaler"]["ipaddress"],
|
self.testdata["configurableData"]["netscaler"]["ipaddress"],
|
||||||
self.services["netscaler"]["port"],
|
self.testdata["configurableData"]["netscaler"]["port"],
|
||||||
self.services["netscaler"]["username"],
|
self.testdata["configurableData"]["netscaler"]["username"],
|
||||||
self.services["netscaler"]["password"],
|
self.testdata["configurableData"]["netscaler"]["password"],
|
||||||
)
|
)
|
||||||
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
cmd = "show lb vserver Cloud-VirtualServer-%s-%s" % (
|
||||||
self.public_ip.ipaddress.ipaddress,
|
self.public_ip.ipaddress.ipaddress,
|
||||||
@ -1045,5 +967,5 @@ class TestLbStickyPolicy(cloudstackTestCase):
|
|||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail("SSH Access failed for %s: %s" %
|
self.fail("SSH Access failed for %s: %s" %
|
||||||
(self.services["netscaler"]["ipaddress"], e))
|
(self.testdata["configurableData"]["netscaler"]["ipaddress"], e))
|
||||||
return
|
return
|
||||||
|
|||||||
@ -40,8 +40,7 @@ from marvin.lib.common import (get_domain,
|
|||||||
get_template,
|
get_template,
|
||||||
verifyNetworkState,
|
verifyNetworkState,
|
||||||
add_netscaler,
|
add_netscaler,
|
||||||
wait_for_cleanup,
|
wait_for_cleanup)
|
||||||
GetNetscalerInfoFromConfig)
|
|
||||||
from nose.plugins.attrib import attr
|
from nose.plugins.attrib import attr
|
||||||
from marvin.codes import PASS, FAIL, FAILED
|
from marvin.codes import PASS, FAIL, FAILED
|
||||||
from marvin.sshClient import SshClient
|
from marvin.sshClient import SshClient
|
||||||
@ -98,12 +97,7 @@ class TestPersistentNetworks(cloudstackTestCase):
|
|||||||
cls.isolated_network_offering_netscaler = cls.createNetworkOffering(
|
cls.isolated_network_offering_netscaler = cls.createNetworkOffering(
|
||||||
"nw_off_isolated_netscaler")
|
"nw_off_isolated_netscaler")
|
||||||
|
|
||||||
response = GetNetscalerInfoFromConfig(
|
cls.services["configurableData"]["netscaler"]["lbdevicededicated"] = False
|
||||||
cls.config
|
|
||||||
)
|
|
||||||
assert response[0] is not None, response[1]
|
|
||||||
cls.services["netscaler"] = response[0]
|
|
||||||
cls.services["netscaler"]["lbdevicededicated"] = False
|
|
||||||
|
|
||||||
# Configure Netscaler device
|
# Configure Netscaler device
|
||||||
# If configuration succeeds, set ns_configured to True so that
|
# If configuration succeeds, set ns_configured to True so that
|
||||||
@ -113,7 +107,7 @@ class TestPersistentNetworks(cloudstackTestCase):
|
|||||||
cls.netscaler = add_netscaler(
|
cls.netscaler = add_netscaler(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.services["netscaler"])
|
cls.services["configurableData"]["netscaler"])
|
||||||
cls._cleanup.append(cls.netscaler)
|
cls._cleanup.append(cls.netscaler)
|
||||||
cls.ns_configured = True
|
cls.ns_configured = True
|
||||||
except Exception:
|
except Exception:
|
||||||
@ -1508,12 +1502,7 @@ class TestAssignVirtualMachine(cloudstackTestCase):
|
|||||||
cls.persistent_network_offering_netscaler = cls.createNetworkOffering(
|
cls.persistent_network_offering_netscaler = cls.createNetworkOffering(
|
||||||
"nw_off_isolated_persistent_netscaler")
|
"nw_off_isolated_persistent_netscaler")
|
||||||
|
|
||||||
response = GetNetscalerInfoFromConfig(
|
cls.services["configurableData"]["netscaler"]["lbdevicededicated"] = False
|
||||||
cls.config
|
|
||||||
)
|
|
||||||
assert response[0] is not None, response[1]
|
|
||||||
cls.services["netscaler"] = response[0]
|
|
||||||
cls.services["netscaler"]["lbdevicededicated"] = False
|
|
||||||
|
|
||||||
# Configure Netscaler device
|
# Configure Netscaler device
|
||||||
# If configuration succeeds, set ns_configured to True so that
|
# If configuration succeeds, set ns_configured to True so that
|
||||||
@ -1523,7 +1512,7 @@ class TestAssignVirtualMachine(cloudstackTestCase):
|
|||||||
cls.netscaler = add_netscaler(
|
cls.netscaler = add_netscaler(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.services["netscaler"])
|
cls.services["configurableData"]["netscaler"])
|
||||||
cls._cleanup.append(cls.netscaler)
|
cls._cleanup.append(cls.netscaler)
|
||||||
cls.ns_configured = True
|
cls.ns_configured = True
|
||||||
except Exception:
|
except Exception:
|
||||||
@ -1979,12 +1968,7 @@ class TestRestartPersistentNetwork(cloudstackTestCase):
|
|||||||
cls.api_client,
|
cls.api_client,
|
||||||
state="enabled")
|
state="enabled")
|
||||||
|
|
||||||
response = GetNetscalerInfoFromConfig(
|
cls.services["configurableData"]["netscaler"]["lbdevicededicated"] = False
|
||||||
cls.config
|
|
||||||
)
|
|
||||||
assert response[0] is not None, response[1]
|
|
||||||
cls.services["netscaler"] = response[0]
|
|
||||||
cls.services["netscaler"]["lbdevicededicated"] = False
|
|
||||||
|
|
||||||
# Configure Netscaler device
|
# Configure Netscaler device
|
||||||
# If configuration succeeds, set ns_configured to True so that
|
# If configuration succeeds, set ns_configured to True so that
|
||||||
@ -1994,7 +1978,7 @@ class TestRestartPersistentNetwork(cloudstackTestCase):
|
|||||||
cls.netscaler = add_netscaler(
|
cls.netscaler = add_netscaler(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.services["netscaler"])
|
cls.services["configurableData"]["netscaler"])
|
||||||
cls._cleanup.append(cls.netscaler)
|
cls._cleanup.append(cls.netscaler)
|
||||||
cls.ns_configured = True
|
cls.ns_configured = True
|
||||||
except Exception:
|
except Exception:
|
||||||
|
|||||||
@ -37,115 +37,11 @@ from marvin.lib.common import (get_zone,
|
|||||||
get_domain,
|
get_domain,
|
||||||
get_region,
|
get_region,
|
||||||
get_pod,
|
get_pod,
|
||||||
isIpInDesiredState,
|
isIpInDesiredState)
|
||||||
getPortableIpRangeServices)
|
|
||||||
from netaddr import IPAddress
|
from netaddr import IPAddress
|
||||||
from marvin.sshClient import SshClient
|
from marvin.sshClient import SshClient
|
||||||
from marvin.codes import FAILED
|
|
||||||
from nose.plugins.attrib import attr
|
from nose.plugins.attrib import attr
|
||||||
|
|
||||||
class Services:
|
|
||||||
"""Test Multiple IP Ranges
|
|
||||||
"""
|
|
||||||
def __init__(self):
|
|
||||||
self.services = {
|
|
||||||
"account": {
|
|
||||||
"email": "test@test.com",
|
|
||||||
"firstname": "Test",
|
|
||||||
"lastname": "User",
|
|
||||||
"username": "test",
|
|
||||||
# Random characters are appended for unique
|
|
||||||
# username
|
|
||||||
"password": "password",
|
|
||||||
},
|
|
||||||
"service_offering": {
|
|
||||||
"name": "Tiny Instance",
|
|
||||||
"displaytext": "Tiny Instance",
|
|
||||||
"cpunumber": 1,
|
|
||||||
"cpuspeed": 200, # in MHz
|
|
||||||
"memory": 256, # In MBs
|
|
||||||
},
|
|
||||||
"network_offering": {
|
|
||||||
"name": 'Network offering portable ip',
|
|
||||||
"displaytext": 'Network offering-VR services',
|
|
||||||
"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": 'VirtualRouter',
|
|
||||||
"UserData": 'VirtualRouter',
|
|
||||||
"StaticNat": 'VirtualRouter',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
"network": {
|
|
||||||
"name": "Test Network - Portable IP",
|
|
||||||
"displaytext": "Test Network - Portable IP",
|
|
||||||
},
|
|
||||||
"network1": {
|
|
||||||
"name": "Test Network 1 - Portable IP",
|
|
||||||
"displaytext": "Test Network 1 - Portable IP",
|
|
||||||
},
|
|
||||||
"network2": {
|
|
||||||
"name": "Test Network 2 - Portable IP",
|
|
||||||
"displaytext": "Test Network 2 - Portable IP",
|
|
||||||
},
|
|
||||||
"disk_offering": {
|
|
||||||
"displaytext": "Small Disk",
|
|
||||||
"name": "Small Disk",
|
|
||||||
"disksize": 1
|
|
||||||
},
|
|
||||||
"natrule": {
|
|
||||||
"privateport": 22,
|
|
||||||
"publicport": 22,
|
|
||||||
"protocol": "TCP",
|
|
||||||
"cidr" : '0.0.0.0/0',
|
|
||||||
},
|
|
||||||
"small":
|
|
||||||
# Create a small virtual machine instance with disk offering
|
|
||||||
{
|
|
||||||
"displayname": "testserver",
|
|
||||||
"username": "root", # VM creds for SSH
|
|
||||||
"password": "password",
|
|
||||||
"ssh_port": 22,
|
|
||||||
"hypervisor": 'XenServer',
|
|
||||||
"privateport": 22,
|
|
||||||
"publicport": 22,
|
|
||||||
"protocol": 'TCP',
|
|
||||||
},
|
|
||||||
"vm1":
|
|
||||||
# Create a small virtual machine instance with disk offering
|
|
||||||
{
|
|
||||||
"displayname": "vm1",
|
|
||||||
"username": "root", # VM creds for SSH
|
|
||||||
"password": "password",
|
|
||||||
"ssh_port": 22,
|
|
||||||
"hypervisor": 'XenServer',
|
|
||||||
"privateport": 22,
|
|
||||||
"publicport": 22,
|
|
||||||
"protocol": 'TCP',
|
|
||||||
},
|
|
||||||
"vm2":
|
|
||||||
# Create a small virtual machine instance with disk offering
|
|
||||||
{
|
|
||||||
"displayname": "vm2",
|
|
||||||
"username": "root", # VM creds for SSH
|
|
||||||
"password": "password",
|
|
||||||
"ssh_port": 22,
|
|
||||||
"hypervisor": 'XenServer',
|
|
||||||
"privateport": 22,
|
|
||||||
"publicport": 22,
|
|
||||||
"protocol": 'TCP',
|
|
||||||
},
|
|
||||||
"ostype": 'CentOS 5.3 (64-bit)'
|
|
||||||
}
|
|
||||||
|
|
||||||
class TestCreatePortablePublicIpRanges(cloudstackTestCase):
|
class TestCreatePortablePublicIpRanges(cloudstackTestCase):
|
||||||
"""Test Create Portable IP Ranges
|
"""Test Create Portable IP Ranges
|
||||||
"""
|
"""
|
||||||
@ -156,16 +52,16 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
cls.testClient = super(TestCreatePortablePublicIpRanges, cls).getClsTestClient()
|
cls.testClient = super(TestCreatePortablePublicIpRanges, cls).getClsTestClient()
|
||||||
cls.api_client = cls.testClient.getApiClient()
|
cls.api_client = cls.testClient.getApiClient()
|
||||||
|
|
||||||
cls.services = Services().services
|
# Fill testdata from the external config file
|
||||||
|
cls.testdata = cls.testClient.getParsedTestDataConfig()
|
||||||
|
|
||||||
# Get Zone, Domain and templates
|
# Get Zone, Domain and templates
|
||||||
cls.region = get_region(cls.api_client)
|
cls.region = get_region(cls.api_client)
|
||||||
cls.domain = get_domain(cls.api_client)
|
cls.domain = get_domain(cls.api_client)
|
||||||
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
||||||
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
||||||
cls.services['mode'] = cls.zone.networktype
|
cls.testdata['mode'] = cls.zone.networktype
|
||||||
cls.services["domainid"] = cls.domain.id
|
cls.testdata["regionid"] = cls.region.id
|
||||||
cls.services["zoneid"] = cls.zone.id
|
|
||||||
cls.services["regionid"] = cls.region.id
|
|
||||||
|
|
||||||
cls._cleanup = []
|
cls._cleanup = []
|
||||||
return
|
return
|
||||||
@ -201,16 +97,12 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
# 1. Create new portable ip range with root admin api
|
# 1. Create new portable ip range with root admin api
|
||||||
# 2. Portable ip range should be created successfully
|
# 2. Portable ip range should be created successfully
|
||||||
|
|
||||||
portable_ip_range_services = getPortableIpRangeServices(self.config)
|
self.testdata["configurableData"]["portableIpRange"]["regionid"] = self.region.id
|
||||||
if portable_ip_range_services is FAILED:
|
|
||||||
self.skipTest('Failed to read config values related to portable ip range')
|
|
||||||
|
|
||||||
portable_ip_range_services["regionid"] = self.region.id
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
#create new portable ip range
|
#create new portable ip range
|
||||||
new_portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
new_portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
||||||
portable_ip_range_services)
|
self.testdata["configurableData"]["portableIpRange"])
|
||||||
|
|
||||||
self.cleanup.append(new_portable_ip_range)
|
self.cleanup.append(new_portable_ip_range)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -224,15 +116,10 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
# 1. Create new portable ip range with non root admin api client
|
# 1. Create new portable ip range with non root admin api client
|
||||||
# 2. Portable ip range should not be created
|
# 2. Portable ip range should not be created
|
||||||
|
|
||||||
portable_ip_range_services = getPortableIpRangeServices(self.config)
|
|
||||||
|
|
||||||
if portable_ip_range_services is FAILED:
|
|
||||||
self.skipTest('Failed to read config values related to portable ip range')
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.account = Account.create(
|
self.account = Account.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["account"],
|
self.testdata["account"],
|
||||||
domainid=self.domain.id
|
domainid=self.domain.id
|
||||||
)
|
)
|
||||||
self.cleanup.append(self.account)
|
self.cleanup.append(self.account)
|
||||||
@ -242,12 +129,12 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
DomainName=self.account.domain
|
DomainName=self.account.domain
|
||||||
)
|
)
|
||||||
|
|
||||||
portable_ip_range_services["regionid"] = self.region.id
|
self.testdata["configurableData"]["portableIpRange"]["regionid"] = self.region.id
|
||||||
|
|
||||||
self.debug("Trying to create portable ip range with non root-admin api client, should raise exception")
|
self.debug("Trying to create portable ip range with non root-admin api client, should raise exception")
|
||||||
with self.assertRaises(Exception):
|
with self.assertRaises(Exception):
|
||||||
portable_ip_range = PortablePublicIpRange.create(self.api_client_user,
|
portable_ip_range = PortablePublicIpRange.create(self.api_client_user,
|
||||||
portable_ip_range_services)
|
self.testdata["configurableData"]["portableIpRange"])
|
||||||
self.cleanup.append(portable_ip_range)
|
self.cleanup.append(portable_ip_range)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.fail(e)
|
self.fail(e)
|
||||||
@ -260,20 +147,14 @@ class TestCreatePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
|
|
||||||
# 1. Try to create new portable ip range with invalid region id
|
# 1. Try to create new portable ip range with invalid region id
|
||||||
# 2. Portable ip range creation should fail
|
# 2. Portable ip range creation should fail
|
||||||
|
self.testdata["configurableData"]["portableIpRange"]["regionid"] = -1
|
||||||
portable_ip_range_services = getPortableIpRangeServices(self.config)
|
|
||||||
|
|
||||||
if portable_ip_range_services is FAILED:
|
|
||||||
self.skipTest('Failed to read config values related to portable ip range')
|
|
||||||
|
|
||||||
portable_ip_range_services["regionid"] = -1
|
|
||||||
|
|
||||||
#create new portable ip range
|
#create new portable ip range
|
||||||
self.debug("Trying to create portable ip range with wrong region id")
|
self.debug("Trying to create portable ip range with wrong region id")
|
||||||
|
|
||||||
with self.assertRaises(Exception):
|
with self.assertRaises(Exception):
|
||||||
portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
||||||
portable_ip_range_services)
|
self.testdata["configurableData"]["portableIpRange"])
|
||||||
self.cleanup.append(portable_ip_range)
|
self.cleanup.append(portable_ip_range)
|
||||||
|
|
||||||
return
|
return
|
||||||
@ -288,16 +169,16 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
cls.testClient = super(TestDeletePortablePublicIpRanges, cls).getClsTestClient()
|
cls.testClient = super(TestDeletePortablePublicIpRanges, cls).getClsTestClient()
|
||||||
cls.api_client = cls.testClient.getApiClient()
|
cls.api_client = cls.testClient.getApiClient()
|
||||||
|
|
||||||
cls.services = Services().services
|
# Fill testdata from the external config file
|
||||||
|
cls.testdata = cls.testClient.getParsedTestDataConfig()
|
||||||
|
|
||||||
# Get Zone, Domain and templates
|
# Get Zone, Domain and templates
|
||||||
cls.region = get_region(cls.api_client)
|
cls.region = get_region(cls.api_client)
|
||||||
cls.domain = get_domain(cls.api_client)
|
cls.domain = get_domain(cls.api_client)
|
||||||
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
||||||
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
||||||
cls.services['mode'] = cls.zone.networktype
|
cls.testdata['mode'] = cls.zone.networktype
|
||||||
cls.services["domainid"] = cls.domain.id
|
cls.testdata["regionid"] = cls.region.id
|
||||||
cls.services["zoneid"] = cls.zone.id
|
|
||||||
cls.services["regionid"] = cls.region.id
|
|
||||||
|
|
||||||
cls._cleanup = []
|
cls._cleanup = []
|
||||||
return
|
return
|
||||||
@ -315,16 +196,11 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
self.apiclient = self.testClient.getApiClient()
|
self.apiclient = self.testClient.getApiClient()
|
||||||
self.dbclient = self.testClient.getDbConnection()
|
self.dbclient = self.testClient.getDbConnection()
|
||||||
|
|
||||||
portable_ip_range_services = getPortableIpRangeServices(self.config)
|
self.testdata["configurableData"]["portableIpRange"]["regionid"] = self.region.id
|
||||||
|
|
||||||
if portable_ip_range_services is FAILED:
|
|
||||||
self.skipTest('Failed to read config values related to portable ip range')
|
|
||||||
|
|
||||||
portable_ip_range_services["regionid"] = self.region.id
|
|
||||||
|
|
||||||
#create new portable ip range
|
#create new portable ip range
|
||||||
self.portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
self.portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
||||||
portable_ip_range_services)
|
self.testdata["configurableData"]["portableIpRange"])
|
||||||
|
|
||||||
self.cleanup = []
|
self.cleanup = []
|
||||||
return
|
return
|
||||||
@ -357,7 +233,7 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
try:
|
try:
|
||||||
self.account = Account.create(
|
self.account = Account.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["account"],
|
self.testdata["account"],
|
||||||
domainid=self.domain.id
|
domainid=self.domain.id
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -390,14 +266,14 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
try:
|
try:
|
||||||
self.account = Account.create(
|
self.account = Account.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["account"],
|
self.testdata["account"],
|
||||||
domainid=self.domain.id
|
domainid=self.domain.id
|
||||||
)
|
)
|
||||||
|
|
||||||
self.cleanup.append(self.account)
|
self.cleanup.append(self.account)
|
||||||
self.network_offering = NetworkOffering.create(
|
self.network_offering = NetworkOffering.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["network_offering"],
|
self.testdata["isolated_network_offering"],
|
||||||
conservemode=False
|
conservemode=False
|
||||||
)
|
)
|
||||||
# Enable Network offering
|
# Enable Network offering
|
||||||
@ -405,7 +281,7 @@ class TestDeletePortablePublicIpRanges(cloudstackTestCase):
|
|||||||
|
|
||||||
self.network = Network.create(
|
self.network = Network.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["network"],
|
self.testdata["network"],
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
domainid=self.account.domainid,
|
domainid=self.account.domainid,
|
||||||
networkofferingid=self.network_offering.id,
|
networkofferingid=self.network_offering.id,
|
||||||
@ -446,16 +322,16 @@ class TestListPortablePublicIpRanges(cloudstackTestCase):
|
|||||||
cls.testClient = super(TestListPortablePublicIpRanges, cls).getClsTestClient()
|
cls.testClient = super(TestListPortablePublicIpRanges, cls).getClsTestClient()
|
||||||
cls.api_client = cls.testClient.getApiClient()
|
cls.api_client = cls.testClient.getApiClient()
|
||||||
|
|
||||||
cls.services = Services().services
|
# Fill testdata from the external config file
|
||||||
|
cls.testdata = cls.testClient.getParsedTestDataConfig()
|
||||||
|
|
||||||
# Get Zone, Domain and templates
|
# Get Zone, Domain and templates
|
||||||
cls.region = get_region(cls.api_client)
|
cls.region = get_region(cls.api_client)
|
||||||
cls.domain = get_domain(cls.api_client)
|
cls.domain = get_domain(cls.api_client)
|
||||||
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
||||||
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
||||||
cls.services['mode'] = cls.zone.networktype
|
cls.testdata['mode'] = cls.zone.networktype
|
||||||
cls.services["domainid"] = cls.domain.id
|
cls.testdata["regionid"] = cls.region.id
|
||||||
cls.services["zoneid"] = cls.zone.id
|
|
||||||
cls.services["regionid"] = cls.region.id
|
|
||||||
|
|
||||||
cls._cleanup = []
|
cls._cleanup = []
|
||||||
return
|
return
|
||||||
@ -473,21 +349,15 @@ class TestListPortablePublicIpRanges(cloudstackTestCase):
|
|||||||
self.apiclient = self.testClient.getApiClient()
|
self.apiclient = self.testClient.getApiClient()
|
||||||
self.dbclient = self.testClient.getDbConnection()
|
self.dbclient = self.testClient.getDbConnection()
|
||||||
|
|
||||||
#create new portable ip range
|
self.testdata["configurableData"]["portableIpRange"]["regionid"] = self.region.id
|
||||||
self.portable_ip_range_services = getPortableIpRangeServices(self.config)
|
|
||||||
|
|
||||||
if self.portable_ip_range_services is FAILED:
|
|
||||||
self.skipTest('Failed to read config values related to portable ip range')
|
|
||||||
|
|
||||||
self.portable_ip_range_services["regionid"] = self.region.id
|
|
||||||
|
|
||||||
self.debug("Creating new portable IP range with startip:%s and endip:%s" %
|
self.debug("Creating new portable IP range with startip:%s and endip:%s" %
|
||||||
(str(self.portable_ip_range_services["startip"]),
|
(str(self.testdata["configurableData"]["portableIpRange"]["startip"]),
|
||||||
str(self.portable_ip_range_services["endip"])))
|
str(self.testdata["configurableData"]["portableIpRange"]["endip"])))
|
||||||
|
|
||||||
#create new portable ip range
|
#create new portable ip range
|
||||||
self.portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
self.portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
||||||
self.portable_ip_range_services)
|
self.testdata["configurableData"]["portableIpRange"])
|
||||||
|
|
||||||
self.debug("Created new portable IP range with startip:%s and endip:%s and id:%s" %
|
self.debug("Created new portable IP range with startip:%s and endip:%s and id:%s" %
|
||||||
(self.portable_ip_range.startip,
|
(self.portable_ip_range.startip,
|
||||||
@ -524,16 +394,16 @@ class TestListPortablePublicIpRanges(cloudstackTestCase):
|
|||||||
|
|
||||||
portable_ip_range = list_portable_ip_range[0]
|
portable_ip_range = list_portable_ip_range[0]
|
||||||
|
|
||||||
self.assertEqual(str(portable_ip_range.startip), str(self.portable_ip_range_services["startip"]),
|
self.assertEqual(str(portable_ip_range.startip), str(self.testdata["configurableData"]["portableIpRange"]["startip"]),
|
||||||
"Listed startip not matching with the startip of created public ip range")
|
"Listed startip not matching with the startip of created public ip range")
|
||||||
|
|
||||||
self.assertEqual(str(portable_ip_range.endip), str(self.portable_ip_range_services["endip"]),
|
self.assertEqual(str(portable_ip_range.endip), str(self.testdata["configurableData"]["portableIpRange"]["endip"]),
|
||||||
"Listed endip not matching with the endip of created public ip range")
|
"Listed endip not matching with the endip of created public ip range")
|
||||||
|
|
||||||
self.assertEqual(str(portable_ip_range.gateway), str(self.portable_ip_range_services["gateway"]),
|
self.assertEqual(str(portable_ip_range.gateway), str(self.testdata["configurableData"]["portableIpRange"]["gateway"]),
|
||||||
"Listed gateway not matching with the gateway of created public ip range")
|
"Listed gateway not matching with the gateway of created public ip range")
|
||||||
|
|
||||||
self.assertEqual(str(portable_ip_range.netmask), str(self.portable_ip_range_services["netmask"]),
|
self.assertEqual(str(portable_ip_range.netmask), str(self.testdata["configurableData"]["portableIpRange"]["netmask"]),
|
||||||
"Listed netmask not matching with the netmask of created public ip range")
|
"Listed netmask not matching with the netmask of created public ip range")
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -547,7 +417,7 @@ class TestListPortablePublicIpRanges(cloudstackTestCase):
|
|||||||
|
|
||||||
self.account = Account.create(
|
self.account = Account.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["account"],
|
self.testdata["account"],
|
||||||
domainid=self.domain.id
|
domainid=self.domain.id
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -572,29 +442,29 @@ class TestAssociatePublicIp(cloudstackTestCase):
|
|||||||
cls.testClient = super(TestAssociatePublicIp, cls).getClsTestClient()
|
cls.testClient = super(TestAssociatePublicIp, cls).getClsTestClient()
|
||||||
cls.api_client = cls.testClient.getApiClient()
|
cls.api_client = cls.testClient.getApiClient()
|
||||||
|
|
||||||
cls.services = Services().services
|
# Fill testdata from the external config file
|
||||||
|
cls.testdata = cls.testClient.getParsedTestDataConfig()
|
||||||
|
|
||||||
# Get Zone, Domain and templates
|
# Get Zone, Domain and templates
|
||||||
cls.region = get_region(cls.api_client)
|
cls.region = get_region(cls.api_client)
|
||||||
cls.domain = get_domain(cls.api_client)
|
cls.domain = get_domain(cls.api_client)
|
||||||
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
||||||
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
||||||
cls.services['mode'] = cls.zone.networktype
|
cls.testdata['mode'] = cls.zone.networktype
|
||||||
cls.services["domainid"] = cls.domain.id
|
cls.testdata["regionid"] = cls.region.id
|
||||||
cls.services["zoneid"] = cls.zone.id
|
|
||||||
cls.services["regionid"] = cls.region.id
|
|
||||||
|
|
||||||
template = get_template(
|
template = get_template(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.services["ostype"]
|
cls.testdata["ostype"]
|
||||||
)
|
)
|
||||||
# Set Zones and disk offerings
|
# Set Zones and disk offerings
|
||||||
cls.services["small"]["zoneid"] = cls.zone.id
|
cls.testdata["small"]["zoneid"] = cls.zone.id
|
||||||
cls.services["small"]["template"] = template.id
|
cls.testdata["small"]["template"] = template.id
|
||||||
|
|
||||||
cls.account = Account.create(
|
cls.account = Account.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["account"],
|
cls.testdata["account"],
|
||||||
domainid=cls.domain.id,
|
domainid=cls.domain.id,
|
||||||
admin=True
|
admin=True
|
||||||
)
|
)
|
||||||
@ -602,7 +472,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
|
|||||||
|
|
||||||
cls.network_offering = NetworkOffering.create(
|
cls.network_offering = NetworkOffering.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["network_offering"],
|
cls.testdata["isolated_network_offering"],
|
||||||
conservemode=False
|
conservemode=False
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -611,7 +481,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
|
|||||||
|
|
||||||
cls.network = Network.create(
|
cls.network = Network.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["network"],
|
cls.testdata["network"],
|
||||||
accountid=cls.account.name,
|
accountid=cls.account.name,
|
||||||
domainid=cls.account.domainid,
|
domainid=cls.account.domainid,
|
||||||
networkofferingid=cls.network_offering.id,
|
networkofferingid=cls.network_offering.id,
|
||||||
@ -635,17 +505,10 @@ class TestAssociatePublicIp(cloudstackTestCase):
|
|||||||
self.dbclient = self.testClient.getDbConnection()
|
self.dbclient = self.testClient.getDbConnection()
|
||||||
|
|
||||||
self.cleanup = []
|
self.cleanup = []
|
||||||
|
self.testdata["configurableData"]["portableIpRange"]["regionid"] = self.region.id
|
||||||
portable_ip_range_services = getPortableIpRangeServices(self.config)
|
|
||||||
|
|
||||||
if portable_ip_range_services is FAILED:
|
|
||||||
self.skipTest('Failed to read config values related to portable ip range')
|
|
||||||
|
|
||||||
portable_ip_range_services["regionid"] = self.region.id
|
|
||||||
|
|
||||||
#create new portable ip range
|
#create new portable ip range
|
||||||
self.portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
self.portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
||||||
portable_ip_range_services)
|
self.testdata["configurableData"]["portableIpRange"])
|
||||||
self.cleanup.append(self.portable_ip_range)
|
self.cleanup.append(self.portable_ip_range)
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -741,7 +604,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
|
|||||||
|
|
||||||
self.service_offering = ServiceOffering.create(
|
self.service_offering = ServiceOffering.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["service_offering"]
|
self.testdata["service_offering"]
|
||||||
)
|
)
|
||||||
|
|
||||||
self.cleanup.append(self.service_offering)
|
self.cleanup.append(self.service_offering)
|
||||||
@ -751,12 +614,12 @@ class TestAssociatePublicIp(cloudstackTestCase):
|
|||||||
self.debug("DeployingVirtual Machine")
|
self.debug("DeployingVirtual Machine")
|
||||||
self.virtual_machine = VirtualMachine.create(
|
self.virtual_machine = VirtualMachine.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["small"],
|
self.testdata["small"],
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
domainid=self.account.domainid,
|
domainid=self.account.domainid,
|
||||||
serviceofferingid=self.service_offering.id,
|
serviceofferingid=self.service_offering.id,
|
||||||
networkids = [self.network.id],
|
networkids = [self.network.id],
|
||||||
mode=self.services['mode']
|
mode=self.testdata['mode']
|
||||||
)
|
)
|
||||||
self.debug("Created virtual machine instance: %s with ssh_ip: %s" %
|
self.debug("Created virtual machine instance: %s with ssh_ip: %s" %
|
||||||
(self.virtual_machine.id, self.virtual_machine.ssh_ip))
|
(self.virtual_machine.id, self.virtual_machine.ssh_ip))
|
||||||
@ -788,10 +651,10 @@ class TestAssociatePublicIp(cloudstackTestCase):
|
|||||||
fw_rule = FireWallRule.create(
|
fw_rule = FireWallRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
ipaddressid=portableip.ipaddress.id,
|
ipaddressid=portableip.ipaddress.id,
|
||||||
protocol=self.services["natrule"]["protocol"],
|
protocol=self.testdata["natrule"]["protocol"],
|
||||||
cidrlist=[self.services["natrule"]["cidr"]],
|
cidrlist=["0.0.0.0/0"],
|
||||||
startport=self.services["natrule"]["publicport"],
|
startport=self.testdata["natrule"]["publicport"],
|
||||||
endport=self.services["natrule"]["publicport"]
|
endport=self.testdata["natrule"]["publicport"]
|
||||||
)
|
)
|
||||||
|
|
||||||
#Create NAT rule
|
#Create NAT rule
|
||||||
@ -799,7 +662,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
|
|||||||
nat_rule = NATRule.create(
|
nat_rule = NATRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.virtual_machine,
|
self.virtual_machine,
|
||||||
self.services["natrule"],
|
self.testdata["natrule"],
|
||||||
portableip.ipaddress.id
|
portableip.ipaddress.id
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -810,7 +673,7 @@ class TestAssociatePublicIp(cloudstackTestCase):
|
|||||||
|
|
||||||
self.debug("Trying to SSH to ip: %s" % portableip.ipaddress.ipaddress)
|
self.debug("Trying to SSH to ip: %s" % portableip.ipaddress.ipaddress)
|
||||||
SshClient(portableip.ipaddress.ipaddress,
|
SshClient(portableip.ipaddress.ipaddress,
|
||||||
self.services['natrule']["publicport"],
|
self.testdata['natrule']["publicport"],
|
||||||
self.virtual_machine.username,
|
self.virtual_machine.username,
|
||||||
self.virtual_machine.password
|
self.virtual_machine.password
|
||||||
)
|
)
|
||||||
@ -888,30 +751,30 @@ class TestDisassociatePublicIp(cloudstackTestCase):
|
|||||||
cls.testClient = super(TestDisassociatePublicIp, cls).getClsTestClient()
|
cls.testClient = super(TestDisassociatePublicIp, cls).getClsTestClient()
|
||||||
cls.api_client = cls.testClient.getApiClient()
|
cls.api_client = cls.testClient.getApiClient()
|
||||||
|
|
||||||
cls.services = Services().services
|
# Fill testdata from the external config file
|
||||||
|
cls.testdata = cls.testClient.getParsedTestDataConfig()
|
||||||
|
|
||||||
# Get Zone, Domain and templates
|
# Get Zone, Domain and templates
|
||||||
cls.region = get_region(cls.api_client)
|
cls.region = get_region(cls.api_client)
|
||||||
cls.domain = get_domain(cls.api_client)
|
cls.domain = get_domain(cls.api_client)
|
||||||
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
||||||
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
||||||
cls.services['mode'] = cls.zone.networktype
|
cls.testdata['mode'] = cls.zone.networktype
|
||||||
cls.services["domainid"] = cls.domain.id
|
cls.testdata["regionid"] = cls.region.id
|
||||||
cls.services["zoneid"] = cls.zone.id
|
|
||||||
cls.services["regionid"] = cls.region.id
|
|
||||||
|
|
||||||
template = get_template(
|
template = get_template(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.services["ostype"]
|
cls.testdata["ostype"]
|
||||||
)
|
)
|
||||||
# Set Zones and disk offerings
|
# Set Zones and disk offerings
|
||||||
cls.services["small"]["zoneid"] = cls.zone.id
|
cls.testdata["small"]["zoneid"] = cls.zone.id
|
||||||
cls.services["small"]["template"] = template.id
|
cls.testdata["small"]["template"] = template.id
|
||||||
cls._cleanup = []
|
cls._cleanup = []
|
||||||
|
|
||||||
cls.account = Account.create(
|
cls.account = Account.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["account"],
|
cls.testdata["account"],
|
||||||
domainid=cls.domain.id,
|
domainid=cls.domain.id,
|
||||||
admin=True
|
admin=True
|
||||||
)
|
)
|
||||||
@ -919,13 +782,13 @@ class TestDisassociatePublicIp(cloudstackTestCase):
|
|||||||
|
|
||||||
cls.service_offering = ServiceOffering.create(
|
cls.service_offering = ServiceOffering.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["service_offering"]
|
cls.testdata["service_offering"]
|
||||||
)
|
)
|
||||||
cls._cleanup.append(cls.service_offering)
|
cls._cleanup.append(cls.service_offering)
|
||||||
|
|
||||||
cls.network_offering = NetworkOffering.create(
|
cls.network_offering = NetworkOffering.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["network_offering"],
|
cls.testdata["isolated_network_offering"],
|
||||||
conservemode=False
|
conservemode=False
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -935,7 +798,7 @@ class TestDisassociatePublicIp(cloudstackTestCase):
|
|||||||
|
|
||||||
cls.network = Network.create(
|
cls.network = Network.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["network"],
|
cls.testdata["network"],
|
||||||
accountid=cls.account.name,
|
accountid=cls.account.name,
|
||||||
domainid=cls.account.domainid,
|
domainid=cls.account.domainid,
|
||||||
networkofferingid=cls.network_offering.id,
|
networkofferingid=cls.network_offering.id,
|
||||||
@ -944,12 +807,12 @@ class TestDisassociatePublicIp(cloudstackTestCase):
|
|||||||
|
|
||||||
cls.virtual_machine = VirtualMachine.create(
|
cls.virtual_machine = VirtualMachine.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["small"],
|
cls.testdata["small"],
|
||||||
accountid=cls.account.name,
|
accountid=cls.account.name,
|
||||||
domainid=cls.account.domainid,
|
domainid=cls.account.domainid,
|
||||||
serviceofferingid=cls.service_offering.id,
|
serviceofferingid=cls.service_offering.id,
|
||||||
networkids = [cls.network.id],
|
networkids = [cls.network.id],
|
||||||
mode=cls.services['mode']
|
mode=cls.testdata['mode']
|
||||||
)
|
)
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -969,16 +832,11 @@ class TestDisassociatePublicIp(cloudstackTestCase):
|
|||||||
self.dbclient = self.testClient.getDbConnection()
|
self.dbclient = self.testClient.getDbConnection()
|
||||||
self.cleanup = []
|
self.cleanup = []
|
||||||
|
|
||||||
portable_ip_range_services = getPortableIpRangeServices(self.config)
|
self.testdata["configurableData"]["portableIpRange"]["regionid"] = self.region.id
|
||||||
|
|
||||||
if portable_ip_range_services is FAILED:
|
|
||||||
self.skipTest('Failed to read config values related to portable ip range')
|
|
||||||
|
|
||||||
portable_ip_range_services["regionid"] = self.region.id
|
|
||||||
|
|
||||||
#create new portable ip range
|
#create new portable ip range
|
||||||
new_portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
new_portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
||||||
portable_ip_range_services)
|
self.testdata["configurableData"]["portableIpRange"])
|
||||||
self.cleanup.append(new_portable_ip_range)
|
self.cleanup.append(new_portable_ip_range)
|
||||||
return
|
return
|
||||||
|
|
||||||
@ -1047,10 +905,10 @@ class TestDisassociatePublicIp(cloudstackTestCase):
|
|||||||
FireWallRule.create(
|
FireWallRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
ipaddressid=portableip.ipaddress.id,
|
ipaddressid=portableip.ipaddress.id,
|
||||||
protocol=self.services["natrule"]["protocol"],
|
protocol=self.testdata["natrule"]["protocol"],
|
||||||
cidrlist=[self.services["natrule"]["cidr"]],
|
cidrlist=["0.0.0.0/0"],
|
||||||
startport=self.services["natrule"]["publicport"],
|
startport=self.testdata["natrule"]["publicport"],
|
||||||
endport=self.services["natrule"]["publicport"]
|
endport=self.testdata["natrule"]["publicport"]
|
||||||
)
|
)
|
||||||
|
|
||||||
#Create NAT rule
|
#Create NAT rule
|
||||||
@ -1058,7 +916,7 @@ class TestDisassociatePublicIp(cloudstackTestCase):
|
|||||||
NATRule.create(
|
NATRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.virtual_machine,
|
self.virtual_machine,
|
||||||
self.services["natrule"],
|
self.testdata["natrule"],
|
||||||
portableip.ipaddress.id
|
portableip.ipaddress.id
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -1096,7 +954,7 @@ class TestDisassociatePublicIp(cloudstackTestCase):
|
|||||||
try:
|
try:
|
||||||
self.otherAccount = Account.create(
|
self.otherAccount = Account.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["account"],
|
self.testdata["account"],
|
||||||
domainid=self.domain.id
|
domainid=self.domain.id
|
||||||
)
|
)
|
||||||
self.cleanup.append(self.otherAccount)
|
self.cleanup.append(self.otherAccount)
|
||||||
@ -1127,25 +985,24 @@ class TestDeleteAccount(cloudstackTestCase):
|
|||||||
cls.testClient = super(TestDeleteAccount, cls).getClsTestClient()
|
cls.testClient = super(TestDeleteAccount, cls).getClsTestClient()
|
||||||
cls.api_client = cls.testClient.getApiClient()
|
cls.api_client = cls.testClient.getApiClient()
|
||||||
|
|
||||||
cls.services = Services().services
|
# Fill testdata from the external config file
|
||||||
|
cls.testdata = cls.testClient.getParsedTestDataConfig()
|
||||||
|
|
||||||
# Get Zone, Domain and templates
|
# Get Zone, Domain and templates
|
||||||
cls.region = get_region(cls.api_client)
|
cls.region = get_region(cls.api_client)
|
||||||
cls.domain = get_domain(cls.api_client)
|
cls.domain = get_domain(cls.api_client)
|
||||||
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
||||||
cls.services['mode'] = cls.zone.networktype
|
|
||||||
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
||||||
cls.services['mode'] = cls.zone.networktype
|
cls.testdata['mode'] = cls.zone.networktype
|
||||||
cls.services["domainid"] = cls.domain.id
|
cls.testdata["regionid"] = cls.region.id
|
||||||
cls.services["zoneid"] = cls.zone.id
|
|
||||||
cls.services["regionid"] = cls.region.id
|
|
||||||
template = get_template(
|
template = get_template(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.services["ostype"]
|
cls.testdata["ostype"]
|
||||||
)
|
)
|
||||||
# Set Zones and disk offerings
|
# Set Zones and disk offerings
|
||||||
cls.services["small"]["zoneid"] = cls.zone.id
|
cls.testdata["small"]["zoneid"] = cls.zone.id
|
||||||
cls.services["small"]["template"] = template.id
|
cls.testdata["small"]["template"] = template.id
|
||||||
|
|
||||||
cls._cleanup = []
|
cls._cleanup = []
|
||||||
return
|
return
|
||||||
@ -1163,27 +1020,23 @@ class TestDeleteAccount(cloudstackTestCase):
|
|||||||
self.apiclient = self.testClient.getApiClient()
|
self.apiclient = self.testClient.getApiClient()
|
||||||
self.dbclient = self.testClient.getDbConnection()
|
self.dbclient = self.testClient.getDbConnection()
|
||||||
|
|
||||||
portable_ip_range_services = getPortableIpRangeServices(self.config)
|
|
||||||
if portable_ip_range_services is FAILED:
|
|
||||||
self.skipTest('Failed to read config values related to portable ip range')
|
|
||||||
|
|
||||||
self.cleanup = []
|
self.cleanup = []
|
||||||
try:
|
try:
|
||||||
self.account = Account.create(
|
self.account = Account.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["account"],
|
self.testdata["account"],
|
||||||
domainid=self.domain.id,
|
domainid=self.domain.id,
|
||||||
admin=True
|
admin=True
|
||||||
)
|
)
|
||||||
self.cleanup.append(self.account)
|
self.cleanup.append(self.account)
|
||||||
portable_ip_range_services["regionid"] = self.region.id
|
self.testdata["configurableData"]["portableIpRange"]["regionid"] = self.region.id
|
||||||
#create new portable ip range
|
#create new portable ip range
|
||||||
new_portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
new_portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
||||||
portable_ip_range_services)
|
self.testdata["configurableData"]["portableIpRange"])
|
||||||
self.cleanup.append(new_portable_ip_range)
|
self.cleanup.append(new_portable_ip_range)
|
||||||
self.network_offering = NetworkOffering.create(
|
self.network_offering = NetworkOffering.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["network_offering"],
|
self.testdata["isolated_network_offering"],
|
||||||
conservemode=False
|
conservemode=False
|
||||||
)
|
)
|
||||||
# Enable Network offering
|
# Enable Network offering
|
||||||
@ -1191,7 +1044,7 @@ class TestDeleteAccount(cloudstackTestCase):
|
|||||||
|
|
||||||
self.network = Network.create(
|
self.network = Network.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["network"],
|
self.testdata["network"],
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
domainid=self.account.domainid,
|
domainid=self.account.domainid,
|
||||||
networkofferingid=self.network_offering.id,
|
networkofferingid=self.network_offering.id,
|
||||||
@ -1243,7 +1096,7 @@ class TestDeleteAccount(cloudstackTestCase):
|
|||||||
|
|
||||||
self.service_offering = ServiceOffering.create(
|
self.service_offering = ServiceOffering.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["service_offering"]
|
self.testdata["service_offering"]
|
||||||
)
|
)
|
||||||
|
|
||||||
self.cleanup.append(self.service_offering)
|
self.cleanup.append(self.service_offering)
|
||||||
@ -1251,11 +1104,11 @@ class TestDeleteAccount(cloudstackTestCase):
|
|||||||
self.debug("Deploying Virtual Machine")
|
self.debug("Deploying Virtual Machine")
|
||||||
self.virtual_machine = VirtualMachine.create(
|
self.virtual_machine = VirtualMachine.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.services["small"],
|
self.testdata["small"],
|
||||||
accountid=self.account.name,
|
accountid=self.account.name,
|
||||||
domainid=self.account.domainid,
|
domainid=self.account.domainid,
|
||||||
serviceofferingid=self.service_offering.id,
|
serviceofferingid=self.service_offering.id,
|
||||||
mode=self.services['mode']
|
mode=self.testdata['mode']
|
||||||
)
|
)
|
||||||
self.debug("Created virtual machine instance: %s" % self.virtual_machine.id)
|
self.debug("Created virtual machine instance: %s" % self.virtual_machine.id)
|
||||||
|
|
||||||
@ -1284,10 +1137,10 @@ class TestDeleteAccount(cloudstackTestCase):
|
|||||||
FireWallRule.create(
|
FireWallRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
ipaddressid=portableip.ipaddress.id,
|
ipaddressid=portableip.ipaddress.id,
|
||||||
protocol=self.services["natrule"]["protocol"],
|
protocol=self.testdata["natrule"]["protocol"],
|
||||||
cidrlist=[self.services["natrule"]["cidr"]],
|
cidrlist=["0.0.0.0/0"],
|
||||||
startport=self.services["natrule"]["publicport"],
|
startport=self.testdata["natrule"]["publicport"],
|
||||||
endport=self.services["natrule"]["publicport"]
|
endport=self.testdata["natrule"]["publicport"]
|
||||||
)
|
)
|
||||||
|
|
||||||
#Create NAT rule
|
#Create NAT rule
|
||||||
@ -1295,7 +1148,7 @@ class TestDeleteAccount(cloudstackTestCase):
|
|||||||
NATRule.create(
|
NATRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
self.virtual_machine,
|
self.virtual_machine,
|
||||||
self.services["natrule"],
|
self.testdata["natrule"],
|
||||||
portableip.ipaddress.id
|
portableip.ipaddress.id
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -1325,34 +1178,32 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
|
|||||||
cls.testClient = super(TestPortableIpTransferAcrossNetworks, cls).getClsTestClient()
|
cls.testClient = super(TestPortableIpTransferAcrossNetworks, cls).getClsTestClient()
|
||||||
cls.api_client = cls.testClient.getApiClient()
|
cls.api_client = cls.testClient.getApiClient()
|
||||||
|
|
||||||
cls.services = Services().services
|
# Fill testdata from the external config file
|
||||||
|
cls.testdata = cls.testClient.getParsedTestDataConfig()
|
||||||
|
|
||||||
# Get Zone, Domain and templates
|
# Get Zone, Domain and templates
|
||||||
cls.region = get_region(cls.api_client)
|
cls.region = get_region(cls.api_client)
|
||||||
cls.domain = get_domain(cls.api_client)
|
cls.domain = get_domain(cls.api_client)
|
||||||
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
|
||||||
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
cls.pod = get_pod(cls.api_client, cls.zone.id)
|
||||||
cls.services['mode'] = cls.zone.networktype
|
cls.testdata['mode'] = cls.zone.networktype
|
||||||
cls.services["domainid"] = cls.domain.id
|
cls.testdata["regionid"] = cls.region.id
|
||||||
cls.services["zoneid"] = cls.zone.id
|
|
||||||
cls.services["regionid"] = cls.region.id
|
|
||||||
|
|
||||||
template = get_template(
|
template = get_template(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.zone.id,
|
cls.zone.id,
|
||||||
cls.services["ostype"]
|
cls.testdata["ostype"]
|
||||||
)
|
)
|
||||||
# Set Zones and disk offerings
|
# Set Zones and disk offerings
|
||||||
cls.services["vm1"]["zoneid"] = cls.zone.id
|
cls.testdata["small"]["zoneid"] = cls.zone.id
|
||||||
cls.services["vm1"]["template"] = template.id
|
cls.testdata["small"]["template"] = template.id
|
||||||
cls.services["vm2"]["zoneid"] = cls.zone.id
|
|
||||||
cls.services["vm2"]["template"] = template.id
|
|
||||||
|
|
||||||
cls._cleanup = []
|
cls._cleanup = []
|
||||||
|
|
||||||
# Set Zones and Network offerings
|
# Set Zones and Network offerings
|
||||||
cls.account = Account.create(
|
cls.account = Account.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["account"],
|
cls.testdata["account"],
|
||||||
domainid=cls.domain.id,
|
domainid=cls.domain.id,
|
||||||
admin=True
|
admin=True
|
||||||
)
|
)
|
||||||
@ -1360,7 +1211,7 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
|
|||||||
|
|
||||||
cls.network_offering = NetworkOffering.create(
|
cls.network_offering = NetworkOffering.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["network_offering"],
|
cls.testdata["isolated_network_offering"],
|
||||||
conservemode=False
|
conservemode=False
|
||||||
)
|
)
|
||||||
cls._cleanup.append(cls.network_offering)
|
cls._cleanup.append(cls.network_offering)
|
||||||
@ -1369,12 +1220,12 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
|
|||||||
cls.network_offering.update(cls.api_client, state='Enabled')
|
cls.network_offering.update(cls.api_client, state='Enabled')
|
||||||
cls.service_offering = ServiceOffering.create(
|
cls.service_offering = ServiceOffering.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["service_offering"]
|
cls.testdata["service_offering"]
|
||||||
)
|
)
|
||||||
|
|
||||||
cls.network1 = Network.create(
|
cls.network1 = Network.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["network1"],
|
cls.testdata["network"],
|
||||||
accountid=cls.account.name,
|
accountid=cls.account.name,
|
||||||
domainid=cls.account.domainid,
|
domainid=cls.account.domainid,
|
||||||
networkofferingid=cls.network_offering.id,
|
networkofferingid=cls.network_offering.id,
|
||||||
@ -1383,7 +1234,7 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
|
|||||||
|
|
||||||
cls.virtual_machine1 = VirtualMachine.create(
|
cls.virtual_machine1 = VirtualMachine.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["vm1"],
|
cls.testdata["small"],
|
||||||
accountid=cls.account.name,
|
accountid=cls.account.name,
|
||||||
domainid=cls.account.domainid,
|
domainid=cls.account.domainid,
|
||||||
serviceofferingid=cls.service_offering.id,
|
serviceofferingid=cls.service_offering.id,
|
||||||
@ -1391,7 +1242,7 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
|
|||||||
)
|
)
|
||||||
cls.network2 = Network.create(
|
cls.network2 = Network.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["network2"],
|
cls.testdata["network"],
|
||||||
accountid=cls.account.name,
|
accountid=cls.account.name,
|
||||||
domainid=cls.account.domainid,
|
domainid=cls.account.domainid,
|
||||||
networkofferingid=cls.network_offering.id,
|
networkofferingid=cls.network_offering.id,
|
||||||
@ -1399,7 +1250,7 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
|
|||||||
)
|
)
|
||||||
cls.virtual_machine2 = VirtualMachine.create(
|
cls.virtual_machine2 = VirtualMachine.create(
|
||||||
cls.api_client,
|
cls.api_client,
|
||||||
cls.services["vm2"],
|
cls.testdata["small"],
|
||||||
accountid=cls.account.name,
|
accountid=cls.account.name,
|
||||||
domainid=cls.account.domainid,
|
domainid=cls.account.domainid,
|
||||||
serviceofferingid=cls.service_offering.id,
|
serviceofferingid=cls.service_offering.id,
|
||||||
@ -1420,17 +1271,11 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
|
|||||||
self.apiclient = self.testClient.getApiClient()
|
self.apiclient = self.testClient.getApiClient()
|
||||||
self.dbclient = self.testClient.getDbConnection()
|
self.dbclient = self.testClient.getDbConnection()
|
||||||
|
|
||||||
#create new portable ip range
|
self.testdata["configurableData"]["portableIpRange"]["regionid"] = self.region.id
|
||||||
self.portable_ip_range_services = getPortableIpRangeServices(self.config)
|
|
||||||
|
|
||||||
if self.portable_ip_range_services is FAILED:
|
|
||||||
self.skipTest('Failed to read config values related to portable ip range')
|
|
||||||
|
|
||||||
self.portable_ip_range_services["regionid"] = self.region.id
|
|
||||||
|
|
||||||
#create new portable ip range
|
#create new portable ip range
|
||||||
self.portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
self.portable_ip_range = PortablePublicIpRange.create(self.apiclient,
|
||||||
self.portable_ip_range_services)
|
self.testdata["configurableData"]["portableIpRange"])
|
||||||
|
|
||||||
self.cleanup = [self.portable_ip_range, ]
|
self.cleanup = [self.portable_ip_range, ]
|
||||||
return
|
return
|
||||||
@ -1488,10 +1333,10 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
|
|||||||
FireWallRule.create(
|
FireWallRule.create(
|
||||||
self.apiclient,
|
self.apiclient,
|
||||||
ipaddressid=portableip.ipaddress.id,
|
ipaddressid=portableip.ipaddress.id,
|
||||||
protocol=self.services["natrule"]["protocol"],
|
protocol=self.testdata["natrule"]["protocol"],
|
||||||
cidrlist=[self.services["natrule"]["cidr"]],
|
cidrlist=["0.0.0.0/0"],
|
||||||
startport=self.services["natrule"]["publicport"],
|
startport=self.testdata["natrule"]["publicport"],
|
||||||
endport=self.services["natrule"]["publicport"]
|
endport=self.testdata["natrule"]["publicport"]
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
portableip.delete(self.apiclient)
|
portableip.delete(self.apiclient)
|
||||||
@ -1517,7 +1362,7 @@ class TestPortableIpTransferAcrossNetworks(cloudstackTestCase):
|
|||||||
|
|
||||||
self.debug("Trying to SSH to ip: %s" % portableip.ipaddress.ipaddress)
|
self.debug("Trying to SSH to ip: %s" % portableip.ipaddress.ipaddress)
|
||||||
SshClient(portableip.ipaddress.ipaddress,
|
SshClient(portableip.ipaddress.ipaddress,
|
||||||
self.services['natrule']["publicport"],
|
self.testdata['natrule']["publicport"],
|
||||||
self.virtual_machine2.username,
|
self.virtual_machine2.username,
|
||||||
self.virtual_machine2.password
|
self.virtual_machine2.password
|
||||||
)
|
)
|
||||||
|
|||||||
@ -190,7 +190,7 @@ class TestPrimaryStorageServices(cloudstackTestCase):
|
|||||||
|
|
||||||
|
|
||||||
storage = StoragePool.create(self.apiclient,
|
storage = StoragePool.create(self.apiclient,
|
||||||
self.services["iscsi"],
|
self.services["configurableData"]["iscsi"],
|
||||||
clusterid=cluster.id,
|
clusterid=cluster.id,
|
||||||
zoneid=self.zone.id,
|
zoneid=self.zone.id,
|
||||||
podid=self.pod.id
|
podid=self.pod.id
|
||||||
|
|||||||
@ -190,24 +190,23 @@ test_data = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
"nw_off_isolated_netscaler": {
|
"nw_off_isolated_netscaler": {
|
||||||
"name": "Network offering-ns services",
|
"name": 'Netscaler',
|
||||||
"displaytext": "Network offering-ns services",
|
"displaytext": 'Netscaler',
|
||||||
"guestiptype": "Isolated",
|
"guestiptype": 'Isolated',
|
||||||
"supportedservices":
|
"supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat',
|
||||||
"Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat",
|
"traffictype": 'GUEST',
|
||||||
"traffictype": "GUEST",
|
"availability": 'Optional',
|
||||||
"availability": "Optional'",
|
"serviceProviderList": {
|
||||||
"serviceProviderList": {
|
"Dhcp": 'VirtualRouter',
|
||||||
"Dhcp": "VirtualRouter",
|
"Dns": 'VirtualRouter',
|
||||||
"Dns": "VirtualRouter",
|
"SourceNat": 'VirtualRouter',
|
||||||
"SourceNat": "VirtualRouter",
|
"PortForwarding": 'VirtualRouter',
|
||||||
"PortForwarding": "VirtualRouter",
|
"Vpn": 'VirtualRouter',
|
||||||
"Vpn": "VirtualRouter",
|
"Firewall": 'VirtualRouter',
|
||||||
"Firewall": "VirtualRouter",
|
"Lb": 'Netscaler',
|
||||||
"Lb": "NetScaler",
|
"UserData": 'VirtualRouter',
|
||||||
"UserData": "VirtualRouter",
|
"StaticNat": 'VirtualRouter',
|
||||||
"StaticNat": "VirtualRouter"
|
},
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"nw_off_isolated_persistent": {
|
"nw_off_isolated_persistent": {
|
||||||
"name": 'Test Nw off isolated persistent',
|
"name": 'Test Nw off isolated persistent',
|
||||||
@ -1419,4 +1418,30 @@ test_data = {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"configurableData":
|
||||||
|
{
|
||||||
|
"portableIpRange": {
|
||||||
|
"gateway": "",
|
||||||
|
"netmask": "",
|
||||||
|
"startip": "",
|
||||||
|
"endip": "",
|
||||||
|
"vlan": ""
|
||||||
|
},
|
||||||
|
"netscaler": {
|
||||||
|
"ipaddress": "",
|
||||||
|
"username": "",
|
||||||
|
"password": "",
|
||||||
|
"networkdevicetype": "",
|
||||||
|
"publicinterface": "",
|
||||||
|
"privateinterface": "",
|
||||||
|
"numretries": "",
|
||||||
|
"lbdevicededicated": "False",
|
||||||
|
"lbdevicecapacity": 2,
|
||||||
|
"port": 22
|
||||||
|
},
|
||||||
|
"iscsi": {
|
||||||
|
"url": "",
|
||||||
|
"name": "Primary iSCSI"
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1376,21 +1376,3 @@ def isNetworkDeleted(apiclient, networkid, timeout=600):
|
|||||||
time.sleep(60)
|
time.sleep(60)
|
||||||
#end while
|
#end while
|
||||||
return networkDeleted
|
return networkDeleted
|
||||||
|
|
||||||
def GetNetscalerInfoFromConfig(config):
|
|
||||||
""" Read netscaler data from config file and
|
|
||||||
return it
|
|
||||||
|
|
||||||
Input: Config
|
|
||||||
Output: [netscalerInfoDict, isExceptionOccured]
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
netscalerInfo = config.__dict__[
|
|
||||||
"netscalerDevice"].__dict__
|
|
||||||
return [netscalerInfo, None]
|
|
||||||
except KeyError:
|
|
||||||
exceptionMessage = "Please make sure you have included netscalerDevice\
|
|
||||||
dict in your config file"
|
|
||||||
return [None, exceptionMessage]
|
|
||||||
except Exception as e:
|
|
||||||
return [None, e]
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user