From d3d4d83a420438f5ebfe453ab7ac63211bf0101f Mon Sep 17 00:00:00 2001 From: DanielMartinBuckley Date: Wed, 14 Nov 2018 17:09:51 +0000 Subject: Addition of IRQ Mode to NSB NFVI (PROX) JIRA: YARDSTICK-1524 Add dashboard, Traffic Profile support, PROX IRQ support, topology Change-Id: I0c0cde66f4f4d3d25aa77c502bd4349cc1b3eca2 Signed-off-by: Daniel Martin Buckley --- samples/vnf_samples/nsut/prox/configs/irq.cfg | 46 +++++++++++++++ samples/vnf_samples/nsut/prox/configs/irq2.cfg | 66 ++++++++++++++++++++++ .../vnf_samples/nsut/prox/prox-irq-baremetal.yaml | 47 +++++++++++++++ .../vnf_samples/nsut/prox/prox-tg-topology-0.yaml | 49 ++++++++++++++++ .../nsut/prox/tc_prox_baremetal_irq.yaml | 62 ++++++++++++++++++++ samples/vnf_samples/traffic_profiles/prox_irq.yaml | 22 ++++++++ .../vnf_samples/vnf_descriptors/prox_irq_vnf.yaml | 49 ++++++++++++++++ .../vnf_samples/vnf_descriptors/tg_prox_irq.yaml | 49 ++++++++++++++++ 8 files changed, 390 insertions(+) create mode 100644 samples/vnf_samples/nsut/prox/configs/irq.cfg create mode 100644 samples/vnf_samples/nsut/prox/configs/irq2.cfg create mode 100644 samples/vnf_samples/nsut/prox/prox-irq-baremetal.yaml create mode 100644 samples/vnf_samples/nsut/prox/prox-tg-topology-0.yaml create mode 100644 samples/vnf_samples/nsut/prox/tc_prox_baremetal_irq.yaml create mode 100644 samples/vnf_samples/traffic_profiles/prox_irq.yaml create mode 100644 samples/vnf_samples/vnf_descriptors/prox_irq_vnf.yaml create mode 100644 samples/vnf_samples/vnf_descriptors/tg_prox_irq.yaml (limited to 'samples') diff --git a/samples/vnf_samples/nsut/prox/configs/irq.cfg b/samples/vnf_samples/nsut/prox/configs/irq.cfg new file mode 100644 index 000000000..303744371 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/configs/irq.cfg @@ -0,0 +1,46 @@ +# Copyright (c) 2016-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. +# +#; + +[eal options] +-n=4 ; force number of memory channels +no-output=no ; disable DPDK debug output + +[global] +start time=5 +name=IRQ Query + +[core 0] +mode=master + +[core 1] +name=irq +task=0 +mode=irq + +[core 2] +name=irq +task=0 +mode=irq + +[core 3] +name=irq +task=0 +mode=irq + +[core 4] +name=irq +task=0 +mode=irq diff --git a/samples/vnf_samples/nsut/prox/configs/irq2.cfg b/samples/vnf_samples/nsut/prox/configs/irq2.cfg new file mode 100644 index 000000000..9eda96f58 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/configs/irq2.cfg @@ -0,0 +1,66 @@ +# Copyright (c) 2016-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. +# +#; + +[eal options] +-n=4 ; force number of memory channels +no-output=no ; disable DPDK debug output + +[global] +start time=5 +name=IRQ Query + +[core 0] +mode=master + +[core 1] +name=irq +task=0 +mode=irq + +[core 2] +name=irq +task=0 +mode=irq + +[core 3] +name=irq +task=0 +mode=irq + +[core 4] +name=irq +task=0 +mode=irq + +[core 5] +name=irq +task=0 +mode=irq + +[core 6] +name=irq +task=0 +mode=irq + +[core 7] +name=irq +task=0 +mode=irq + +[core 8] +name=irq +task=0 +mode=irq diff --git a/samples/vnf_samples/nsut/prox/prox-irq-baremetal.yaml b/samples/vnf_samples/nsut/prox/prox-irq-baremetal.yaml new file mode 100644 index 000000000..45faa57b0 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/prox-irq-baremetal.yaml @@ -0,0 +1,47 @@ +# Copyright (c) 2016-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: ProxIrqGen + ip: 1.1.1.1 + user: "root" + ssh_port: "22" + password: "r00t" + interfaces: + xe0: + vpci: "0000:05:00.0" + local_mac: "00:00:00:00:00:01" + driver: "i40e" + local_ip: "152.16.100.19" + netmask: "255.255.255.0" + dpdk_port_num: 0 +- + name: "vnf_0" + role: ProxIrqGen + ip: 1.1.1.2 + user: "root" + ssh_port: "22" + password: "r00t" + interfaces: + xe0: + vpci: "0000:05:00.0" + local_mac: "00:00:00:00:00:02" + driver: "i40e" + local_ip: "152.16.100.21" + netmask: "255.255.255.0" + dpdk_port_num: 0 diff --git a/samples/vnf_samples/nsut/prox/prox-tg-topology-0.yaml b/samples/vnf_samples/nsut/prox/prox-tg-topology-0.yaml new file mode 100644 index 000000000..cbd7b57a0 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/prox-tg-topology-0.yaml @@ -0,0 +1,49 @@ +# 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. + +nsd:nsd-catalog: + nsd: + - id: prox-tg-topology + name: prox-tg-topology + short-name: prox-tg-topology + description: prox-tg-topology + constituent-vnfd: + - member-vnf-index: '1' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_prox_irq.yaml + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/prox_irq_vnf.yaml + vld: + - id: uplink_0 + name: tg__0 to vnf__0 link 1 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__0 + + - id: downlink_0 + name: vnf__0 to tg__0 link 2 + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__0 diff --git a/samples/vnf_samples/nsut/prox/tc_prox_baremetal_irq.yaml b/samples/vnf_samples/nsut/prox/tc_prox_baremetal_irq.yaml new file mode 100644 index 000000000..30e703f51 --- /dev/null +++ b/samples/vnf_samples/nsut/prox/tc_prox_baremetal_irq.yaml @@ -0,0 +1,62 @@ +# Copyright (c) 2016-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: > + This test queries the PROX IRQ Statistics on the GEN and VNF. The KPIs + returned are the Maximium IRQ per core and the IRQs per second per + core. + +scenarios: +- + type: NSPerf + traffic_profile: ../../traffic_profiles/prox_irq.yaml + topology: prox-tg-topology-0.yaml + + nodes: + tg__0: tg_0.yardstick + vnf__0: vnf_0.yardstick + + options: + + vnf__0: + prox_path: /opt/nsb_bin/prox + prox_config: "configs/irq2.cfg" + prox_args: + "-t": "" + + tg__0: + prox_path: /opt/nsb_bin/prox + prox_config: "configs/irq2.cfg" + prox_args: + "-t": "" + + + runner: + type: ProxDuration + # sampling interval + interval: 1 + # sampled : yes OR sampled: no (DEFAULT yes) + sampled: yes + # we kill after duration, independent of test duration, so set this high + duration: 3100 + # Confirmation attempts + confirmation: 1 + +context: + type: Node + name: yardstick + nfvi_type: baremetal + file: prox-irq-baremetal.yaml diff --git a/samples/vnf_samples/traffic_profiles/prox_irq.yaml b/samples/vnf_samples/traffic_profiles/prox_irq.yaml new file mode 100644 index 000000000..32e27e186 --- /dev/null +++ b/samples/vnf_samples/traffic_profiles/prox_irq.yaml @@ -0,0 +1,22 @@ +# Copyright (c) 2016-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: "nsb:traffic_profile:0.1" + +name: prox_irq +description: Query IRQ Interval + +traffic_profile: + traffic_type: ProxIrqProfile + diff --git a/samples/vnf_samples/vnf_descriptors/prox_irq_vnf.yaml b/samples/vnf_samples/vnf_descriptors/prox_irq_vnf.yaml new file mode 100644 index 000000000..12f2a69ca --- /dev/null +++ b/samples/vnf_samples/vnf_descriptors/prox_irq_vnf.yaml @@ -0,0 +1,49 @@ +# 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. + +vnfd:vnfd-catalog: + vnfd: + - id: ProxIrqVNF # nsb class mapping + name: proxirqvnf + short-name: proxirqvnf + description: prox stateless traffic verifier + mgmt-interface: + vdu-id: proxgen-baremetal + {% if user is defined %} + user: '{{user}}' # Value filled by vnfdgen + {% endif %} + {% if password is defined %} + password: '{{password}}' # Value filled by vnfdgen + {% endif %} + {% if ip is defined %} + ip: '{{ip}}' # Value filled by vnfdgen + {% endif %} + {% if key_filename is defined %} + key_filename: '{{key_filename}}' # Value filled by vnfdgen + {% endif %} + vdu: + - id: proxgen-baremetal + name: proxgen-baremetal + description: prox stateless traffic verifier + + benchmark: + kpi: + - max_irq + - irq(0) + - irq(1) + - irq(2) + - irq(3) + - irq(4) + - irq(5) + - irq(6) diff --git a/samples/vnf_samples/vnf_descriptors/tg_prox_irq.yaml b/samples/vnf_samples/vnf_descriptors/tg_prox_irq.yaml new file mode 100644 index 000000000..c7b07201a --- /dev/null +++ b/samples/vnf_samples/vnf_descriptors/tg_prox_irq.yaml @@ -0,0 +1,49 @@ +# 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. + +vnfd:vnfd-catalog: + vnfd: + - id: ProxIrqGen # nsb class mapping + name: proxirqgen + short-name: proxirqgen + description: prox stateless traffic verifier + mgmt-interface: + vdu-id: proxgen-baremetal + {% if user is defined %} + user: '{{user}}' # Value filled by vnfdgen + {% endif %} + {% if password is defined %} + password: '{{password}}' # Value filled by vnfdgen + {% endif %} + {% if ip is defined %} + ip: '{{ip}}' # Value filled by vnfdgen + {% endif %} + {% if key_filename is defined %} + key_filename: '{{key_filename}}' # Value filled by vnfdgen + {% endif %} + vdu: + - id: proxgen-baremetal + name: proxgen-baremetal + description: prox stateless traffic verifier + + benchmark: + kpi: + - max_irq + - irq(0) + - irq(1) + - irq(2) + - irq(3) + - irq(4) + - irq(5) + - irq(6) -- cgit 1.2.3-korg