mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
CLOUDSTACK-2232: Adding automation test cases for Persistent Networks feature
This commit is contained in:
parent
167babd8c8
commit
2091211c28
File diff suppressed because it is too large
Load Diff
@ -140,12 +140,245 @@
|
|||||||
"ingress_rule": {
|
"ingress_rule": {
|
||||||
"protocol": "TCP",
|
"protocol": "TCP",
|
||||||
"startport": "22",
|
"startport": "22",
|
||||||
"endport": "80",
|
"endport": "22",
|
||||||
"cidrlist": "0.0.0.0/0"
|
"cidrlist": "0.0.0.0/0"
|
||||||
},
|
},
|
||||||
"ostype": "CentOS 5.3 (64-bit)",
|
"ostype": "CentOS 5.3 (64-bit)",
|
||||||
"sleep": 90,
|
"sleep": 90,
|
||||||
"timeout": 10,
|
"timeout": 10,
|
||||||
|
"netscaler_VPX": {
|
||||||
|
"ipaddress": "10.223.240.174",
|
||||||
|
"username": "nsroot",
|
||||||
|
"password": "nsroot",
|
||||||
|
"networkdevicetype": "NetscalerVPXLoadBalancer",
|
||||||
|
"publicinterface": "1/1",
|
||||||
|
"privateinterface": "1/2",
|
||||||
|
"numretries": 2,
|
||||||
|
"lbdevicededicated": "True",
|
||||||
|
"lbdevicecapacity": 2,
|
||||||
|
"port": 22
|
||||||
|
},
|
||||||
|
"nw_offering_shared_persistent": {
|
||||||
|
"name": "Network offering for Shared Persistent Network",
|
||||||
|
"displaytext": "Network offering-DA services",
|
||||||
|
"guestiptype": "Shared",
|
||||||
|
"supportedservices": "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat",
|
||||||
|
"traffictype": "GUEST",
|
||||||
|
"availability": "Optional",
|
||||||
|
"ispersistent": "True",
|
||||||
|
"serviceProviderList": {
|
||||||
|
"Dhcp": "VirtualRouter",
|
||||||
|
"Dns": "VirtualRouter",
|
||||||
|
"SourceNat": "VirtualRouter",
|
||||||
|
"PortForwarding": "VirtualRouter",
|
||||||
|
"Vpn": "VirtualRouter",
|
||||||
|
"Firewall": "VirtualRouter",
|
||||||
|
"Lb": "VirtualRouter",
|
||||||
|
"UserData": "VirtualRouter",
|
||||||
|
"StaticNat": "VirtualRouter"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nw_off_isolated_persistent": {
|
||||||
|
"name": "Network offering for Isolated Persistent Network",
|
||||||
|
"displaytext": "Network Offering for Isolated Persistent Network",
|
||||||
|
"guestiptype": "Isolated",
|
||||||
|
"supportedservices": "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat",
|
||||||
|
"traffictype":"GUEST",
|
||||||
|
"availability":"Optional",
|
||||||
|
"ispersistent": "True",
|
||||||
|
"serviceProviderList": {
|
||||||
|
"Dhcp": "VirtualRouter",
|
||||||
|
"Dns": "VirtualRouter",
|
||||||
|
"SourceNat": "VirtualRouter",
|
||||||
|
"PortForwarding": "VirtualRouter",
|
||||||
|
"Vpn": "VirtualRouter",
|
||||||
|
"Firewall": "VirtualRouter",
|
||||||
|
"Lb": "VirtualRouter",
|
||||||
|
"UserData": "VirtualRouter",
|
||||||
|
"StaticNat": "VirtualRouter"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nw_off_isolated_persistent_netscaler": {
|
||||||
|
"name": "Network offering for Isolated Persistent Network",
|
||||||
|
"displaytext": "Network Offering for Isolated Persistent Network",
|
||||||
|
"guestiptype": "Isolated",
|
||||||
|
"supportedservices": "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat",
|
||||||
|
"traffictype": "GUEST",
|
||||||
|
"availability": "Optional",
|
||||||
|
"ispersistent": "True",
|
||||||
|
"serviceProviderList": {
|
||||||
|
"Dhcp": "VirtualRouter",
|
||||||
|
"Dns": "VirtualRouter",
|
||||||
|
"SourceNat": "VirtualRouter",
|
||||||
|
"PortForwarding": "VirtualRouter",
|
||||||
|
"Vpn": "VirtualRouter",
|
||||||
|
"Firewall": "VirtualRouter",
|
||||||
|
"Lb": "Netscaler",
|
||||||
|
"UserData": "VirtualRouter",
|
||||||
|
"StaticNat": "VirtualRouter"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nw_offering_isolated": {
|
||||||
|
"name": "Network offering for Isolated Persistent Network",
|
||||||
|
"displaytext": "Network offering-DA 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"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nw_off_isolated_netscaler": {
|
||||||
|
"name": "Network offering for Isolated Persistent Network",
|
||||||
|
"displaytext": "Network offering-DA 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": "Netscaler",
|
||||||
|
"UserData": "VirtualRouter",
|
||||||
|
"StaticNat": "VirtualRouter"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nw_off_persistent_RVR": {
|
||||||
|
"name": "Network offering-RVR services",
|
||||||
|
"displaytext": "Network off-RVR services",
|
||||||
|
"guestiptype": "Isolated",
|
||||||
|
"supportedservices": "Vpn,Dhcp,Dns,SourceNat,PortForwarding,Firewall,Lb,UserData,StaticNat",
|
||||||
|
"traffictype": "GUEST",
|
||||||
|
"availability": "Optional",
|
||||||
|
"ispersistent": "True",
|
||||||
|
"serviceProviderList": {
|
||||||
|
"Vpn": "VirtualRouter",
|
||||||
|
"Dhcp": "VirtualRouter",
|
||||||
|
"Dns": "VirtualRouter",
|
||||||
|
"SourceNat": "VirtualRouter",
|
||||||
|
"PortForwarding": "VirtualRouter",
|
||||||
|
"Firewall": "VirtualRouter",
|
||||||
|
"Lb": "VirtualRouter",
|
||||||
|
"UserData": "VirtualRouter",
|
||||||
|
"StaticNat": "VirtualRouter"
|
||||||
|
},
|
||||||
|
"serviceCapabilityList": {
|
||||||
|
"SourceNat": {
|
||||||
|
"SupportedSourceNatTypes": "peraccount",
|
||||||
|
"RedundantRouter": "true"
|
||||||
|
},
|
||||||
|
"lb": {
|
||||||
|
"SupportedLbIsolation": "dedicated"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nw_off_persistent_VPCVR_NoLB": {
|
||||||
|
"name": "Persistent Network VPC No LB",
|
||||||
|
"displaytext": "Persistent Network VPC No LB",
|
||||||
|
"guestiptype": "Isolated",
|
||||||
|
"supportedservices": "Dhcp,Dns,SourceNat,PortForwarding,Vpn,UserData,StaticNat,NetworkACL",
|
||||||
|
"traffictype": "GUEST",
|
||||||
|
"availability": "Optional",
|
||||||
|
"ispersistent": "False",
|
||||||
|
"useVpc": "on",
|
||||||
|
"serviceProviderList": {
|
||||||
|
"Dhcp": "VpcVirtualRouter",
|
||||||
|
"Dns": "VpcVirtualRouter",
|
||||||
|
"SourceNat": "VpcVirtualRouter",
|
||||||
|
"PortForwarding": "VpcVirtualRouter",
|
||||||
|
"Vpn": "VpcVirtualRouter",
|
||||||
|
"UserData": "VpcVirtualRouter",
|
||||||
|
"StaticNat": "VpcVirtualRouter",
|
||||||
|
"NetworkACL": "VpcVirtualRouter"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nw_off_persistent_VPCVR_LB": {
|
||||||
|
"name": "Persistent Network VPC with LB",
|
||||||
|
"displaytext": "Persistent Network VPC No LB",
|
||||||
|
"guestiptype": "Isolated",
|
||||||
|
"supportedservices": "Dhcp,Dns,SourceNat,PortForwarding,Vpn,Lb,UserData,StaticNat,NetworkACL",
|
||||||
|
"traffictype": "GUEST",
|
||||||
|
"availability": "Optional",
|
||||||
|
"ispersistent": "False",
|
||||||
|
"useVpc": "on",
|
||||||
|
"serviceProviderList": {
|
||||||
|
"Dhcp": "VpcVirtualRouter",
|
||||||
|
"Dns": "VpcVirtualRouter",
|
||||||
|
"SourceNat": "VpcVirtualRouter",
|
||||||
|
"PortForwarding": "VpcVirtualRouter",
|
||||||
|
"Vpn": "VpcVirtualRouter",
|
||||||
|
"Lb": "VpcVirtualRouter",
|
||||||
|
"UserData": "VpcVirtualRouter",
|
||||||
|
"StaticNat": "VpcVirtualRouter",
|
||||||
|
"NetworkACL": "VpcVirtualRouter"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nw_offering_isolated_vpc": {
|
||||||
|
"name": "Isolated Network for VPC",
|
||||||
|
"displaytext": "Isolated Network for VPC",
|
||||||
|
"guestiptype": "Isolated",
|
||||||
|
"supportedservices": "Dhcp,Dns,SourceNat,PortForwarding,Vpn,UserData,StaticNat,NetworkACL",
|
||||||
|
"traffictype": "GUEST",
|
||||||
|
"availability": "Optional",
|
||||||
|
"ispersistent": "False",
|
||||||
|
"useVpc": "on",
|
||||||
|
"serviceProviderList": {
|
||||||
|
"Dhcp": "VpcVirtualRouter",
|
||||||
|
"Dns": "VpcVirtualRouter",
|
||||||
|
"SourceNat": "VpcVirtualRouter",
|
||||||
|
"PortForwarding": "VpcVirtualRouter",
|
||||||
|
"Vpn": "VpcVirtualRouter",
|
||||||
|
"UserData": "VpcVirtualRouter",
|
||||||
|
"StaticNat": "VpcVirtualRouter",
|
||||||
|
"NetworkACL": "VpcVirtualRouter"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"natrule": {
|
||||||
|
"privateport": 22,
|
||||||
|
"publicport": 22,
|
||||||
|
"startport": 22,
|
||||||
|
"endport": 22,
|
||||||
|
"protocol": "TCP",
|
||||||
|
"cidrlist": "0.0.0.0/0"
|
||||||
|
},
|
||||||
|
"fwrule": {
|
||||||
|
"startport": 22,
|
||||||
|
"endport": 22,
|
||||||
|
"cidr": "0.0.0.0/0",
|
||||||
|
"protocol": "TCP"
|
||||||
|
},
|
||||||
|
"lbrule": {
|
||||||
|
"name": "SSH",
|
||||||
|
"alg": "leastconn",
|
||||||
|
# Algorithm used for load balancing
|
||||||
|
"privateport": 22,
|
||||||
|
"publicport": 22,
|
||||||
|
"openfirewall": "False",
|
||||||
|
"startport": 22,
|
||||||
|
"endport": 22,
|
||||||
|
"protocol": "TCP",
|
||||||
|
"cidrlist": "0.0.0.0/0"
|
||||||
|
},
|
||||||
|
"icmprule": {
|
||||||
|
"icmptype": -1,
|
||||||
|
"icmpcode": -1,
|
||||||
|
"cidrlist": "0.0.0.0/0",
|
||||||
|
"protocol": "ICMP"
|
||||||
|
},
|
||||||
|
"host_password": "password",
|
||||||
"advanced_sg": {
|
"advanced_sg": {
|
||||||
"zone": {
|
"zone": {
|
||||||
"name": "",
|
"name": "",
|
||||||
|
|||||||
@ -131,6 +131,13 @@ class Account:
|
|||||||
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
[setattr(cmd, k, v) for k, v in kwargs.items()]
|
||||||
return(apiclient.listAccounts(cmd))
|
return(apiclient.listAccounts(cmd))
|
||||||
|
|
||||||
|
def disable(self, apiclient, lock=False):
|
||||||
|
"""Disable an account"""
|
||||||
|
cmd = disableAccount.disableAccountCmd()
|
||||||
|
cmd.id = self.id
|
||||||
|
cmd.lock = lock
|
||||||
|
apiclient.disableAccount(cmd)
|
||||||
|
|
||||||
|
|
||||||
class User:
|
class User:
|
||||||
""" User Life Cycle """
|
""" User Life Cycle """
|
||||||
|
|||||||
@ -64,7 +64,8 @@ from marvin.integration.lib.base import (Configurations,
|
|||||||
PhysicalNetwork,
|
PhysicalNetwork,
|
||||||
Host,
|
Host,
|
||||||
PublicIPAddress,
|
PublicIPAddress,
|
||||||
NetworkOffering)
|
NetworkOffering,
|
||||||
|
Network)
|
||||||
from marvin.integration.lib.utils import (get_process_status,
|
from marvin.integration.lib.utils import (get_process_status,
|
||||||
xsplit,
|
xsplit,
|
||||||
validateList)
|
validateList)
|
||||||
@ -969,3 +970,13 @@ def shouldTestBeSkipped(networkType, zoneType):
|
|||||||
and (zoneType.lower() == BASIC_ZONE)):
|
and (zoneType.lower() == BASIC_ZONE)):
|
||||||
skipIt = True
|
skipIt = True
|
||||||
return skipIt
|
return skipIt
|
||||||
|
|
||||||
|
def verifyNetworkState(apiclient, networkid, state):
|
||||||
|
"""List networks and check if the network state matches the given state"""
|
||||||
|
try:
|
||||||
|
networks = Network.list(apiclient, id=networkid)
|
||||||
|
except Exception as e:
|
||||||
|
raise Exception("Failed while fetching network list with error: %s" % e)
|
||||||
|
assert validateList(networks)[0] == PASS, "Networks list validation failed, list is %s" % networks
|
||||||
|
assert str(networks[0].state).lower() == state, "network state should be %s, it is %s" % (state, networks[0].state)
|
||||||
|
return
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user