From 600059b928156d807ca1712736609a23f15dc1c3 Mon Sep 17 00:00:00 2001 From: Orest Voznyy Date: Sat, 28 Jul 2018 16:25:02 +0300 Subject: Add vEPC default bearers create/delete test case This test case runs on Spirent Landslide TG. All vEPC entities are emulated on Landslide test server. Test run configuration is performed in following files: 1. test case file 2. pod file 3. session profile file (landslide_session_default_bearer*.yaml) The structure of these files represents configuration of different parts of test cases in this test session. The order of test cases should always match. Spirent Landslide test types involved: "SGW_Node", "SGW_Nodal". Test case actions sequence: - create default bearers (as per value of "Sessions" key) with specified rate (session profile key "StartRate") - send traffic flow(s) (pre-configured in traffic profile) for a number of seconds (specified in session profile key "duration") - remove N default bearers with specified rate (session profile key "DisconnectRate") Parameters with ALL_CAPS values are placeholders. User should replace them with their own condifuration. Session profile file placeholders do not need to be replaced as long as these parameters are overriden in other files (e.g. pod, test case). Test results are dispatched according to runner configuration options. For fully emulated test runs like this one, best suited runner is "Search" type. In case of testing against real EPC VNFs, user could prefer different runner type. JIRA: YARDSTICK-1348 Change-Id: I5caf4878fb212b38d4148a297c5dba03b8ab98a8 Signed-off-by: Orest Voznyy --- etc/yardstick/nodes/standalone/pod_landslide.yaml | 130 ++++++++++++++++++ .../tc_epc_default_bearer_create_landslide.yaml | 57 ++++++++ ..._default_bearer_create_landslide_multi_dmf.yaml | 57 ++++++++ .../landslide_session_default_bearer.yaml | 147 ++++++++++++++++++++ ...landslide_session_default_bearer_multi_dmf.yaml | 150 +++++++++++++++++++++ 5 files changed, 541 insertions(+) create mode 100644 etc/yardstick/nodes/standalone/pod_landslide.yaml create mode 100644 samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml create mode 100644 samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide_multi_dmf.yaml create mode 100644 samples/vnf_samples/traffic_profiles/landslide/landslide_session_default_bearer.yaml create mode 100644 samples/vnf_samples/traffic_profiles/landslide/landslide_session_default_bearer_multi_dmf.yaml diff --git a/etc/yardstick/nodes/standalone/pod_landslide.yaml b/etc/yardstick/nodes/standalone/pod_landslide.yaml new file mode 100644 index 000000000..c84aed142 --- /dev/null +++ b/etc/yardstick/nodes/standalone/pod_landslide.yaml @@ -0,0 +1,130 @@ +# Copyright (c) 2018 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +nodes: +- + name: "tg__0" + role: tg__0 + tas_manager: + ip: 192.168.122.100 + super_user: SUPER_USER + super_user_password: SUPER_USER_PASSWORD + cfguser_password: CFGUSER_PASSWORD + test_user: TEST_USER + test_user_password: TEST_USER_PASSWORD + proto: http + license: LICENSE_NUMBER + interfaces: # dummy values + xe0: + vpci: "0000:05:00.0" + local_mac: "68:05:ca:30:3d:50" + driver: "i40e" + local_ip: "152.16.100.19" + netmask: "255.255.255.0" + xe1: + vpci: "0000:05:00.1" + local_mac: "68:05:ca:30:3d:51" + driver: "i40e" + local_ip: "152.16.40.19" + netmask: "255.255.255.0" + config: + - test_server: + name: TestServer_1 + role: SGW_Node + ip: 192.168.122.101 + thread_model: Fireball + # override port-subnet and static route reservation information for this + # test server within the test session. + phySubnets: + - base: 10.42.32.100 + mask: "/24" + name: &ts1_port1 eth5 + numIps: 20 + - base: 10.42.33.100 + mask: "/24" + name: &ts1_port2 eth6 + numIps: 20 + preResolvedArpAddress: # required for testcases with enabled Fireball mode + - StartingAddress: 10.42.33.10 + NumNodes: 1 + suts: + - name: SGW-C TestNode + role: SgwControlAddr + managementIp: 12.0.1.1 + phy: *ts1_port1 + ip: 10.42.32.100 + # nextHop: '' + - name: SGW-U TestNode + role: SgwUserAddr + managementIp: 12.0.1.2 + phy: *ts1_port1 + ip: 10.42.32.101 + # nextHop: '' + + - test_server: + name: TestServer_2 + role: SGW_Nodal + ip: 192.168.122.102 + thread_model: Fireball + # override port-subnet and static route reservation information for this + # test server within the test session. + phySubnets: + - base: 10.42.32.1 + mask: "/24" + name: &ts2_port1 eth5 + numIps: 100 + - base: 10.42.33.1 + mask: "/24" + name: &ts2_port2 eth6 + numIps: 100 + suts: + - name: eNodeB TestNode + role: EnbUserAddr + managementIp: 12.0.2.1 + phy: *ts2_port1 + ip: 10.42.32.2 + # nextHop: '' + - name: Target eNodeB + role: MobEnbUserAddr + managementIp: 12.0.2.2 + phy: *ts2_port1 + ip: 10.42.32.3 + # nextHop: '' + - name: MME TestNode + role: MmeControlAddr + managementIp: 12.0.3.1 + phy: *ts2_port1 + ip: 10.42.32.1 + # nextHop: '' + - name: NetHost TestNode + role: NetworkHostAddrLocal + managementIp: 12.0.4.1 + phy: *ts2_port2 + ip: 10.42.33.10 + # nextHop: '' + - name: PGW SUT + role: PgwV4Sut + managementIp: 12.0.5.1 + phy: *ts1_port1 + ip: 10.42.32.105 + # nextHop: '' + - name: SGW-C SUT + role: SgwSut + managementIp: 12.0.6.1 + ip: 10.42.32.100 + - name: SGW-U SUT + role: SgwUserSut + managementIp: 12.0.6.2 + ip: 10.42.32.101 diff --git a/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml new file mode 100644 index 000000000..0b94d313f --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide.yaml @@ -0,0 +1,57 @@ +# Copyright (c) 2018 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +schema: yardstick:task:0.1 +description: > + UE default bearer creation test case. Measure successful default bearer + creation rate, total number of active bearer per server. + +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/landslide/landslide_dmf_udp.yaml" + session_profile: "../../traffic_profiles/landslide/landslide_session_default_bearer.yaml" + topology: "vepc_vnf_topology_landslide.yaml" + nodes: + tg__0: tg__0.traffic_gen + vnf__0: vnf__0.vnf_epc + options: + dmf: + transactionRate: 5 + packetSize: 512 + test_cases: # test case parameters to apply on session profile + - type: SGW_Node # test type from test session profile + AssociatedPhys: 'eth6' # interface(s) in Node test type to loop traffic back from NetHost + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + FireballEn: 'false' + Sessions: '20000' + - type: SGW_Nodal # test type from test session profile + StartRate: '1000.0' + DisconnectRate: '1000.0' + FireballEn: 'false' + Sessions: '20000' + + runner: + type: Duration + duration: 200 + interval: 5 + +contexts: +- name: traffic_gen + type: Node + file: /etc/yardstick/nodes/pod_landslide.yaml +- name: vnf_epc + type: Node + file: /etc/yardstick/nodes/pod_vepc_sut.yaml diff --git a/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide_multi_dmf.yaml b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide_multi_dmf.yaml new file mode 100644 index 000000000..76567062a --- /dev/null +++ b/samples/vnf_samples/nsut/vepc/tc_epc_default_bearer_create_landslide_multi_dmf.yaml @@ -0,0 +1,57 @@ +# Copyright (c) 2018 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +schema: yardstick:task:0.1 +description: > + UE default bearer creation test case. Measure successful default bearer + creation rate, total number of active bearer per server. + +scenarios: +- type: NSPerf + traffic_profile: "../../traffic_profiles/landslide/landslide_dmf_udp_tcp.yaml" + session_profile: "../../traffic_profiles/landslide/landslide_session_default_bearer_multi_dmf.yaml" + topology: "vepc_vnf_topology_landslide.yaml" + nodes: + tg__0: tg__0.traffic_gen + vnf__0: vnf__0.vnf_epc + options: + dmf: + - transactionRate: 5 + packetSize: 512 + - transactionRate: 5 + packetSize: 1518 + test_cases: # test case parameters to apply on session profile + - type: SGW_Node # test type from test session profile + AssociatedPhys: 'eth6' # interface(s) in Node test type to loop traffic back from NetHost + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + Sessions: '20000' + - type: SGW_Nodal # test type from test session profile + StartRate: '1000.0' + DisconnectRate: '1000.0' + Sessions: '20000' + + runner: + type: Duration + duration: 300 + interval: 5 + +contexts: +- name: traffic_gen + type: Node + file: /etc/yardstick/nodes/pod_landslide.yaml +- name: vnf_epc + type: Node + file: /etc/yardstick/nodes/pod_vepc_sut.yaml diff --git a/samples/vnf_samples/traffic_profiles/landslide/landslide_session_default_bearer.yaml b/samples/vnf_samples/traffic_profiles/landslide/landslide_session_default_bearer.yaml new file mode 100644 index 000000000..a90d8a189 --- /dev/null +++ b/samples/vnf_samples/traffic_profiles/landslide/landslide_session_default_bearer.yaml @@ -0,0 +1,147 @@ +# Copyright (c) 2018 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +description: 'UE default bearer creation test case' +name: default_bearer_capacity +keywords: '' +duration: 60 +tsGroups: +- tsId: SGW_NODE_TS_NAME # SGW-Node test server name placeholder + testCases: + - name: '' + type: SGW_Node + AssociatedPhys: '' + parameters: + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + DedicatedsPerDefaultBearer: '0' + DefaultBearers: '1' + FireballEn: 'false' + Gtp2Imei: '50502410121507' + Gtp2Imsi: '505024101215074' + Gtp2Version: 13.6.0 + PgwNodeEn: 'true' + S5Protocol: GTPv2 + Sessions: '100000' + SgiPtpTunnelEn: 'false' + SgwControlAddr: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: SGW_CONTROL_IP # SGW-C TestNode IP address placeholder + mtu: 1500 + numLinksOrNodes: 1 + phy: SGW_CONTROL_PHY + SgwUserAddr: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: SGW_USER_IP # SGW-U TestNode IP address placeholder + mtu: 1500 + numLinksOrNodes: 1 + phy: SGW_USER_PHY + TestType: SGW-NODE + TrafficMtu: '1500' +- tsId: SGW_NODAL_TS_NAME # SGW-Nodal test server name placeholder + testCases: + - name: '' + type: SGW_Nodal + parameters: + DataTraffic: Continuous + DataUserCfgFileEn: 'false' + DedicatedsPerDefaultBearer: '0' + DefaultBearers: '1' + DisconnectRate: '1000.0' + Dmf: + class: Dmf + mainflows: + - library: TEST_USER + name: Basic UDP + instanceGroups: + - mainflowIdx: 0 + mixType: '' + rate: 0 + startPaused: 'false' + EnbUserAddr: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: ENB_USER_IP # eNodeB TestNode IP address placeholder + mac: '' + mtu: 1500 + nextHop: '' + numLinksOrNodes: 1 + numVlan: 1 + phy: ENB_USER_PHY + uniqueVlanAddr: 'false' + vlanDynamic: 0 + vlanId: 0 + vlanUserPriority: 0 + vlanTagType: 0 + FireballEn: 'false' + Gtp2Imei: '50502410121507' + Gtp2Imsi: '505024101215074' + Gtp2Version: 13.6.0 + MmeControlAddr: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: MME_CONTROL_IP # MME TestNode IP address placeholder + mac: '' + mtu: 1500 + nextHop: '' + numLinksOrNodes: 1 + numVlan: 1 + phy: MME_CONTROL_PHY + uniqueVlanAddr: 'false' + vlanDynamic: 0 + vlanId: 0 + vlanUserPriority: 0 + vlanTagType: 0 + NetworkHost: Local + NetworkHostAddrLocal: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: NET_HOST_IP # NetHost TestNode IP address placeholder + mac: '' + mtu: 1500 + nextHop: '' + numLinksOrNodes: 1 + numVlan: 1 + phy: NET_HOST_PHY + uniqueVlanAddr: 'false' + vlanDynamic: 0 + vlanId: 0 + vlanUserPriority: 0 + vlanTagType: 0 + PgwNodeEn: 'false' + PgwUserSutEn: 'false' + PgwV4Sut: + class: Sut + name: PGW_SUT_NAME # PGW TestNode name placeholder + S5Protocol: GTPv2 + Sessions: '100000' + SgwSut: + class: Sut + name: SGW_CONTROL_NAME # SGW-C SUT name placeholder + SgwUserSut: + class: Sut + name: SGW_USER_NAME # SGW-U SUT name placeholder + StartRate: '1000.0' + TestActivity: Capacity Test + TestType: SGW-NODAL + TrafficMtu: '1500' + TrafficStartType: When All Sessions Established diff --git a/samples/vnf_samples/traffic_profiles/landslide/landslide_session_default_bearer_multi_dmf.yaml b/samples/vnf_samples/traffic_profiles/landslide/landslide_session_default_bearer_multi_dmf.yaml new file mode 100644 index 000000000..7b1f50160 --- /dev/null +++ b/samples/vnf_samples/traffic_profiles/landslide/landslide_session_default_bearer_multi_dmf.yaml @@ -0,0 +1,150 @@ +# Copyright (c) 2018 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +--- +description: 'UE default bearer creation test case' +name: default_bearer_capacity +keywords: '' +duration: 60 +tsGroups: +- tsId: SGW_NODE_TS_NAME # SGW-Node test server name placeholder + testCases: + - name: '' + type: SGW_Node + parameters: + BearerAddrPool: 2001::1 + BearerV4AddrPool: 1.0.0.1 + DedicatedsPerDefaultBearer: '0' + DefaultBearers: '1' + Gtp2Imei: '50502410121507' + Gtp2Imsi: '505024101215074' + Gtp2Version: 13.6.0 + PgwNodeEn: 'true' + S5Protocol: GTPv2 + Sessions: '100000' + SgiPtpTunnelEn: 'false' + SgwControlAddr: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: SGW_CONTROL_IP # SGW-C TestNode IP address placeholder + mtu: 1500 + numLinksOrNodes: 1 + phy: SGW_CONTROL_PHY + SgwUserAddr: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: SGW_USER_IP # SGW-U TestNode IP address placeholder + mtu: 1500 + numLinksOrNodes: 1 + phy: SGW_USER_PHY + TestType: SGW-NODE + TrafficMtu: '1500' +- tsId: SGW_NODAL_TS_NAME # SGW-Nodal test server name placeholder + testCases: + - name: '' + type: SGW_Nodal + parameters: + DataTraffic: Continuous + DataUserCfgFileEn: 'false' + DedicatedsPerDefaultBearer: '0' + DefaultBearers: '1' + DisconnectRate: '1000.0' + Dmf: + class: Dmf + mainflows: + - library: test + name: Basic UDP + - library: test + name: Basic TCP + instanceGroups: + - mainflowIdx: 0 + mixType: '' + rate: 0 + startPaused: 'false' + - mainflowIdx: 1 + mixType: '' + rate: 0 + startPaused: 'false' + EnbUserAddr: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: ENB_USER_IP # eNodeB TestNode IP address placeholder + mac: '' + mtu: 1500 + nextHop: '' + numLinksOrNodes: 1 + numVlan: 1 + phy: ENB_USER_PHY + uniqueVlanAddr: 'false' + vlanDynamic: 0 + vlanId: 0 + vlanUserPriority: 0 + vlanTagType: 0 + Gtp2Imei: '50502410121507' + Gtp2Imsi: '505024101215074' + Gtp2Version: 13.6.0 + MmeControlAddr: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: MME_CONTROL_IP # MME TestNode IP address placeholder + mac: '' + mtu: 1500 + nextHop: '' + numLinksOrNodes: 1 + numVlan: 1 + phy: MME_CONTROL_PHY + uniqueVlanAddr: 'false' + vlanDynamic: 0 + vlanId: 0 + vlanUserPriority: 0 + vlanTagType: 0 + NetworkHost: Local + NetworkHostAddrLocal: + class: TestNode + ethStatsEnabled: 'false' + forcedEthInterface: '' + ip: NET_HOST_IP # NetHost TestNode IP address placeholder + mac: '' + mtu: 1500 + nextHop: '' + numLinksOrNodes: 1 + numVlan: 1 + phy: NET_HOST_PHY + uniqueVlanAddr: 'false' + vlanDynamic: 0 + vlanId: 0 + vlanUserPriority: 0 + vlanTagType: 0 + PgwNodeEn: 'false' + PgwUserSutEn: 'false' + PgwV4Sut: + class: Sut + name: PGW_SUT_NAME # PGW TestNode name placeholder + S5Protocol: GTPv2 + Sessions: '100000' + SgwSut: + class: Sut + name: SGW_CONTROL_NAME # SGW-C SUT name placeholder + SgwUserSut: + class: Sut + name: SGW_USER_NAME # SGW-U SUT name placeholder + StartRate: '1000.0' + TestActivity: Capacity Test + TestType: SGW-NODAL + TrafficMtu: '1500' + TrafficStartType: When All Sessions Established -- cgit 1.2.3-korg