From 07715091a744804ee48deac753ae60b9a5f06c47 Mon Sep 17 00:00:00 2001 From: SrinivasRachakonda Date: Wed, 20 Jun 2018 01:41:11 +0530 Subject: [PATCH] Vni Based L3 Forwarding Change-Id: I525f34c06c502f98e65d287c467fe8a005f3a616 Signed-off-by: SrinivasRachakonda Signed-off-by: Srinivas Rachakonda --- csit/libraries/OVSDB.robot | 40 +++- .../vnibasedl3forwarding.robot | 182 ++++++++++++++++++ csit/testplans/netvirt-1node-openstack.txt | 1 + 3 files changed, 222 insertions(+), 1 deletion(-) create mode 100644 csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot diff --git a/csit/libraries/OVSDB.robot b/csit/libraries/OVSDB.robot index 2922a02ea7..f474bff289 100644 --- a/csit/libraries/OVSDB.robot +++ b/csit/libraries/OVSDB.robot @@ -426,6 +426,7 @@ Get Tunnel Id And Packet Count ${full_cmd} = BuiltIn.Run Keyword If "${direction}" == "Egress" BuiltIn.Catenate ${base_cmd} | grep ${dst_mac} | awk '{split($7,a,"[:-]"); print a[2]}' ... ELSE BuiltIn.Catenate ${base_cmd} | awk '{split($6,a,"[,=]"); {print a[4]}}' SSHLibrary.Switch Connection ${conn_id} + Utils.Write Commands Until Expected Prompt ${base_cmd} ${DEFAULT_LINUX_PROMPT_STRICT} ${output} = Utils.Write Commands Until Expected Prompt ${full_cmd} ${DEFAULT_LINUX_PROMPT_STRICT} @{list} = String.Split String ${output} ${output} = Set Variable @{list}[0] @@ -435,7 +436,7 @@ Get Tunnel Id And Packet Count SSHLibrary.Switch Connection ${conn_id} ${output} = Utils.Write Commands Until Expected Prompt ${full_cmd} ${DEFAULT_LINUX_PROMPT_STRICT} @{list} = String.Split String ${output} - ${packet_count} = Set Variable @{list}[0] + ${packet_count} = BuiltIn.Set Variable @{list}[0] [Return] ${tunnel_id} ${packet_count} Verify Dump Flows For Specific Table @@ -446,3 +447,40 @@ Verify Dump Flows For Specific Table : FOR ${matching_str} IN @{matching_paras} \ BuiltIn.Run Keyword If ${flag}==True BuiltIn.Should Contain ${flow_output} ${matching_str} \ ... ELSE BuiltIn.Should Not Contain ${flow_output} ${matching_str} + +Verify Vni Segmentation Id and Tunnel Id + [Arguments] ${port1} ${port2} ${net1} ${net2} ${vm1_ip} ${vm2_ip} + ... ${ip}="" + [Documentation] Get tunnel id and packet count from specified table id and destination port mac address + ${port_mac1} = OpenStackOperations.Get Port Mac ${port1} + ${port_mac2} = OpenStackOperations.Get Port Mac ${port2} + ${segmentation_id1} = OpenStackOperations.Get Network Segmentation Id ${net1} + ${segmentation_id2} = OpenStackOperations.Get Network Segmentation Id ${net2} + ${egress_tun_id} ${before_count_egress_port1} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP1_CONN_ID} ${L3_TABLE} direction=${EGRESS} tun_id=${segmentation_id2} + ... dst_mac=${port_mac2} + BuiltIn.Should Be Equal As Numbers ${segmentation_id2} ${egress_tun_id} + ${egress_tun_id} ${before_count_egress_port2} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP2_CONN_ID} ${L3_TABLE} direction=${EGRESS} tun_id=${segmentation_id1} + ... dst_mac=${port_mac1} + BuiltIn.Should Be Equal As Numbers ${segmentation_id1} ${egress_tun_id} + ${ingress_tun_id} ${before_count_ingress_port1} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP1_CONN_ID} ${INTERNAL_TUNNEL_TABLE} direction=${INGRESS} tun_id=${segmentation_id1} + BuiltIn.Should Be Equal As Numbers ${segmentation_id1} ${ingress_tun_id} + ${ingress_tun_id} ${before_count_ingress_port2} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP2_CONN_ID} ${INTERNAL_TUNNEL_TABLE} direction=${INGRESS} tun_id=${segmentation_id2} + BuiltIn.Should Be Equal As Numbers ${segmentation_id2} ${ingress_tun_id} + ${ping_cmd} = BuiltIn.Run Keyword If '${ip}'=='ipv4' BuiltIn.Set Variable ping -c ${DEFAULT_PING_COUNT} ${vm2_ip} + ... ELSE BuiltIn.Set Variable ping6 -c ${DEFAULT_PING_COUNT} ${vm2_ip} + ${output} = OpenStackOperations.Execute Command on VM Instance ${net1} ${vm1_ip} ${ping_cmd} + BuiltIn.Should Contain ${output} 64 bytes + ${tun_id} ${after_count_egress_port2} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP2_CONN_ID} ${L3_TABLE} direction=${EGRESS} tun_id=${segmentation_id1} + ... dst_mac=${port_mac1} + ${tun_id} ${after_count_ingress_port2} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP2_CONN_ID} ${INTERNAL_TUNNEL_TABLE} direction=${INGRESS} tun_id=${segmentation_id2} + ${tun_id} ${after_count_egress_port1} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP1_CONN_ID} ${L3_TABLE} direction=${EGRESS} tun_id=${segmentation_id2} + ... dst_mac=${port_mac2} + ${tun_id} ${after_count_ingress_port1} = OVSDB.Get Tunnel Id And Packet Count ${OS_CMP1_CONN_ID} ${INTERNAL_TUNNEL_TABLE} direction=${INGRESS} tun_id=${segmentation_id1} + ${diff_count_egress_port1} = BuiltIn.Evaluate ${after_count_egress_port1} - ${before_count_egress_port1} + ${diff_count_ingress_port1} = BuiltIn.Evaluate ${after_count_ingress_port1} - ${before_count_ingress_port1} + ${diff_count_egress_port2} = BuiltIn.Evaluate ${after_count_egress_port2} - ${before_count_egress_port2} + ${diff_count_ingress_port2} = BuiltIn.Evaluate ${after_count_ingress_port2} - ${before_count_ingress_port2} + BuiltIn.Should Be True ${diff_count_egress_port1} >= ${DEFAULT_PING_COUNT} + BuiltIn.Should Be True ${diff_count_ingress_port1} >= ${DEFAULT_PING_COUNT} + BuiltIn.Should Be True ${diff_count_egress_port2} >= ${DEFAULT_PING_COUNT} + BuiltIn.Should Be True ${diff_count_ingress_port2} >= ${DEFAULT_PING_COUNT} diff --git a/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot b/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot new file mode 100644 index 0000000000..16628bdd20 --- /dev/null +++ b/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot @@ -0,0 +1,182 @@ +*** Settings *** +Documentation Test Suite for vni-based-l2-l3-nat: +... This feature attempts to realize the use of VxLAN VNI +... (Virtual Network Identifier) for VxLAN tenant traffic +... flowing on the cloud data-network. This is applicable +... to L2 switching, L3 forwarding and NATing for all VxLAN +... based provider networks. In doing so, it eliminates the +... presence of LPort tags, ELAN tags and MPLS labels on the +... wire and instead, replaces them with VNIs supplied by the +... tenant’s OpenStack. +Suite Setup Start Suite +Suite Teardown OpenStackOperations.OpenStack Suite Teardown +Test Setup Run Keywords OpenStackOperations.Get DumpFlows And Ovsconfig ${OS_CMP1_CONN_ID} +... AND OpenStackOperations.Get DumpFlows And Ovsconfig ${OS_CMP2_CONN_ID} +Test Teardown OpenStackOperations.Get Test Teardown Debugs +Library OperatingSystem +Library RequestsLibrary +Library String +Resource ../../../libraries/DevstackUtils.robot +Resource ../../../libraries/KarafKeywords.robot +Resource ../../../variables/netvirt/Variables.robot +Resource ../../../libraries/OpenStackOperations.robot +Resource ../../../libraries/OVSDB.robot +Resource ../../../libraries/SetupUtils.robot +Resource ../../../libraries/Utils.robot +Resource ../../../libraries/VpnOperations.robot +Resource ../../../variables/netvirt/Variables.robot +Resource ../../../variables/Variables.robot + +*** Variables *** +${EGRESS} Egress +${INGRESS} Ingress +${IP} ipv4 +${VNI_SECURITY_GROUP} vni_sg +@{VNI_NETWORKS} vni_l3_net_0 vni_l3_net_1 vni_l3_net_2 vni_l3_net_3 vni_l3_net_4 vni_l3_net_5 +@{VNI_SUBNETS} vni_l3_sub_0 vni_l3_sub_1 vni_l3_sub_2 vni_l3_sub_3 vni_l3_sub_4 vni_l3_sub_5 +@{VNI_SUBNET_CIDRS} 61.1.1.0/24 62.1.1.0/24 63.1.1.0/24 64.1.1.0/24 65.1.1.0/24 66.1.1.0/24 +@{VNI_NET_0_PORTS} vni_l3_net_0_port_1 vni_l3_net_0_port_2 +@{VNI_NET_1_PORTS} vni_l3_net_1_port_1 vni_l3_net_1_port_2 +@{VNI_NET_2_PORTS} vni_l3_net_2_port_1 vni_l3_net_2_port_2 +@{VNI_NET_3_PORTS} vni_l3_net_3_port_1 vni_l3_net_3_port_2 +@{VNI_NET_4_PORTS} vni_l3_net_4_port_1 vni_l3_net_4_port_2 +@{VNI_NET_5_PORTS} vni_l3_net_5_port_1 vni_l3_net_5_port_2 +@{VNI_NET_0_VMS} vni_l3_net_0_vm +@{VNI_NET_1_VMS} vni_l3_net_1_vm +@{VNI_NET_2_VMS} vni_l3_net_2_vm +@{VNI_NET_3_VMS} vni_l3_net_3_vm +@{VNI_NET_4_VMS} vni_l3_net_4_vm +@{VNI_NET_5_VMS} vni_l3_net_5_vm +@{VNI_ROUTER} vni_l3_router1 vni_l3_router2 +@{VNI_BGPVPN} vni_l3_bgpvpn +@{VNI_RDS} ["2200:2"] ["2300:2"] ["2400:2"] ["2500:2"] +@{VNI_VPN_NAMES} vni_l3_vpn_1 vni_l3_vpn_2 vni_l3_vpn_3 vni_l3_vpn_4 +@{VNI_VPN_INSTANCE_IDS} 4ae8cd92-48ca-49b5-94e1-b2921a261441 4ae8cd92-48ca-49b5-94e1-b2921a261442 4ae8cd92-48ca-49b5-94e1-b2921a261443 4ae8cd92-48ca-49b5-94e1-b2921a261444 + +*** Test Cases *** +VNI Based L3 Forwarding + [Documentation] verify VNI id for L3 Unicast frames exchanged over OVS datapaths that are on different hypervisors + Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI_NET_0_PORTS}[0] @{VNI_NET_1_PORTS}[0] @{VNI_NETWORKS}[0] + ... @{VNI_NETWORKS}[1] @{NET_0_VM_IPS}[0] @{NET_1_VM_IPS}[0] ${IP} + +VNI Based L3 Forwarding With BGPVPN Router Association + [Documentation] verify VNI id for L3 Unicast frames exchanged over OVS datapaths that are on different hypervisors + ... With Router associated to a BGPVPN. + ${net_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[0] + ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} + VpnOperations.VPN Create L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[0] name=@{VNI_VPN_NAMES}[0] rd=@{VNI_RDS}[0] exportrt=@{VNI_RDS}[0] importrt=@{VNI_RDS}[0] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} @{VNI_VPN_INSTANCE_IDS}[0] + ${router_id} = OpenStackOperations.Get Router Id @{VNI_ROUTER}[0] + VpnOperations.Associate VPN to Router routerid=${router_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[0] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[0] + BuiltIn.Should Contain ${resp} ${router_id} + BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI_NET_0_PORTS}[0] @{VNI_NET_1_PORTS}[0] @{VNI_NETWORKS}[0] + ... @{VNI_NETWORKS}[1] @{NET_0_VM_IPS}[0] @{NET_1_VM_IPS}[0] ${IP} + +VNI Based L3 Forwarding With BGPVPN Network Association + [Documentation] verify VNI id for L3 Unicast frames exchanged over OVS datapaths that are on different hypervisors + ... With Networks associated to a BGPVPN. + OpenStackOperations.Create Network @{VNI_NETWORKS}[2] + OpenStackOperations.Create Network @{VNI_NETWORKS}[3] + OpenStackOperations.Create SubNet @{VNI_NETWORKS}[2] @{VNI_SUBNETS}[2] @{VNI_SUBNET_CIDRS}[2] + OpenStackOperations.Create SubNet @{VNI_NETWORKS}[3] @{VNI_SUBNETS}[3] @{VNI_SUBNET_CIDRS}[3] + OpenStackOperations.Create Port @{VNI_NETWORKS}[2] @{VNI_NET_2_PORTS}[0] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Port @{VNI_NETWORKS}[3] @{VNI_NET_3_PORTS}[0] sg=${VNI_SECURITY_GROUP} + ${net_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[2] + ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} + BuiltIn.Log @{VNI_RDS}[1] + VpnOperations.VPN Create L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[1] name=@{VNI_VPN_NAMES}[1] rd=@{VNI_RDS}[1] exportrt=@{VNI_RDS}[1] importrt=@{VNI_RDS}[1] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[1] + BuiltIn.Should Contain ${resp} @{VNI_VPN_INSTANCE_IDS}[1] + ${network2_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[2] + ${network3_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[3] + VpnOperations.Associate L3VPN To Network networkid=${network2_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[1] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[1] + BuiltIn.Should Contain ${resp} ${network2_id} + VpnOperations.Associate L3VPN To Network networkid=${network3_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[1] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[1] + BuiltIn.Should Contain ${resp} ${network3_id} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_2_PORTS}[0] @{VNI_NET_2_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_3_PORTS}[0] @{VNI_NET_3_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} + @{NET_2_VM_IPS} ${NET_2_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_2_VMS} + @{NET_3_VM_IPS} ${NET_3_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_3_VMS} + BuiltIn.Set Suite Variable @{NET_2_VM_IPS} + BuiltIn.Set Suite Variable @{NET_3_VM_IPS} + BuiltIn.Should Not Contain ${NET_2_VM_IPS} None + BuiltIn.Should Not Contain ${NET_3_VM_IPS} None + BuiltIn.Should Not Contain ${NET_2_DHCP_IP} None + BuiltIn.Should Not Contain ${NET_3_DHCP_IP} None + BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI_NET_2_PORTS}[0] @{VNI_NET_3_PORTS}[0] @{VNI_NETWORKS}[2] + ... @{VNI_NETWORKS}[3] @{NET_2_VM_IPS}[0] @{NET_3_VM_IPS}[0] ${IP} + +VNI Based L3 Forwarding With BGPVPN With Irt Ert + [Documentation] verify VNI id for L3 Unicast frames exchanged over OVS datapaths that are on different hypervisors + ... With two Networks associated to two BGPVPN. + OpenStackOperations.Create Network @{VNI_NETWORKS}[4] + OpenStackOperations.Create Network @{VNI_NETWORKS}[5] + OpenStackOperations.Create SubNet @{VNI_NETWORKS}[4] @{VNI_SUBNETS}[4] @{VNI_SUBNET_CIDRS}[4] + OpenStackOperations.Create SubNet @{VNI_NETWORKS}[5] @{VNI_SUBNETS}[5] @{VNI_SUBNET_CIDRS}[5] + OpenStackOperations.Create Port @{VNI_NETWORKS}[4] @{VNI_NET_4_PORTS}[0] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Port @{VNI_NETWORKS}[5] @{VNI_NET_5_PORTS}[0] sg=${VNI_SECURITY_GROUP} + ${net_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[4] + ${tenant_id} = OpenStackOperations.Get Tenant ID From Network ${net_id} + BuiltIn.Log @{VNI_RDS}[2] + VpnOperations.VPN Create L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[2] name=@{VNI_VPN_NAMES}[2] rd=@{VNI_RDS}[2] exportrt=@{VNI_RDS}[2] importrt=@{VNI_RDS}[3] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[2] + BuiltIn.Should Contain ${resp} @{VNI_VPN_INSTANCE_IDS}[2] + ${network4_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[4] + VpnOperations.Associate L3VPN To Network networkid=${network4_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[2] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[2] + BuiltIn.Should Contain ${resp} ${network4_id} + BuiltIn.Log @{VNI_RDS}[3] + VpnOperations.VPN Create L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[3] name=@{VNI_VPN_NAMES}[3] rd=@{VNI_RDS}[3] exportrt=@{VNI_RDS}[3] importrt=@{VNI_RDS}[2] tenantid=${tenant_id} + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[3] + BuiltIn.Should Contain ${resp} @{VNI_VPN_INSTANCE_IDS}[3] + ${network5_id} = OpenStackOperations.Get Net Id @{VNI_NETWORKS}[5] + VpnOperations.Associate L3VPN To Network networkid=${network5_id} vpnid=@{VNI_VPN_INSTANCE_IDS}[3] + ${resp} = VpnOperations.VPN Get L3VPN vpnid=@{VNI_VPN_INSTANCE_IDS}[3] + BuiltIn.Should Contain ${resp} ${network5_id} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_4_PORTS}[0] @{VNI_NET_4_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_5_PORTS}[0] @{VNI_NET_5_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} + @{NET_4_VM_IPS} ${NET_4_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_4_VMS} + @{NET_5_VM_IPS} ${NET_5_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_5_VMS} + BuiltIn.Set Suite Variable @{NET_4_VM_IPS} + BuiltIn.Set Suite Variable @{NET_5_VM_IPS} + BuiltIn.Should Not Contain ${NET_4_VM_IPS} None + BuiltIn.Should Not Contain ${NET_5_VM_IPS} None + BuiltIn.Should Not Contain ${NET_4_DHCP_IP} None + BuiltIn.Should Not Contain ${NET_5_DHCP_IP} None + BuiltIn.Wait Until Keyword Succeeds 60s 5s OVSDB.Verify Vni Segmentation Id and Tunnel Id @{VNI_NET_4_PORTS}[0] @{VNI_NET_5_PORTS}[0] @{VNI_NETWORKS}[4] + ... @{VNI_NETWORKS}[5] @{NET_4_VM_IPS}[0] @{NET_5_VM_IPS}[0] ${IP} + +*** Keywords *** +Start Suite + [Documentation] Create Basic setup for the feature. Creates single network, subnet, two ports and two VMs. + ... Create Two VMs for TC1 : (VM1, N1, Compute1) and (VM2, N2, Compute2) and R1 + VpnOperations.Basic Suite Setup + OpenStackOperations.Create Allow All SecurityGroup ${VNI_SECURITY_GROUP} + OpenStackOperations.Create Network @{VNI_NETWORKS}[0] + OpenStackOperations.Create Network @{VNI_NETWORKS}[1] + OpenStackOperations.Create SubNet @{VNI_NETWORKS}[0] @{VNI_SUBNETS}[0] @{VNI_SUBNET_CIDRS}[0] + OpenStackOperations.Create SubNet @{VNI_NETWORKS}[1] @{VNI_SUBNETS}[1] @{VNI_SUBNET_CIDRS}[1] + OpenStackOperations.Create Port @{VNI_NETWORKS}[0] @{VNI_NET_0_PORTS}[0] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Port @{VNI_NETWORKS}[1] @{VNI_NET_1_PORTS}[0] sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Router @{VNI_ROUTER}[0] + OpenStackOperations.Add Router Interface @{VNI_ROUTER}[0] @{VNI_SUBNETS}[0] + OpenStackOperations.Add Router Interface @{VNI_ROUTER}[0] @{VNI_SUBNETS}[1] + ${interface_output} = OpenStackOperations.Show Router Interface @{VNI_ROUTER}[0] + ${GWMAC_ADDRS} ${GWIP_ADDRS} = VpnOperations.Get Gateway MAC And IP Address @{VNI_ROUTER}[0] + BuiltIn.Set Suite Variable ${GWMAC_ADDRS} + BuiltIn.Set Suite Variable ${GWIP_ADDRS} + ${router_list} = BuiltIn.Create List @{VNI_ROUTER}[0] + OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_0_PORTS}[0] @{VNI_NET_0_VMS}[0] ${OS_CMP1_HOSTNAME} sg=${VNI_SECURITY_GROUP} + OpenStackOperations.Create Vm Instance With Port On Compute Node @{VNI_NET_1_PORTS}[0] @{VNI_NET_1_VMS}[0] ${OS_CMP2_HOSTNAME} sg=${VNI_SECURITY_GROUP} + @{NET_0_VM_IPS} ${NET_0_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_0_VMS} + @{NET_1_VM_IPS} ${NET_1_DHCP_IP} = OpenStackOperations.Get VM IPs @{VNI_NET_1_VMS} + BuiltIn.Set Suite Variable @{NET_0_VM_IPS} + BuiltIn.Set Suite Variable @{NET_1_VM_IPS} + BuiltIn.Should Not Contain ${NET_0_VM_IPS} None + BuiltIn.Should Not Contain ${NET_1_VM_IPS} None + BuiltIn.Should Not Contain ${NET_0_DHCP_IP} None + BuiltIn.Should Not Contain ${NET_1_DHCP_IP} None diff --git a/csit/testplans/netvirt-1node-openstack.txt b/csit/testplans/netvirt-1node-openstack.txt index 959c0babe9..35e691bfed 100644 --- a/csit/testplans/netvirt-1node-openstack.txt +++ b/csit/testplans/netvirt-1node-openstack.txt @@ -11,4 +11,5 @@ integration/test/csit/suites/netvirt/elan/elan.robot integration/test/csit/suites/netvirt/vpnservice/arp_learning.robot integration/test/csit/suites/netvirt/l2l3_gatewaymac_arp.robot integration/test/csit/suites/netvirt/vnibasedl2switching/vnibasedl2switching.robot +integration/test/csit/suites/netvirt/vnibasedl3forwarding/vnibasedl3forwarding.robot integration/test/csit/suites/integration/Create_JVM_Plots.robot -- 2.36.6