mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/cloudstack
This commit is contained in:
commit
c2b20a455c
@ -945,6 +945,13 @@ public class ConsoleProxyManagerImpl extends ManagerBase implements ConsoleProxy
|
||||
VMTemplateVO template = _templateDao.findSystemVMTemplate(dataCenterId);
|
||||
HostVO secondaryStorageHost = this.templateMgr.getSecondaryStorageHost(dataCenterId);
|
||||
boolean templateReady = false;
|
||||
|
||||
if (secondaryStorageHost == null) {
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug("No secondary storage available in zone " + dataCenterId + ", wait until it is ready to launch secondary storage vm");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (template != null && secondaryStorageHost != null) {
|
||||
VMTemplateHostVO templateHostRef = _vmTemplateHostDao.findByHostTemplate(secondaryStorageHost.getId(), template.getId());
|
||||
|
||||
@ -44,138 +44,139 @@ from marvin.integration.lib.common import (get_domain,
|
||||
class Services:
|
||||
"""Test VPC network services - Port Forwarding Rules Test Data Class.
|
||||
"""
|
||||
|
||||
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",
|
||||
},
|
||||
"host1":None,
|
||||
"host2":None,
|
||||
"service_offering": {
|
||||
"name": "Tiny Instance",
|
||||
"displaytext": "Tiny Instance",
|
||||
"cpunumber": 1,
|
||||
"cpuspeed": 1000,
|
||||
"memory": 512,
|
||||
},
|
||||
"network_offering": {
|
||||
"name": 'VPC Network offering',
|
||||
"displaytext": 'VPC Network off',
|
||||
"guestiptype": 'Isolated',
|
||||
"supportedservices": 'Vpn,Dhcp,Dns,SourceNat,PortForwarding,Lb,UserData,StaticNat,NetworkACL',
|
||||
"traffictype": 'GUEST',
|
||||
"availability": 'Optional',
|
||||
"useVpc": 'on',
|
||||
"serviceProviderList": {
|
||||
"Vpn": 'VpcVirtualRouter',
|
||||
"Dhcp": 'VpcVirtualRouter',
|
||||
"Dns": 'VpcVirtualRouter',
|
||||
"SourceNat": 'VpcVirtualRouter',
|
||||
"PortForwarding": 'VpcVirtualRouter',
|
||||
"Lb": 'VpcVirtualRouter',
|
||||
"UserData": 'VpcVirtualRouter',
|
||||
"StaticNat": 'VpcVirtualRouter',
|
||||
"NetworkACL": 'VpcVirtualRouter'
|
||||
},
|
||||
"servicecapabilitylist": {
|
||||
},
|
||||
},
|
||||
"network_offering_no_lb": {
|
||||
"name": 'VPC Network offering',
|
||||
"displaytext": 'VPC Network off',
|
||||
"guestiptype": 'Isolated',
|
||||
"supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,UserData,StaticNat,NetworkACL',
|
||||
"traffictype": 'GUEST',
|
||||
"availability": 'Optional',
|
||||
"useVpc": 'on',
|
||||
"serviceProviderList": {
|
||||
"Dhcp": 'VpcVirtualRouter',
|
||||
"Dns": 'VpcVirtualRouter',
|
||||
"SourceNat": 'VpcVirtualRouter',
|
||||
"PortForwarding": 'VpcVirtualRouter',
|
||||
"UserData": 'VpcVirtualRouter',
|
||||
"StaticNat": 'VpcVirtualRouter',
|
||||
"NetworkACL": 'VpcVirtualRouter'
|
||||
},
|
||||
},
|
||||
"vpc_offering": {
|
||||
"name": 'VPC off',
|
||||
"displaytext": 'VPC off',
|
||||
"supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Lb,UserData,StaticNat',
|
||||
},
|
||||
"vpc": {
|
||||
"name": "TestVPC",
|
||||
"displaytext": "TestVPC",
|
||||
"cidr": '10.0.0.1/24'
|
||||
},
|
||||
"network": {
|
||||
"name": "Test Network",
|
||||
"displaytext": "Test Network",
|
||||
"netmask": '255.255.255.0'
|
||||
},
|
||||
"lbrule": {
|
||||
"name": "SSH",
|
||||
"alg": "leastconn",
|
||||
# Algorithm used for load balancing
|
||||
"privateport": 22,
|
||||
"publicport": 2222,
|
||||
"openfirewall": False,
|
||||
"startport": 22,
|
||||
"endport": 2222,
|
||||
"protocol": "TCP",
|
||||
"cidrlist": '0.0.0.0/0',
|
||||
},
|
||||
"lbrule_http": {
|
||||
"name": "HTTP",
|
||||
"alg": "leastconn",
|
||||
# Algorithm used for load balancing
|
||||
"privateport": 80,
|
||||
"publicport": 8888,
|
||||
"openfirewall": False,
|
||||
"startport": 80,
|
||||
"endport": 8888,
|
||||
"protocol": "TCP",
|
||||
"cidrlist": '0.0.0.0/0',
|
||||
},
|
||||
"natrule": {
|
||||
"privateport": 22,
|
||||
"publicport": 22,
|
||||
"startport": 22,
|
||||
"endport": 22,
|
||||
"protocol": "TCP",
|
||||
"cidrlist": '0.0.0.0/0',
|
||||
},
|
||||
"http_rule": {
|
||||
"privateport": 80,
|
||||
"publicport": 80,
|
||||
"startport": 80,
|
||||
"endport": 80,
|
||||
"cidrlist": '0.0.0.0/0',
|
||||
"protocol": "TCP"
|
||||
},
|
||||
"virtual_machine": {
|
||||
"displayname": "Test VM",
|
||||
"username": "root",
|
||||
"password": "password",
|
||||
"ssh_port": 22,
|
||||
"hypervisor": 'XenServer',
|
||||
# Hypervisor type should be same as
|
||||
# hypervisor type of cluster
|
||||
"privateport": 22,
|
||||
"publicport": 22,
|
||||
"protocol": 'TCP',
|
||||
},
|
||||
"ostype": 'CentOS 5.3 (64-bit)',
|
||||
"sleep": 60,
|
||||
"timeout": 10,
|
||||
"mode": 'advanced'
|
||||
}
|
||||
"account": {
|
||||
"email": "test@test.com",
|
||||
"firstname": "Test",
|
||||
"lastname": "User",
|
||||
"username": "test",
|
||||
# Random characters are appended for unique
|
||||
# username
|
||||
"password": "password",
|
||||
},
|
||||
"host1": None,
|
||||
"host2": None,
|
||||
"service_offering": {
|
||||
"name": "Tiny Instance",
|
||||
"displaytext": "Tiny Instance",
|
||||
"cpunumber": 1,
|
||||
"cpuspeed": 1000,
|
||||
"memory": 512,
|
||||
},
|
||||
"network_offering": {
|
||||
"name": 'VPC Network offering',
|
||||
"displaytext": 'VPC Network off',
|
||||
"guestiptype": 'Isolated',
|
||||
"supportedservices": 'Vpn,Dhcp,Dns,SourceNat,PortForwarding,Lb,UserData,StaticNat,NetworkACL',
|
||||
"traffictype": 'GUEST',
|
||||
"availability": 'Optional',
|
||||
"useVpc": 'on',
|
||||
"serviceProviderList": {
|
||||
"Vpn": 'VpcVirtualRouter',
|
||||
"Dhcp": 'VpcVirtualRouter',
|
||||
"Dns": 'VpcVirtualRouter',
|
||||
"SourceNat": 'VpcVirtualRouter',
|
||||
"PortForwarding": 'VpcVirtualRouter',
|
||||
"Lb": 'VpcVirtualRouter',
|
||||
"UserData": 'VpcVirtualRouter',
|
||||
"StaticNat": 'VpcVirtualRouter',
|
||||
"NetworkACL": 'VpcVirtualRouter'
|
||||
},
|
||||
"servicecapabilitylist": {
|
||||
},
|
||||
},
|
||||
"network_offering_no_lb": {
|
||||
"name": 'VPC Network offering',
|
||||
"displaytext": 'VPC Network off',
|
||||
"guestiptype": 'Isolated',
|
||||
"supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,UserData,StaticNat,NetworkACL',
|
||||
"traffictype": 'GUEST',
|
||||
"availability": 'Optional',
|
||||
"useVpc": 'on',
|
||||
"serviceProviderList": {
|
||||
"Dhcp": 'VpcVirtualRouter',
|
||||
"Dns": 'VpcVirtualRouter',
|
||||
"SourceNat": 'VpcVirtualRouter',
|
||||
"PortForwarding": 'VpcVirtualRouter',
|
||||
"UserData": 'VpcVirtualRouter',
|
||||
"StaticNat": 'VpcVirtualRouter',
|
||||
"NetworkACL": 'VpcVirtualRouter'
|
||||
},
|
||||
},
|
||||
"vpc_offering": {
|
||||
"name": 'VPC off',
|
||||
"displaytext": 'VPC off',
|
||||
"supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Lb,UserData,StaticNat',
|
||||
},
|
||||
"vpc": {
|
||||
"name": "TestVPC",
|
||||
"displaytext": "TestVPC",
|
||||
"cidr": '10.0.0.1/24'
|
||||
},
|
||||
"network": {
|
||||
"name": "Test Network",
|
||||
"displaytext": "Test Network",
|
||||
"netmask": '255.255.255.0'
|
||||
},
|
||||
"lbrule": {
|
||||
"name": "SSH",
|
||||
"alg": "leastconn",
|
||||
# Algorithm used for load balancing
|
||||
"privateport": 22,
|
||||
"publicport": 2222,
|
||||
"openfirewall": False,
|
||||
"startport": 22,
|
||||
"endport": 2222,
|
||||
"protocol": "TCP",
|
||||
"cidrlist": '0.0.0.0/0',
|
||||
},
|
||||
"lbrule_http": {
|
||||
"name": "HTTP",
|
||||
"alg": "leastconn",
|
||||
# Algorithm used for load balancing
|
||||
"privateport": 80,
|
||||
"publicport": 8888,
|
||||
"openfirewall": False,
|
||||
"startport": 80,
|
||||
"endport": 8888,
|
||||
"protocol": "TCP",
|
||||
"cidrlist": '0.0.0.0/0',
|
||||
},
|
||||
"natrule": {
|
||||
"privateport": 22,
|
||||
"publicport": 22,
|
||||
"startport": 22,
|
||||
"endport": 22,
|
||||
"protocol": "TCP",
|
||||
"cidrlist": '0.0.0.0/0',
|
||||
},
|
||||
"http_rule": {
|
||||
"privateport": 80,
|
||||
"publicport": 80,
|
||||
"startport": 80,
|
||||
"endport": 80,
|
||||
"cidrlist": '0.0.0.0/0',
|
||||
"protocol": "TCP"
|
||||
},
|
||||
"virtual_machine": {
|
||||
"displayname": "Test VM",
|
||||
"username": "root",
|
||||
"password": "password",
|
||||
"ssh_port": 22,
|
||||
"hypervisor": 'XenServer',
|
||||
# Hypervisor type should be same as
|
||||
# hypervisor type of cluster
|
||||
"privateport": 22,
|
||||
"publicport": 22,
|
||||
"protocol": 'TCP',
|
||||
},
|
||||
"ostype": 'CentOS 5.3 (64-bit)',
|
||||
"sleep": 60,
|
||||
"timeout": 10,
|
||||
"mode": 'advanced'
|
||||
}
|
||||
|
||||
|
||||
class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
@ -251,15 +252,12 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
try:
|
||||
#Clean up, terminate the created network offerings
|
||||
cleanup_resources(self.apiclient, self._cleanup)
|
||||
wait_for_cleanup(self.apiclient, [
|
||||
"network.gc.interval",
|
||||
"network.gc.wait"])
|
||||
except Exception as e:
|
||||
self.debug("Warning: Exception during cleanup : %s" % e)
|
||||
#raise Exception("Warning: Exception during cleanup : %s" % e)
|
||||
return
|
||||
|
||||
def get_Router_For_VPC(self):
|
||||
def get_vpcrouter(self):
|
||||
routers = list_routers(self.apiclient,
|
||||
account=self.account.name,
|
||||
domainid=self.account.domainid,
|
||||
@ -276,8 +274,8 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
return router
|
||||
|
||||
|
||||
def stop_VPC_VRouter(self):
|
||||
router = self.get_Router_For_VPC()
|
||||
def stop_vpcrouter(self):
|
||||
router = self.get_vpcrouter()
|
||||
self.debug("Stopping router ID: %s" % router.id)
|
||||
cmd = stopRouter.stopRouterCmd()
|
||||
cmd.id = router.id
|
||||
@ -298,7 +296,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
)
|
||||
return router
|
||||
|
||||
def start_VPC_VRouter(self, router):
|
||||
def start_vpcrouter(self, router):
|
||||
# Start the VPC Router
|
||||
cmd = startRouter.startRouterCmd()
|
||||
cmd.id = router.id
|
||||
@ -348,7 +346,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
else:
|
||||
self.debug("Failed to wget from VM=%s http server on public_ip=%s" % (vm.name, public_ip.ipaddress.ipaddress))
|
||||
|
||||
def create_StaticNatRule_For_VM(self, vm, public_ip, network):
|
||||
def create_staticnat(self, vm, public_ip, network):
|
||||
self.debug("Enabling static NAT for IP: %s" %
|
||||
public_ip.ipaddress.ipaddress)
|
||||
try:
|
||||
@ -364,7 +362,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
self.fail("Failed to enable static NAT on IP: %s - %s" % (
|
||||
public_ip.ipaddress.ipaddress, e))
|
||||
|
||||
def create_NatRule_For_VM(self, vm, public_ip, network, services=None):
|
||||
def create_natrule(self, vm, public_ip, network, services=None):
|
||||
self.debug("Creatinng NAT rule in network for vm with public IP")
|
||||
if not services:
|
||||
services = self.services["natrule"]
|
||||
@ -386,7 +384,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
self.debug('nwacl_nat=%s' % nwacl_nat.__dict__)
|
||||
return nat_rule
|
||||
|
||||
def acquire_Public_IP(self, network):
|
||||
def acquire_publicip(self, network):
|
||||
self.debug("Associating public IP for network: %s" % network.name)
|
||||
public_ip = PublicIPAddress.create(self.apiclient,
|
||||
accountid=self.account.name,
|
||||
@ -400,7 +398,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
))
|
||||
return public_ip
|
||||
|
||||
def create_VPC(self, cidr='10.1.2.1/16'):
|
||||
def create_vpc(self, cidr='10.1.2.1/16'):
|
||||
self.debug("Creating a VPC offering..")
|
||||
self.services["vpc_offering"]["name"] = self.services["vpc_offering"]["name"] + str(cidr)
|
||||
vpc_off = VpcOffering.create(
|
||||
@ -424,7 +422,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
)
|
||||
return vpc
|
||||
|
||||
def create_Network(self, net_offerring, gateway='10.1.1.1',vpc=None):
|
||||
def create_network(self, net_offerring, gateway='10.1.1.1',vpc=None):
|
||||
try:
|
||||
self.debug('Create NetworkOffering')
|
||||
net_offerring["name"] = "NET_OFF-" + str(gateway)
|
||||
@ -453,7 +451,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
except:
|
||||
self.fail('Unable to create a Network with offering=%s' % net_offerring)
|
||||
|
||||
def create_VM_in_Network(self, network, host_id=None):
|
||||
def deployvm_in_network(self, network, host_id=None):
|
||||
try:
|
||||
self.debug('Creating VM in network=%s' % network.name)
|
||||
vm = VirtualMachine.create(
|
||||
@ -471,7 +469,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
except:
|
||||
self.fail('Unable to create VM in a Network=%s' % network.name)
|
||||
|
||||
def create_LB_Rule(self, public_ip, network, vmarray, services=None):
|
||||
def create_lbrule(self, public_ip, network, vmarray, services=None):
|
||||
self.debug("Creating LB rule for IP address: %s" %
|
||||
public_ip.ipaddress.ipaddress)
|
||||
objservices = None
|
||||
@ -493,7 +491,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
lb_rule.assign(self.apiclient, vmarray)
|
||||
return lb_rule
|
||||
|
||||
def create_egress_Internet_Rule(self, network):
|
||||
def open_egress_to_world(self, network):
|
||||
self.debug("Adding Egress rules to network %s and %s to allow access to internet" % (network.name,self.services["http_rule"]))
|
||||
nwacl_internet_1 = NetworkACL.create(
|
||||
self.apiclient,
|
||||
@ -507,8 +505,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_01_network_services_VPC_StopCreatePF(self):
|
||||
""" Test case no 204 : Create PF rules for a single virtual network of a VPC,
|
||||
using a new Public IP Address available with the VPC when Virtual Router is in Stopped State
|
||||
""" Test : Create VPC PF rules on acquired public ip when VpcVirtualRouter is stopped
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
@ -521,20 +518,19 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 7. Start VPC Virtual Router.
|
||||
# 8. Successfully ssh into the Guest VM using the PF rule
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering"])
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
router = self.stop_VPC_VRouter()
|
||||
self.create_NatRule_For_VM( vm_1, public_ip_1, network_1)
|
||||
self.start_VPC_VRouter(router)
|
||||
network_1 = self.create_network(self.services["network_offering"])
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
router = self.stop_vpcrouter()
|
||||
self.create_natrule( vm_1, public_ip_1, network_1)
|
||||
self.start_vpcrouter(router)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
|
||||
return
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_02_network_services_VPC_CreatePF(self):
|
||||
""" Test case no 190 : Create PF rules for a single virtual network of a VPC using a
|
||||
new Public IP Address available with the VPC when Virtual Router is in Running State
|
||||
""" Test Create VPC PF rules on acquired public ip when VpcVirtualRouter is Running
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
@ -545,17 +541,16 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 5. Use the Create PF rule for vm in network1.
|
||||
# 6. Successfully ssh into the Guest VM using the PF rule
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering"])
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
self.create_NatRule_For_VM( vm_1, public_ip_1, network_1)
|
||||
network_1 = self.create_network(self.services["network_offering"])
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
self.create_natrule( vm_1, public_ip_1, network_1)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
return
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_03_network_services_VPC_StopCreateMultiplePF(self):
|
||||
""" Test case no 205 : Create PF rules for a two/multiple virtual networks of a VPC using
|
||||
a new Public IP Address available with the VPC when Virtual Router is in Stopped State
|
||||
""" Test Create multiple VPC PF rules on acquired public ip in diff't networks when VpcVirtualRouter is stopped
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
@ -571,24 +566,23 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 10. Start VPC Virtual Router.
|
||||
# 11. Successfully ssh into the Guest VM1 and VM2 using the PF rule
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering_no_lb"])
|
||||
network_2 = self.create_Network(self.services["network_offering_no_lb"], '10.1.2.1')
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
vm_2 = self.create_VM_in_Network(network_2)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
public_ip_2 = self.acquire_Public_IP(network_2)
|
||||
router = self.stop_VPC_VRouter()
|
||||
self.create_NatRule_For_VM(vm_1, public_ip_1, network_1)
|
||||
self.create_NatRule_For_VM(vm_2, public_ip_2, network_2)
|
||||
self.start_VPC_VRouter(router)
|
||||
network_1 = self.create_network(self.services["network_offering_no_lb"])
|
||||
network_2 = self.create_network(self.services["network_offering_no_lb"], '10.1.2.1')
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
vm_2 = self.deployvm_in_network(network_2)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
public_ip_2 = self.acquire_publicip(network_2)
|
||||
router = self.stop_vpcrouter()
|
||||
self.create_natrule(vm_1, public_ip_1, network_1)
|
||||
self.create_natrule(vm_2, public_ip_2, network_2)
|
||||
self.start_vpcrouter(router)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False)
|
||||
return
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_04_network_services_VPC_CreateMultiplePF(self):
|
||||
""" Test case no 191 : Create PF rules for a two/multiple virtual networks of a VPC using a
|
||||
new Public IP Address available with the VPC when Virtual Router is in Running State
|
||||
""" Test Create multiple VPC PF rules on acquired public ip in diff't networks when VpcVirtualRouter is running
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
@ -603,24 +597,23 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 9. Start VPC Virtual Router.
|
||||
# 10. Successfully ssh into the Guest VM1 and VM2 using the PF rule
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering"])
|
||||
network_2 = self.create_Network(self.services["network_offering_no_lb"], '10.1.2.1')
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
vm_2 = self.create_VM_in_Network(network_2)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
public_ip_2 = self.acquire_Public_IP(network_2)
|
||||
router = self.stop_VPC_VRouter()
|
||||
self.create_NatRule_For_VM(vm_1, public_ip_1, network_1)
|
||||
self.create_NatRule_For_VM(vm_2, public_ip_2, network_2)
|
||||
self.start_VPC_VRouter(router)
|
||||
network_1 = self.create_network(self.services["network_offering"])
|
||||
network_2 = self.create_network(self.services["network_offering_no_lb"], '10.1.2.1')
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
vm_2 = self.deployvm_in_network(network_2)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
public_ip_2 = self.acquire_publicip(network_2)
|
||||
router = self.stop_vpcrouter()
|
||||
self.create_natrule(vm_1, public_ip_1, network_1)
|
||||
self.create_natrule(vm_2, public_ip_2, network_2)
|
||||
self.start_vpcrouter(router)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False)
|
||||
return
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_05_network_services_VPC_StopDeletePF(self):
|
||||
""" Test case no 207 : Delete few(not all) PF rules for a single virtual network of
|
||||
a VPC belonging to a single Public IP Address when Virtual Router is in Stopped State
|
||||
""" Test delete a PF rule in VPC when VpcVirtualRouter is Stopped
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
@ -636,24 +629,23 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 10. Start VPC Virtual Router.
|
||||
# 11. wget a file present on http server of VM1 should fail
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering"])
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
self.create_NatRule_For_VM(vm_1, public_ip_1, network_1)
|
||||
http_rule = self.create_NatRule_For_VM(vm_1, public_ip_1, network_1, self.services["http_rule"])
|
||||
network_1 = self.create_network(self.services["network_offering"])
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
self.create_natrule(vm_1, public_ip_1, network_1)
|
||||
http_rule = self.create_natrule(vm_1, public_ip_1, network_1, self.services["http_rule"])
|
||||
#http_rule = self.create_egress_Internet_Rule(network_1)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False)
|
||||
router = self.stop_VPC_VRouter()
|
||||
router = self.stop_vpcrouter()
|
||||
http_rule.delete()
|
||||
self.start_VPC_VRouter(router)
|
||||
self.start_vpcrouter(router)
|
||||
self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True)
|
||||
return
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_06_network_services_VPC_DeletePF(self):
|
||||
""" Test case no 193 : Delete few(not all) PF rules for a single virtual network of
|
||||
a VPC belonging to a single Public IP Address when Virtual Router is in Running State
|
||||
""" Test delete a PF rule in VPC when VpcVirtualRouter is Running
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
@ -667,11 +659,11 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 9. Delete internet PF rule
|
||||
# 10. wget a file present on http server of VM1 should fail
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering"])
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
self.create_NatRule_For_VM(vm_1, public_ip_1, network_1)
|
||||
http_rule=self.create_NatRule_For_VM(vm_1, public_ip_1, network_1, self.services["http_rule"])
|
||||
network_1 = self.create_network(self.services["network_offering"])
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
self.create_natrule(vm_1, public_ip_1, network_1)
|
||||
http_rule=self.create_natrule(vm_1, public_ip_1, network_1, self.services["http_rule"])
|
||||
#http_rule = self.create_egress_Internet_Rule(network_1)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False)
|
||||
@ -681,8 +673,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_07_network_services_VPC_StopDeleteAllPF(self):
|
||||
""" Test case no 208 : Delete all PF rules for a single virtual network of a
|
||||
VPC belonging to a single Public IP Address when Virtual Router is in Stopped State
|
||||
""" Test delete all PF rules in VPC when VpcVirtualRouter is Stopped
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
@ -699,26 +690,25 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 11. wget a file present on http server of VM1 should fail
|
||||
# 12. ssh into Guest VM using the PF rule should fail
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering"])
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
nat_rule = self.create_NatRule_For_VM(vm_1, public_ip_1, network_1)
|
||||
http_rule = self.create_NatRule_For_VM(vm_1, public_ip_1, network_1, self.services["http_rule"])
|
||||
network_1 = self.create_network(self.services["network_offering"])
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
nat_rule = self.create_natrule(vm_1, public_ip_1, network_1)
|
||||
http_rule = self.create_natrule(vm_1, public_ip_1, network_1, self.services["http_rule"])
|
||||
#http_rule = self.create_egress_Internet_Rule(network_1)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False)
|
||||
router = self.stop_VPC_VRouter()
|
||||
router = self.stop_vpcrouter()
|
||||
http_rule.delete()
|
||||
nat_rule.delete()
|
||||
self.start_VPC_VRouter(router)
|
||||
self.start_vpcrouter(router)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=True)
|
||||
self.check_wget_from_vm(vm_1, public_ip_1, testnegative=True)
|
||||
return
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_08_network_services_VPC_DeleteAllPF(self):
|
||||
""" Test case no 194 : Delete all PF rules for a single virtual network of a
|
||||
VPC belonging to a single Public IP Address when Virtual Router is in Running State
|
||||
""" Test delete all PF rules in VPC when VpcVirtualRouter is Running
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
@ -733,11 +723,11 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 9. wget a file present on http server of VM1 should fail
|
||||
# 10. ssh into Guest VM using the PF rule should fail
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering"])
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
nat_rule = self.create_NatRule_For_VM(vm_1, public_ip_1, network_1)
|
||||
http_rule = self.create_NatRule_For_VM(vm_1, public_ip_1, network_1, self.services["http_rule"])
|
||||
network_1 = self.create_network(self.services["network_offering"])
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
nat_rule = self.create_natrule(vm_1, public_ip_1, network_1)
|
||||
http_rule = self.create_natrule(vm_1, public_ip_1, network_1, self.services["http_rule"])
|
||||
#http_rule = self.create_egress_Internet_Rule(network_1)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
self.check_wget_from_vm(vm_1, public_ip_1, testnegative=False)
|
||||
@ -749,8 +739,7 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_09_network_services_VPC_StopDeleteAllMultiplePF(self):
|
||||
""" Test case no 209 : Delete all PF rules for two/multiple virtual networks of a VPC.
|
||||
Observe the status of the Public IP Addresses of the rules when Virtual Router is in Stopped State
|
||||
""" Test delete all PF rules in VPC across multiple networks when VpcVirtualRouter is Stopped
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
@ -769,20 +758,20 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 12. Start VPC Virtual Router.
|
||||
# 13. Fail to ssh and http to vm1, vm2, vm3 and vm4.
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering"])
|
||||
network_2 = self.create_Network(self.services["network_offering_no_lb"], '10.1.2.1')
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
vm_2 = self.create_VM_in_Network(network_1)
|
||||
vm_3 = self.create_VM_in_Network(network_2)
|
||||
vm_4 = self.create_VM_in_Network(network_2)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
public_ip_2 = self.acquire_Public_IP(network_1)
|
||||
nat_rule1 = self.create_NatRule_For_VM(vm_1, public_ip_1, network_1)
|
||||
nat_rule2 = self.create_NatRule_For_VM(vm_2, public_ip_2, network_1)
|
||||
http_rule1 = self.create_egress_Internet_Rule(network_1)
|
||||
nat_rule3 = self.create_NatRule_For_VM(vm_3, public_ip_1, network_2)
|
||||
nat_rule4 = self.create_NatRule_For_VM(vm_4, public_ip_2, network_2)
|
||||
http_rule2 = self.create_egress_Internet_Rule(network_2)
|
||||
network_1 = self.create_network(self.services["network_offering"])
|
||||
network_2 = self.create_network(self.services["network_offering_no_lb"], '10.1.2.1')
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
vm_2 = self.deployvm_in_network(network_1)
|
||||
vm_3 = self.deployvm_in_network(network_2)
|
||||
vm_4 = self.deployvm_in_network(network_2)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
public_ip_2 = self.acquire_publicip(network_1)
|
||||
nat_rule1 = self.create_natrule(vm_1, public_ip_1, network_1)
|
||||
nat_rule2 = self.create_natrule(vm_2, public_ip_2, network_1)
|
||||
http_rule1 = self.open_egress_to_world(network_1)
|
||||
nat_rule3 = self.create_natrule(vm_3, public_ip_1, network_2)
|
||||
nat_rule4 = self.create_natrule(vm_4, public_ip_2, network_2)
|
||||
http_rule2 = self.open_egress_to_world(network_2)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False)
|
||||
self.check_ssh_into_vm(vm_3, public_ip_1, testnegative=False)
|
||||
@ -791,14 +780,14 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
self.check_wget_from_vm(vm_2, public_ip_2, testnegative=False)
|
||||
self.check_wget_from_vm(vm_3, public_ip_1, testnegative=False)
|
||||
self.check_wget_from_vm(vm_4, public_ip_2, testnegative=False)
|
||||
router = self.stop_VPC_VRouter()
|
||||
router = self.stop_vpcrouter()
|
||||
nat_rule1.delete()
|
||||
nat_rule2.delete()
|
||||
nat_rule3.delete()
|
||||
nat_rule4.delete()
|
||||
http_rule1.delete()
|
||||
http_rule2.delete()
|
||||
self.start_VPC_VRouter(router)
|
||||
self.start_vpcrouter(router)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=True)
|
||||
self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=True)
|
||||
self.check_ssh_into_vm(vm_3, public_ip_1, testnegative=True)
|
||||
@ -811,10 +800,8 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
|
||||
@attr(tags=["advanced", "intervlan"])
|
||||
def test_10_network_services_VPC_DeleteAllMultiplePF(self):
|
||||
""" Test case no 195: Delete all PF rules for two/multiple virtual networks of a VPC.
|
||||
Observe the status of the Public IP Addresses of the rules when Virtual Router is in Running State
|
||||
""" Test delete all PF rules in VPC across multiple networks when VpcVirtualRouter is Running
|
||||
"""
|
||||
|
||||
# Validate the following
|
||||
# 1. Create a VPC with cidr - 10.1.1.1/16.
|
||||
# 2. Create a Network offering - NO1 with all supported services.
|
||||
@ -829,20 +816,20 @@ class TestVPCNetworkPFRules(cloudstackTestCase):
|
||||
# 12. Delete all PF rultes for vm1, vm2, vm3 and vm4.
|
||||
# 13. Fail to ssh and http to vm1, vm2, vm3 and vm4.
|
||||
|
||||
network_1 = self.create_Network(self.services["network_offering"])
|
||||
network_2 = self.create_Network(self.services["network_offering_no_lb"], '10.1.2.1')
|
||||
vm_1 = self.create_VM_in_Network(network_1)
|
||||
vm_2 = self.create_VM_in_Network(network_1)
|
||||
vm_3 = self.create_VM_in_Network(network_2)
|
||||
vm_4 = self.create_VM_in_Network(network_2)
|
||||
public_ip_1 = self.acquire_Public_IP(network_1)
|
||||
public_ip_2 = self.acquire_Public_IP(network_1)
|
||||
nat_rule1 = self.create_NatRule_For_VM(vm_1, public_ip_1, network_1)
|
||||
nat_rule2 = self.create_NatRule_For_VM(vm_2, public_ip_2, network_1)
|
||||
http_rule1 = self.create_egress_Internet_Rule(network_1)
|
||||
nat_rule3 = self.create_NatRule_For_VM(vm_3, public_ip_1, network_2)
|
||||
nat_rule4 = self.create_NatRule_For_VM(vm_4, public_ip_2, network_2)
|
||||
http_rule2 = self.create_egress_Internet_Rule(network_2)
|
||||
network_1 = self.create_network(self.services["network_offering"])
|
||||
network_2 = self.create_network(self.services["network_offering_no_lb"], '10.1.2.1')
|
||||
vm_1 = self.deployvm_in_network(network_1)
|
||||
vm_2 = self.deployvm_in_network(network_1)
|
||||
vm_3 = self.deployvm_in_network(network_2)
|
||||
vm_4 = self.deployvm_in_network(network_2)
|
||||
public_ip_1 = self.acquire_publicip(network_1)
|
||||
public_ip_2 = self.acquire_publicip(network_1)
|
||||
nat_rule1 = self.create_natrule(vm_1, public_ip_1, network_1)
|
||||
nat_rule2 = self.create_natrule(vm_2, public_ip_2, network_1)
|
||||
http_rule1 = self.open_egress_to_world(network_1)
|
||||
nat_rule3 = self.create_natrule(vm_3, public_ip_1, network_2)
|
||||
nat_rule4 = self.create_natrule(vm_4, public_ip_2, network_2)
|
||||
http_rule2 = self.open_egress_to_world(network_2)
|
||||
self.check_ssh_into_vm(vm_1, public_ip_1, testnegative=False)
|
||||
self.check_ssh_into_vm(vm_2, public_ip_2, testnegative=False)
|
||||
self.check_ssh_into_vm(vm_3, public_ip_1, testnegative=False)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user