diff options
Diffstat (limited to 'samples/vnf_samples/nsut')
45 files changed, 4427 insertions, 8 deletions
diff --git a/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-10.yaml b/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-10.yaml new file mode 100644 index 000000000..5c7a6141d --- /dev/null +++ b/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-10.yaml @@ -0,0 +1,260 @@ +# Copyright (c) 2016 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: 10-vnf-correlated + name: 10-vnf-correlated + short-name: 10-vnf-correlated + description: 10-vnf-correlated + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '3' + vnfd-id-ref: vnf__1 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '4' + vnfd-id-ref: vnf__2 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '5' + vnfd-id-ref: vnf__3 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '6' + vnfd-id-ref: vnf__4 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '7' + vnfd-id-ref: vnf__5 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '8' + vnfd-id-ref: vnf__6 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '9' + vnfd-id-ref: vnf__7 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '10' + vnfd-id-ref: vnf__8 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '11' + vnfd-id-ref: vnf__9 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + + vld: + - id: uplink_0 + name: "tg__0 to vnf__0 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + 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__1 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__1 + - id: uplink_1 + name: "tg__0 to vnf__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__1 + - id: downlink_1 + name: "vnf__1 to tg__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__1 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__1 + - id: uplink_2 + name: "tg__0 to vnf__2 link 2" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe2 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '4' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__2 + - id: downlink_2 + name: "vnf__2 to tg__1 link 2" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '4' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__2 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe2 + vnfd-id-ref: tg__1 + - id: uplink_3 + name: "tg__0 to vnf__3 link 3" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe3 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '5' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__3 + - id: downlink_3 + name: "vnf__3 to tg__1 link 3" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '5' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__3 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe3 + vnfd-id-ref: tg__1 + - id: uplink_4 + name: "tg__0 to vnf__4 link 4" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe4 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '6' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__4 + - id: downlink_4 + name: "vnf__4 to tg__1 link 4" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '6' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__4 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe4 + vnfd-id-ref: tg__1 + - id: uplink_5 + name: "tg__0 to vnf__5 link 5" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe5 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '7' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__5 + - id: downlink_5 + name: "vnf__5 to tg__1 link 5" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '7' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__5 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe5 + vnfd-id-ref: tg__1 + - id: uplink_6 + name: "tg__0 to vnf__6 link 6" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe6 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '8' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__6 + - id: downlink_6 + name: "vnf__6 to tg__1 link 6" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '8' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__6 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe6 + vnfd-id-ref: tg__1 + - id: uplink_7 + name: "tg__0 to vnf__7 link 7" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe7 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '9' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__7 + - id: downlink_7 + name: "vnf__7 to tg__1 link 7" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '9' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__7 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe7 + vnfd-id-ref: tg__1 + - id: uplink_8 + name: "tg__0 to vnf__8 link 8" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe8 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '10' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__8 + - id: downlink_8 + name: "vnf__8 to tg__1 link 8" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '10' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__8 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe8 + vnfd-id-ref: tg__1 + - id: uplink_9 + name: "tg__0 to vnf__9 link 9" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe9 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '11' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__9 + - id: downlink_9 + name: "vnf__9 to tg__1 link 9" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '11' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__9 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe9 + vnfd-id-ref: tg__1 + diff --git a/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-2.yaml b/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-2.yaml new file mode 100644 index 000000000..a9870dc09 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-2.yaml @@ -0,0 +1,76 @@ +# Copyright (c) 2016 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: 2-vnf-correlated + name: 2-vnf-correlated + short-name: 2-vnf-correlated + description: 2-vnf-correlated + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '3' + vnfd-id-ref: vnf__1 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + + vld: + - id: uplink_0 + name: "tg__0 to vnf__0 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + 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__1 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__1 + - id: uplink_1 + name: "tg__0 to vnf__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__1 + - id: downlink_1 + name: "vnf__1 to tg__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__1 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__1 + diff --git a/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-4.yaml b/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-4.yaml new file mode 100644 index 000000000..89a067a40 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-4.yaml @@ -0,0 +1,122 @@ +# Copyright (c) 2016 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: 4-vnf-correlated + name: 4-vnf-correlated + short-name: 4-vnf-correlated + description: 4-vnf-correlated + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '3' + vnfd-id-ref: vnf__1 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '4' + vnfd-id-ref: vnf__2 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + - member-vnf-index: '5' + vnfd-id-ref: vnf__3 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + + vld: + - id: uplink_0 + name: "tg__0 to vnf__0 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + 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__1 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__1 + - id: uplink_1 + name: "tg__0 to vnf__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__1 + - id: downlink_1 + name: "vnf__1 to tg__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__1 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__1 + - id: uplink_2 + name: "tg__0 to vnf__2 link 2" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe2 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '4' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__2 + - id: downlink_2 + name: "vnf__2 to tg__1 link 2" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '4' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__2 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe2 + vnfd-id-ref: tg__1 + - id: uplink_3 + name: "tg__0 to vnf__3 link 3" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe3 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '5' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__3 + - id: downlink_3 + name: "vnf__3 to tg__1 link 3" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '5' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__3 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe3 + vnfd-id-ref: tg__1 + diff --git a/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-scale-out.yaml b/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-scale-out.yaml new file mode 100644 index 000000000..c06777923 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/acl-tg-topology-3node-scale-out.yaml @@ -0,0 +1,57 @@ +# Copyright (c) 2016 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: {{ num_vnfs }}-vnf-correlated + name: {{ num_vnfs }}-vnf-correlated + short-name: {{ num_vnfs }}-vnf-correlated + description: {{ num_vnfs }}-vnf-correlated + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type +{% for vnf_num in range(num_vnfs|int) %} + - member-vnf-index: '{{ vnf_num + 2 }}' + vnfd-id-ref: vnf__{{ vnf_num }} + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type +{% endfor %} + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__{{ vnf_num }} link {{ vnf_num }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num }} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '{{ vnf_num + 2 }}' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__{{ vnf_num }} + - id: downlink_{{ vnf_num }} + name: "vnf__{{ vnf_num }} to tg__1 link {{ vnf_num }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '{{ vnf_num + 2}}' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__{{ vnf_num }} + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num }} + vnfd-id-ref: tg__1 +{% endfor %} + diff --git a/samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-multi-port.yaml b/samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-multi-port.yaml new file mode 100644 index 000000000..667d23e80 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-correlated-multi-port.yaml @@ -0,0 +1,54 @@ +# Copyright (c) 2016-2017 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: 3-tg_vnf-topology + name: 3-tg_vnf-topology + short-name: 3-tg_vnf-topology + description: 3-tg_vnf-topology + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num * 2 }} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: 2 + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: vnf__0 + - id: downlink_{{ vnf_num }} + name: "vnf__{{ vnf_num }} to tg__1 link {{ (vnf_num * 2) + 1}}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: 2 + vnfd-connection-point-ref: xe{{vnf_num * 2 + 1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num }} + vnfd-id-ref: tg__1 +{% endfor %} diff --git a/samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-multi-port.yaml b/samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-multi-port.yaml new file mode 100644 index 000000000..00bf28231 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/acl-tg-topology-ixia-multi-port.yaml @@ -0,0 +1,51 @@ +# Copyright (c) 2016-2017 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: 2tg-topology + name: 2tg-topology + short-name: 2tg-topology + description: 2tg-topology + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml + - member-vnf-index: '1' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: vnf__0 + - id: downlink_{{ vnf_num }} + name: "vnf__0 to tg__0 link {{ (vnf_num * 2) + 1}}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: tg__0 +{% endfor %} diff --git a/samples/vnf_samples/nsut/acl/acl-tg-topology-multi-port.yaml b/samples/vnf_samples/nsut/acl/acl-tg-topology-multi-port.yaml new file mode 100644 index 000000000..18ae4aee9 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/acl-tg-topology-multi-port.yaml @@ -0,0 +1,51 @@ +# Copyright (c) 2016-2017 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: 2tg-topology + name: 2tg-topology + short-name: 2tg-topology + description: 2tg-topology + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/acl_vnf.yaml #VNF type + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: vnf__0 + - id: downlink_{{ vnf_num }} + name: "vnf__0 to tg__0 link {{ (vnf_num * 2) + 1}}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: tg__0 +{% endfor %} diff --git a/samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_ixia_template.yaml b/samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_ixia_template.yaml new file mode 100644 index 000000000..17b918ce0 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_ixia_template.yaml @@ -0,0 +1,55 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml + topology: acl-tg-topology-ixia-multi-port-{{ num_vnfs }}.yaml + nodes: + tg__0: tg__0.yardstick + vnf__0: vnf__0.yardstick + options: + framesize: + uplink: {{ flow.pkt_size.uplink }} + downlink: {{ flow.pkt_size.downlink }} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2)}}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'} +{% endfor %} + count: {{ flow.count }} + traffic_type: {{ flow.traffic_type }} + rfc2544: + allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }} + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} + ixia_profile: ../../traffic_profiles/ixia_ipv4_profile_{{num_vnfs * 2}}_port.ixncfg + runner: + type: Iteration + iterations: 10 + interval: 35 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml + - name: yardstick + type: Node + file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml diff --git a/samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_template.yaml b/samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_template.yaml new file mode 100644 index 000000000..1333b2721 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/tc_baremetal_acl_rfc2544_template.yaml @@ -0,0 +1,54 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml + topology: acl-tg-topology-scale-out-{{ num_vnfs }}.yaml + nodes: + tg__0: tg__0.yardstick + vnf__0: vnf__0.yardstick + options: + framesize: + uplink: {{ flow.pkt_size.uplink }} + downlink: {{ flow.pkt_size.downlink }} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2)}}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'} +{% endfor %} + count: {{ flow.count }} + traffic_type: {{ flow.traffic_type }} + rfc2544: + allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }} + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} + runner: + type: Iteration + iterations: 10 + interval: 35 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml + - name: yardstick + type: Node + file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml diff --git a/samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_multi_port_template.yaml b/samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_multi_port_template.yaml new file mode 100644 index 000000000..fe7be9aba --- /dev/null +++ b/samples/vnf_samples/nsut/acl/tc_baremetal_acl_udp_ixia_correlated_multi_port_template.yaml @@ -0,0 +1,57 @@ +# Copyright (c) 2016-2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml + topology: acl-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml + nodes: + tg__0: tg__0.yardstick + tg__1: tg__1.yardstick + vnf__0: vnf__0.yardstick + options: + framesize: + uplink: {{ flow.pkt_size.uplink }} + downlink: {{ flow.pkt_size.downlink }} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__1': 'xe{{ vnf_num }}'} +{% endfor %} + count: {{ flow.count }} + traffic_type: {{ flow.traffic_type }} + rfc2544: + allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }} + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} + ixia_profile: ../../traffic_profiles/ixia/ixia_ipv4_profile_{{ num_vnfs }}_port.ixncfg + + runner: + type: Iteration + iterations: 10 + interval: 35 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml + - type: Node + file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml + name: yardstick diff --git a/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_10.yaml b/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_10.yaml new file mode 100644 index 000000000..5b28d5675 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_10.yaml @@ -0,0 +1,370 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-10.yaml + topology: acl-tg-topology-3node-10.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick + vnf__0: vnf_0.yardstick + vnf__1: vnf_1.yardstick + vnf__2: vnf_2.yardstick + vnf__3: vnf_3.yardstick + vnf__4: vnf_4.yardstick + vnf__5: vnf_5.yardstick + vnf__6: vnf_6.yardstick + vnf__7: vnf_7.yardstick + vnf__8: vnf_8.yardstick + vnf__9: vnf_9.yardstick + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: + - {'tg__0': 'xe0'} + - {'tg__0': 'xe1'} + - {'tg__0': 'xe2'} + - {'tg__0': 'xe3'} + - {'tg__0': 'xe4'} + - {'tg__0': 'xe5'} + - {'tg__0': 'xe6'} + - {'tg__0': 'xe7'} + - {'tg__0': 'xe8'} + - {'tg__0': 'xe9'} + dst_ip: + - {'tg__1': 'xe0'} + - {'tg__1': 'xe1'} + - {'tg__1': 'xe2'} + - {'tg__1': 'xe3'} + - {'tg__1': 'xe4'} + - {'tg__1': 'xe5'} + - {'tg__1': 'xe6'} + - {'tg__1': 'xe7'} + - {'tg__1': 'xe8'} + - {'tg__1': 'xe9'} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__1: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__2: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__3: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__4: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__5: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__6: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__7: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__8: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__9: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 10240 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + uplink_1: + - xe1 + uplink_2: + - xe2 + uplink_3: + - xe3 + uplink_4: + - xe4 + uplink_5: + - xe5 + uplink_6: + - xe6 + uplink_7: + - xe7 + uplink_8: + - xe8 + uplink_9: + - xe9 + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + downlink_0: + - xe0 + downlink_1: + - xe1 + downlink_2: + - xe2 + downlink_3: + - xe3 + downlink_4: + - xe4 + downlink_5: + - xe5 + downlink_6: + - xe6 + downlink_7: + - xe7 + downlink_8: + - xe8 + downlink_9: + - xe9 + vnf_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + downlink_0: + - xe1 + vnf_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_1: + - xe0 + downlink_1: + - xe1 + vnf_2: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_2: + - xe0 + downlink_2: + - xe1 + vnf_3: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_3: + - xe0 + downlink_3: + - xe1 + vnf_4: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_4: + - xe0 + downlink_4: + - xe1 + vnf_5: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_5: + - xe0 + downlink_5: + - xe1 + vnf_6: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_6: + - xe0 + downlink_6: + - xe1 + vnf_7: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_7: + - xe0 + downlink_7: + - xe1 + vnf_8: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_8: + - xe0 + downlink_8: + - xe1 + vnf_9: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_9: + - xe0 + downlink_9: + - xe1 + networks: + mgmt: + cidr: '10.0.1.0/24' + uplink_0: + cidr: '10.1.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_0: + cidr: '10.1.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_1: + cidr: '10.2.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_1: + cidr: '10.2.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_2: + cidr: '10.3.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_2: + cidr: '10.3.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_3: + cidr: '10.4.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_3: + cidr: '10.4.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_4: + cidr: '10.5.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_4: + cidr: '10.5.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_5: + cidr: '10.6.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_5: + cidr: '10.6.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_6: + cidr: '10.7.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_6: + cidr: '10.7.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_7: + cidr: '10.8.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_7: + cidr: '10.8.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_8: + cidr: '10.9.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_8: + cidr: '10.9.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_9: + cidr: '10.10.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_9: + cidr: '10.10.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' diff --git a/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_2.yaml b/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_2.yaml new file mode 100644 index 000000000..ef76405fe --- /dev/null +++ b/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_2.yaml @@ -0,0 +1,130 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-2.yaml + topology: acl-tg-topology-3node-2.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick + vnf__0: vnf_0.yardstick + vnf__1: vnf_1.yardstick + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: + - {'tg__0': 'xe0'} + - {'tg__0': 'xe1'} + dst_ip: + - {'tg__1': 'xe0'} + - {'tg__1': 'xe1'} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__1: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 10240 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + uplink_1: + - xe1 + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + downlink_0: + - xe0 + downlink_1: + - xe1 + vnf_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + downlink_0: + - xe1 + vnf_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_1: + - xe0 + downlink_1: + - xe1 + networks: + mgmt: + cidr: '10.0.1.0/24' + uplink_0: + cidr: '10.1.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_0: + cidr: '10.1.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_1: + cidr: '10.2.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_1: + cidr: '10.2.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' diff --git a/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_4.yaml b/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_4.yaml new file mode 100644 index 000000000..edf9611c8 --- /dev/null +++ b/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_4.yaml @@ -0,0 +1,190 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-4.yaml + topology: acl-tg-topology-3node-4.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick + vnf__0: vnf_0.yardstick + vnf__1: vnf_1.yardstick + vnf__2: vnf_2.yardstick + vnf__3: vnf_3.yardstick + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: + - {'tg__0': 'xe0'} + - {'tg__0': 'xe1'} + - {'tg__0': 'xe2'} + - {'tg__0': 'xe3'} + dst_ip: + - {'tg__1': 'xe0'} + - {'tg__1': 'xe1'} + - {'tg__1': 'xe2'} + - {'tg__1': 'xe3'} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__1: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__2: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__3: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 10240 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + uplink_1: + - xe1 + uplink_2: + - xe2 + uplink_3: + - xe3 + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + downlink_0: + - xe0 + downlink_1: + - xe1 + downlink_2: + - xe2 + downlink_3: + - xe3 + vnf_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + downlink_0: + - xe1 + vnf_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_1: + - xe0 + downlink_1: + - xe1 + vnf_2: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_2: + - xe0 + downlink_2: + - xe1 + vnf_3: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_3: + - xe0 + downlink_3: + - xe1 + networks: + mgmt: + cidr: '10.0.1.0/24' + uplink_0: + cidr: '10.1.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_0: + cidr: '10.1.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_1: + cidr: '10.2.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_1: + cidr: '10.2.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_2: + cidr: '10.3.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_2: + cidr: '10.3.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_3: + cidr: '10.4.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_3: + cidr: '10.4.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' diff --git a/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_out.yaml b/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_out.yaml new file mode 100644 index 000000000..4da95a1ca --- /dev/null +++ b/samples/vnf_samples/nsut/acl/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_traffic_scale_out.yaml @@ -0,0 +1,116 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml + topology: acl-tg-topology-3node-{{ num_vnfs }}.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick +{% for vnf_num in range(num_vnfs|int) %} + vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick +{% endfor %} + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__1': 'xe{{ vnf_num }}'} +{% endfor %} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true +{% for vnf_num in range(num_vnfs|int) %} + vnf__{{ vnf_num }}: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} +{% endfor %} + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 10240 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt +{% for vnf_num in range(num_vnfs|int) %} + uplink_{{ vnf_num }}: + - xe{{ vnf_num }} +{% endfor %} + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt +{% for vnf_num in range(num_vnfs|int) %} + downlink_{{ vnf_num }}: + - xe{{ vnf_num }} +{% endfor %} +{% for vnf_num in range(num_vnfs|int) %} + vnf_{{ vnf_num }}: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_{{ vnf_num }}: + - xe0 + downlink_{{ vnf_num }}: + - xe1 +{% endfor %} + networks: + mgmt: + cidr: '10.0.1.0/24' +{% for vnf_num in range(num_vnfs|int) %} + uplink_{{ vnf_num }}: + cidr: '10.{{ vnf_num + 1 }}.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_{{ vnf_num }}: + cidr: '10.{{ vnf_num + 1 }}.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' +{% endfor %} diff --git a/samples/vnf_samples/nsut/acl/tc_ovs_acl_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/acl/tc_ovs_acl_udp_ixia_correlated_scale_out_template.yaml index 8e1c43f88..5f5d0869d 100644 --- a/samples/vnf_samples/nsut/acl/tc_ovs_acl_udp_ixia_correlated_scale_out_template.yaml +++ b/samples/vnf_samples/nsut/acl/tc_ovs_acl_udp_ixia_correlated_scale_out_template.yaml @@ -17,7 +17,7 @@ schema: yardstick:task:0.1 scenarios: - type: NSPerf traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml - topology: acl-tg-topology-scale-out-{{ num_vnfs }}.yaml + topology: acl-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml nodes: tg__0: tg__0.yardstick tg__1: tg__1.yardstick diff --git a/samples/vnf_samples/nsut/acl/tc_sriov_acl_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/acl/tc_sriov_acl_udp_ixia_correlated_scale_out_template.yaml index d06c2ec96..024507bc6 100644 --- a/samples/vnf_samples/nsut/acl/tc_sriov_acl_udp_ixia_correlated_scale_out_template.yaml +++ b/samples/vnf_samples/nsut/acl/tc_sriov_acl_udp_ixia_correlated_scale_out_template.yaml @@ -17,7 +17,7 @@ schema: yardstick:task:0.1 scenarios: - type: NSPerf traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml - topology: acl-tg-topology-ixia-scale-out-{{ num_vnfs }}.yaml + topology: acl-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml nodes: tg__0: tg__0.yardstick tg__1: tg__1.yardstick diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port.yaml new file mode 100644 index 000000000..cf64d96ba --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-correlated-multi-port.yaml @@ -0,0 +1,54 @@ +# Copyright (c) 2016-2017 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: 3-tg_vnf-topology + name: 3-tg_vnf-topology + short-name: 3-tg_vnf-topology + description: 3-tg_vnf-topology + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num * 2 }} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: 2 + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: vnf__0 + - id: downlink_{{ vnf_num }} + name: "vnf__{{ vnf_num }} to tg__1 link {{ (vnf_num * 2) + 1}}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: 2 + vnfd-connection-point-ref: xe{{vnf_num * 2 + 1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num }} + vnfd-id-ref: tg__1 +{% endfor %} diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-multi-port.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-multi-port.yaml new file mode 100644 index 000000000..91d257fd4 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-ixia-multi-port.yaml @@ -0,0 +1,51 @@ +# Copyright (c) 2016-2017 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: 2tg-topology + name: 2tg-topology + short-name: 2tg-topology + description: 2tg-topology + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml + - member-vnf-index: '1' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: vnf__0 + - id: downlink_{{ vnf_num }} + name: "vnf__0 to tg__0 link {{ (vnf_num * 2) + 1}}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: tg__0 +{% endfor %} diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-multi-port.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-multi-port.yaml new file mode 100644 index 000000000..b96cd38d4 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-tg-topology-multi-port.yaml @@ -0,0 +1,51 @@ +# Copyright (c) 2016-2017 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: 2tg-topology + name: 2tg-topology + short-name: 2tg-topology + description: 2tg-topology + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: vnf__0 + - id: downlink_{{ vnf_num }} + name: "vnf__0 to tg__0 link {{ (vnf_num * 2) + 1}}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: tg__0 +{% endfor %} diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-10.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-10.yaml new file mode 100644 index 000000000..3b45d4dad --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-10.yaml @@ -0,0 +1,260 @@ +# Copyright (c) 2016 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: 10-vnf-correlated + name: 10-vnf-correlated + short-name: 10-vnf-correlated + description: 10-vnf-correlated + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '3' + vnfd-id-ref: vnf__1 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '4' + vnfd-id-ref: vnf__2 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '5' + vnfd-id-ref: vnf__3 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '6' + vnfd-id-ref: vnf__4 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '7' + vnfd-id-ref: vnf__5 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '8' + vnfd-id-ref: vnf__6 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '9' + vnfd-id-ref: vnf__7 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '10' + vnfd-id-ref: vnf__8 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '11' + vnfd-id-ref: vnf__9 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + + vld: + - id: uplink_0 + name: "tg__0 to vnf__0 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + 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__1 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__1 + - id: uplink_1 + name: "tg__0 to vnf__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__1 + - id: downlink_1 + name: "vnf__1 to tg__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__1 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__1 + - id: uplink_2 + name: "tg__0 to vnf__2 link 2" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe2 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '4' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__2 + - id: downlink_2 + name: "vnf__2 to tg__1 link 2" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '4' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__2 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe2 + vnfd-id-ref: tg__1 + - id: uplink_3 + name: "tg__0 to vnf__3 link 3" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe3 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '5' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__3 + - id: downlink_3 + name: "vnf__3 to tg__1 link 3" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '5' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__3 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe3 + vnfd-id-ref: tg__1 + - id: uplink_4 + name: "tg__0 to vnf__4 link 4" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe4 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '6' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__4 + - id: downlink_4 + name: "vnf__4 to tg__1 link 4" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '6' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__4 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe4 + vnfd-id-ref: tg__1 + - id: uplink_5 + name: "tg__0 to vnf__5 link 5" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe5 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '7' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__5 + - id: downlink_5 + name: "vnf__5 to tg__1 link 5" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '7' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__5 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe5 + vnfd-id-ref: tg__1 + - id: uplink_6 + name: "tg__0 to vnf__6 link 6" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe6 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '8' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__6 + - id: downlink_6 + name: "vnf__6 to tg__1 link 6" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '8' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__6 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe6 + vnfd-id-ref: tg__1 + - id: uplink_7 + name: "tg__0 to vnf__7 link 7" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe7 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '9' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__7 + - id: downlink_7 + name: "vnf__7 to tg__1 link 7" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '9' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__7 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe7 + vnfd-id-ref: tg__1 + - id: uplink_8 + name: "tg__0 to vnf__8 link 8" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe8 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '10' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__8 + - id: downlink_8 + name: "vnf__8 to tg__1 link 8" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '10' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__8 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe8 + vnfd-id-ref: tg__1 + - id: uplink_9 + name: "tg__0 to vnf__9 link 9" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe9 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '11' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__9 + - id: downlink_9 + name: "vnf__9 to tg__1 link 9" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '11' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__9 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe9 + vnfd-id-ref: tg__1 + diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-2.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-2.yaml new file mode 100644 index 000000000..a289e9830 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-2.yaml @@ -0,0 +1,76 @@ +# Copyright (c) 2016 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: 2-vnf-correlated + name: 2-vnf-correlated + short-name: 2-vnf-correlated + description: 2-vnf-correlated + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '3' + vnfd-id-ref: vnf__1 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + + vld: + - id: uplink_0 + name: "tg__0 to vnf__0 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + 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__1 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__1 + - id: uplink_1 + name: "tg__0 to vnf__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__1 + - id: downlink_1 + name: "vnf__1 to tg__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__1 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__1 + diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-4.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-4.yaml new file mode 100644 index 000000000..bf6431f8d --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-4.yaml @@ -0,0 +1,122 @@ +# Copyright (c) 2016 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: 4-vnf-correlated + name: 4-vnf-correlated + short-name: 4-vnf-correlated + description: 4-vnf-correlated + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '3' + vnfd-id-ref: vnf__1 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '4' + vnfd-id-ref: vnf__2 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + - member-vnf-index: '5' + vnfd-id-ref: vnf__3 + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type + + vld: + - id: uplink_0 + name: "tg__0 to vnf__0 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + 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__1 link 0" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '2' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: tg__1 + - id: uplink_1 + name: "tg__0 to vnf__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__1 + - id: downlink_1 + name: "vnf__1 to tg__1 link 1" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '3' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__1 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: tg__1 + - id: uplink_2 + name: "tg__0 to vnf__2 link 2" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe2 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '4' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__2 + - id: downlink_2 + name: "vnf__2 to tg__1 link 2" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '4' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__2 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe2 + vnfd-id-ref: tg__1 + - id: uplink_3 + name: "tg__0 to vnf__3 link 3" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe3 + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '5' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__3 + - id: downlink_3 + name: "vnf__3 to tg__1 link 3" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '5' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__3 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe3 + vnfd-id-ref: tg__1 + diff --git a/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-scale-out.yaml b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-scale-out.yaml new file mode 100644 index 000000000..6a99e4ea0 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/cgnapt-vnf-topology-3node-scale-out.yaml @@ -0,0 +1,57 @@ +# Copyright (c) 2016 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: {{ num_vnfs }}-vnf-correlated + name: {{ num_vnfs }}-vnf-correlated + short-name: {{ num_vnfs }}-vnf-correlated + description: {{ num_vnfs }}-vnf-correlated + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type +{% for vnf_num in range(num_vnfs|int) %} + - member-vnf-index: '{{ vnf_num + 2 }}' + vnfd-id-ref: vnf__{{ vnf_num }} + VNF model: ../../vnf_descriptors/cgnapt_vnf.yaml #VNF type +{% endfor %} + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__{{ vnf_num }} link {{ vnf_num }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num }} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '{{ vnf_num + 2 }}' + vnfd-connection-point-ref: xe0 + vnfd-id-ref: vnf__{{ vnf_num }} + - id: downlink_{{ vnf_num }} + name: "vnf__{{ vnf_num }} to tg__1 link {{ vnf_num }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '{{ vnf_num + 2}}' + vnfd-connection-point-ref: xe1 + vnfd-id-ref: vnf__{{ vnf_num }} + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num }} + vnfd-id-ref: tg__1 +{% endfor %} + diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_ixia_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_ixia_template.yaml new file mode 100644 index 000000000..3a1c1cb12 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_ixia_template.yaml @@ -0,0 +1,55 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml + topology: cgnapt-tg-topology-ixia-multi-port-{{ num_vnfs }}.yaml + nodes: + tg__0: tg__0.yardstick + vnf__0: vnf__0.yardstick + options: + framesize: + uplink: {{ flow.pkt_size.uplink }} + downlink: {{ flow.pkt_size.downlink }} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2)}}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'} +{% endfor %} + count: {{ flow.count }} + traffic_type: {{ flow.traffic_type }} + rfc2544: + allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }} + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} + ixia_profile: ../../traffic_profiles/ixia_ipv4_profile_{{num_vnfs * 2}}_port.ixncfg + runner: + type: Iteration + iterations: 10 + interval: 35 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml + - name: yardstick + type: Node + file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_template.yaml new file mode 100644 index 000000000..81000a7a5 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_rfc2544_template.yaml @@ -0,0 +1,54 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml + topology: cgnapt-tg-topology-multi-port-{{ num_vnfs }}.yaml + nodes: + tg__0: tg__0.yardstick + vnf__0: vnf__0.yardstick + options: + framesize: + uplink: {{ flow.pkt_size.uplink }} + downlink: {{ flow.pkt_size.downlink }} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2)}}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'} +{% endfor %} + count: {{ flow.count }} + traffic_type: {{ flow.traffic_type }} + rfc2544: + allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }} + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} + runner: + type: Iteration + iterations: 10 + interval: 35 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml + - name: yardstick + type: Node + file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml diff --git a/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_template.yaml new file mode 100644 index 000000000..879911f62 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/tc_baremetal_cgnapt_udp_ixia_correlated_multi_port_template.yaml @@ -0,0 +1,57 @@ +# Copyright (c) 2016-2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml + topology: cgnapt-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml + nodes: + tg__0: tg__0.yardstick + tg__1: tg__1.yardstick + vnf__0: vnf__0.yardstick + options: + framesize: + uplink: {{ flow.pkt_size.uplink }} + downlink: {{ flow.pkt_size.downlink }} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__1': 'xe{{ vnf_num }}'} +{% endfor %} + count: {{ flow.count }} + traffic_type: {{ flow.traffic_type }} + rfc2544: + allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }} + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} + ixia_profile: ../../traffic_profiles/ixia/ixia_ipv4_profile_{{ num_vnfs }}_port.ixncfg + + runner: + type: Iteration + iterations: 10 + interval: 35 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml + - type: Node + file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml + name: yardstick diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_10.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_10.yaml new file mode 100644 index 000000000..ac0a83b34 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_10.yaml @@ -0,0 +1,370 @@ +# Copyright (c) 2016-2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-10.yaml + topology: cgnapt-vnf-topology-3node-10.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick + vnf__0: vnf_0.yardstick + vnf__1: vnf_1.yardstick + vnf__2: vnf_2.yardstick + vnf__3: vnf_3.yardstick + vnf__4: vnf_4.yardstick + vnf__5: vnf_5.yardstick + vnf__6: vnf_6.yardstick + vnf__7: vnf_7.yardstick + vnf__8: vnf_8.yardstick + vnf__9: vnf_9.yardstick + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: + - {'tg__0': 'xe0'} + - {'tg__0': 'xe1'} + - {'tg__0': 'xe2'} + - {'tg__0': 'xe3'} + - {'tg__0': 'xe4'} + - {'tg__0': 'xe5'} + - {'tg__0': 'xe6'} + - {'tg__0': 'xe7'} + - {'tg__0': 'xe8'} + - {'tg__0': 'xe9'} + dst_ip: + - {'tg__1': 'xe0'} + - {'tg__1': 'xe1'} + - {'tg__1': 'xe2'} + - {'tg__1': 'xe3'} + - {'tg__1': 'xe4'} + - {'tg__1': 'xe5'} + - {'tg__1': 'xe6'} + - {'tg__1': 'xe7'} + - {'tg__1': 'xe8'} + - {'tg__1': 'xe9'} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true + vnf__0: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__1: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__2: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__3: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__4: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__5: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__6: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__7: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__8: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__9: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 10240 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + uplink_1: + - xe1 + uplink_2: + - xe2 + uplink_3: + - xe3 + uplink_4: + - xe4 + uplink_5: + - xe5 + uplink_6: + - xe6 + uplink_7: + - xe7 + uplink_8: + - xe8 + uplink_9: + - xe9 + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + downlink_0: + - xe0 + downlink_1: + - xe1 + downlink_2: + - xe2 + downlink_3: + - xe3 + downlink_4: + - xe4 + downlink_5: + - xe5 + downlink_6: + - xe6 + downlink_7: + - xe7 + downlink_8: + - xe8 + downlink_9: + - xe9 + vnf_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + downlink_0: + - xe1 + vnf_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_1: + - xe0 + downlink_1: + - xe1 + vnf_2: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_2: + - xe0 + downlink_2: + - xe1 + vnf_3: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_3: + - xe0 + downlink_3: + - xe1 + vnf_4: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_4: + - xe0 + downlink_4: + - xe1 + vnf_5: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_5: + - xe0 + downlink_5: + - xe1 + vnf_6: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_6: + - xe0 + downlink_6: + - xe1 + vnf_7: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_7: + - xe0 + downlink_7: + - xe1 + vnf_8: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_8: + - xe0 + downlink_8: + - xe1 + vnf_9: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_9: + - xe0 + downlink_9: + - xe1 + networks: + mgmt: + cidr: '10.0.1.0/24' + uplink_0: + cidr: '10.1.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_0: + cidr: '10.1.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_1: + cidr: '10.2.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_1: + cidr: '10.2.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_2: + cidr: '10.3.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_2: + cidr: '10.3.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_3: + cidr: '10.4.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_3: + cidr: '10.4.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_4: + cidr: '10.5.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_4: + cidr: '10.5.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_5: + cidr: '10.6.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_5: + cidr: '10.6.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_6: + cidr: '10.7.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_6: + cidr: '10.7.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_7: + cidr: '10.8.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_7: + cidr: '10.8.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_8: + cidr: '10.9.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_8: + cidr: '10.9.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_9: + cidr: '10.10.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_9: + cidr: '10.10.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_2.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_2.yaml new file mode 100644 index 000000000..894fcceef --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_2.yaml @@ -0,0 +1,130 @@ +# Copyright (c) 2016-2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-2.yaml + topology: cgnapt-vnf-topology-3node-2.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick + vnf__0: vnf_0.yardstick + vnf__1: vnf_1.yardstick + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: + - {'tg__0': 'xe0'} + - {'tg__0': 'xe1'} + dst_ip: + - {'tg__1': 'xe0'} + - {'tg__1': 'xe1'} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true + vnf__0: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__1: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 10240 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + uplink_1: + - xe1 + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + downlink_0: + - xe0 + downlink_1: + - xe1 + vnf_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + downlink_0: + - xe1 + vnf_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_1: + - xe0 + downlink_1: + - xe1 + networks: + mgmt: + cidr: '10.0.1.0/24' + uplink_0: + cidr: '10.1.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_0: + cidr: '10.1.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_1: + cidr: '10.2.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_1: + cidr: '10.2.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_4.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_4.yaml new file mode 100644 index 000000000..ffdec998e --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_4.yaml @@ -0,0 +1,190 @@ +# Copyright (c) 2016-2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-4.yaml + topology: cgnapt-vnf-topology-3node-4.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick + vnf__0: vnf_0.yardstick + vnf__1: vnf_1.yardstick + vnf__2: vnf_2.yardstick + vnf__3: vnf_3.yardstick + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: + - {'tg__0': 'xe0'} + - {'tg__0': 'xe1'} + - {'tg__0': 'xe2'} + - {'tg__0': 'xe3'} + dst_ip: + - {'tg__1': 'xe0'} + - {'tg__1': 'xe1'} + - {'tg__1': 'xe2'} + - {'tg__1': 'xe3'} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true + vnf__0: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__1: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__2: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + vnf__3: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 10240 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + uplink_1: + - xe1 + uplink_2: + - xe2 + uplink_3: + - xe3 + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + downlink_0: + - xe0 + downlink_1: + - xe1 + downlink_2: + - xe2 + downlink_3: + - xe3 + vnf_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + downlink_0: + - xe1 + vnf_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_1: + - xe0 + downlink_1: + - xe1 + vnf_2: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_2: + - xe0 + downlink_2: + - xe1 + vnf_3: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_3: + - xe0 + downlink_3: + - xe1 + networks: + mgmt: + cidr: '10.0.1.0/24' + uplink_0: + cidr: '10.1.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_0: + cidr: '10.1.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_1: + cidr: '10.2.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_1: + cidr: '10.2.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_2: + cidr: '10.3.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_2: + cidr: '10.3.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_3: + cidr: '10.4.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_3: + cidr: '10.4.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' diff --git a/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_out.yaml b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_out.yaml new file mode 100644 index 000000000..5c884f2e0 --- /dev/null +++ b/samples/vnf_samples/nsut/cgnapt/tc_heat_rfc2544_ipv4_1flow_64B_trex_correlated_scale_out.yaml @@ -0,0 +1,116 @@ +# Copyright (c) 2016-2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput_cgnapt-{{ num_vnfs }}.yaml + topology: cgnapt-vnf-topology-3node-{{ num_vnfs }}.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick +{% for vnf_num in range(num_vnfs|int) %} + vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick +{% endfor %} + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__1': 'xe{{ vnf_num }}'} +{% endfor %} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true +{% for vnf_num in range(num_vnfs|int) %} + vnf__{{ vnf_num }}: + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + napt: 'dynamic' +{% endfor %} + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 10240 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt +{% for vnf_num in range(num_vnfs|int) %} + uplink_{{ vnf_num }}: + - xe{{ vnf_num }} +{% endfor %} + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt +{% for vnf_num in range(num_vnfs|int) %} + downlink_{{ vnf_num }}: + - xe{{ vnf_num }} +{% endfor %} +{% for vnf_num in range(num_vnfs|int) %} + vnf_{{ vnf_num }}: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_{{ vnf_num }}: + - xe0 + downlink_{{ vnf_num }}: + - xe1 +{% endfor %} + networks: + mgmt: + cidr: '10.0.1.0/24' +{% for vnf_num in range(num_vnfs|int) %} + uplink_{{ vnf_num }}: + cidr: '10.{{ vnf_num + 1 }}.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_{{ vnf_num }}: + cidr: '10.{{ vnf_num + 1 }}.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' +{% endfor %} diff --git a/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml index 5f575d709..e2002abc0 100644 --- a/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml +++ b/samples/vnf_samples/nsut/cgnapt/tc_ovs_cgnapt_udp_ixia_correlated_scale_out_template.yaml @@ -16,8 +16,8 @@ schema: yardstick:task:0.1 scenarios: - type: NSPerf - traffic_profile: ../../traffic_profiles/ipv4_throughput-cgnapt-ixia-{{ num_vnfs }}.yaml - topology: cgnapt-tg-topology-scale-out-{{ num_vnfs }}.yaml + traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml + topology: cgnapt-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml nodes: tg__0: tg__0.yardstick tg__1: tg__1.yardstick diff --git a/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_correlated_scale_out_template.yaml index 5b6d4a525..7f6e76cc2 100644 --- a/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_correlated_scale_out_template.yaml +++ b/samples/vnf_samples/nsut/cgnapt/tc_sriov_cgnapt_udp_ixia_correlated_scale_out_template.yaml @@ -16,8 +16,8 @@ schema: yardstick:task:0.1 scenarios: - type: NSPerf - traffic_profile: ../../traffic_profiles/ipv4_throughput-cgnapt-ixia-{{ num_vnfs }}.yaml - topology: cgnapt-tg-topology-ixia-scale-out-{{ num_vnfs }}.yaml + traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml + topology: cgnapt-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml nodes: tg__0: tg__0.yardstick tg__1: tg__1.yardstick diff --git a/samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_ixia_template.yaml b/samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_ixia_template.yaml new file mode 100644 index 000000000..f442c71d0 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_ixia_template.yaml @@ -0,0 +1,55 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml + topology: vfw-tg-topology-ixia-multi-port-{{ num_vnfs }}.yaml + nodes: + tg__0: tg__0.yardstick + vnf__0: vnf__0.yardstick + options: + framesize: + uplink: {{ flow.pkt_size.uplink }} + downlink: {{ flow.pkt_size.downlink }} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2)}}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'} +{% endfor %} + count: {{ flow.count }} + traffic_type: {{ flow.traffic_type }} + rfc2544: + allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }} + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} + ixia_profile: ../../traffic_profiles/ixia_ipv4_profile_{{num_vnfs * 2}}_port.ixncfg + runner: + type: Iteration + iterations: 10 + interval: 35 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml + - name: yardstick + type: Node + file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml diff --git a/samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_template.yaml b/samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_template.yaml new file mode 100644 index 000000000..6604e6451 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_rfc2544_template.yaml @@ -0,0 +1,54 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml + topology: vfw-tg-topology-multi-port-{{ num_vnfs }}.yaml + nodes: + tg__0: tg__0.yardstick + vnf__0: vnf__0.yardstick + options: + framesize: + uplink: {{ flow.pkt_size.uplink }} + downlink: {{ flow.pkt_size.downlink }} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2)}}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ (vnf_num * 2) + 1}}'} +{% endfor %} + count: {{ flow.count }} + traffic_type: {{ flow.traffic_type }} + rfc2544: + allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }} + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} + runner: + type: Iteration + iterations: 10 + interval: 35 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/baremetal_trex_{{num_vnfs}}.yaml + - name: yardstick + type: Node + file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml diff --git a/samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_multi_port_template.yaml b/samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_multi_port_template.yaml new file mode 100644 index 000000000..d00fe1dcf --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/tc_baremetal_vfw_udp_ixia_correlated_multi_port_template.yaml @@ -0,0 +1,57 @@ +# Copyright (c) 2016-2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml + topology: vfw-tg-topology-ixia-correlated-multi-port-{{ num_vnfs }}.yaml + nodes: + tg__0: tg__0.yardstick + tg__1: tg__1.yardstick + vnf__0: vnf__0.yardstick + options: + framesize: + uplink: {{ flow.pkt_size.uplink }} + downlink: {{ flow.pkt_size.downlink }} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__1': 'xe{{ vnf_num }}'} +{% endfor %} + count: {{ flow.count }} + traffic_type: {{ flow.traffic_type }} + rfc2544: + allowed_drop_rate: {{ flow.rfc2544.allowed_drop_rate }} + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} + ixia_profile: ../../traffic_profiles/ixia/ixia_ipv4_profile_{{ num_vnfs }}_port.ixncfg + + runner: + type: Iteration + iterations: 10 + interval: 35 +contexts: + - name: yardstick + type: Node + file: /etc/yardstick/nodes/ixia_correlated_{{num_vnfs}}.yaml + - type: Node + file: /etc/yardstick/nodes/pod_bm_vnf_{{num_vnfs}}.yaml + name: yardstick diff --git a/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_10.yaml b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_10.yaml new file mode 100644 index 000000000..cf60ba1f9 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_10.yaml @@ -0,0 +1,371 @@ +# Copyright (c) 2017 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 +scenarios: +- type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-10.yaml + topology: vfw-tg-topology-3node-10.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick + vnf__0: vnf_0.yardstick + vnf__1: vnf_1.yardstick + vnf__2: vnf_2.yardstick + vnf__3: vnf_3.yardstick + vnf__4: vnf_4.yardstick + vnf__5: vnf_5.yardstick + vnf__6: vnf_6.yardstick + vnf__7: vnf_7.yardstick + vnf__8: vnf_8.yardstick + vnf__9: vnf_9.yardstick + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: + - {'tg__0': 'xe0'} + - {'tg__0': 'xe1'} + - {'tg__0': 'xe2'} + - {'tg__0': 'xe3'} + - {'tg__0': 'xe4'} + - {'tg__0': 'xe5'} + - {'tg__0': 'xe6'} + - {'tg__0': 'xe7'} + - {'tg__0': 'xe8'} + - {'tg__0': 'xe9'} + dst_ip: + - {'tg__1': 'xe0'} + - {'tg__1': 'xe1'} + - {'tg__1': 'xe2'} + - {'tg__1': 'xe3'} + - {'tg__1': 'xe4'} + - {'tg__1': 'xe5'} + - {'tg__1': 'xe6'} + - {'tg__1': 'xe7'} + - {'tg__1': 'xe8'} + - {'tg__1': 'xe9'} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__1: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__2: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__3: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__4: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__5: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__6: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__7: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__8: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__9: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + # put node context first, so we don't HEAT deploy if node has errors + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 20480 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + uplink_1: + - xe1 + uplink_2: + - xe2 + uplink_3: + - xe3 + uplink_4: + - xe4 + uplink_5: + - xe5 + uplink_6: + - xe6 + uplink_7: + - xe7 + uplink_8: + - xe8 + uplink_9: + - xe9 + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + downlink_0: + - xe0 + downlink_1: + - xe1 + downlink_2: + - xe2 + downlink_3: + - xe3 + downlink_4: + - xe4 + downlink_5: + - xe5 + downlink_6: + - xe6 + downlink_7: + - xe7 + downlink_8: + - xe8 + downlink_9: + - xe9 + vnf_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + downlink_0: + - xe1 + vnf_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_1: + - xe0 + downlink_1: + - xe1 + vnf_2: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_2: + - xe0 + downlink_2: + - xe1 + vnf_3: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_3: + - xe0 + downlink_3: + - xe1 + vnf_4: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_4: + - xe0 + downlink_4: + - xe1 + vnf_5: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_5: + - xe0 + downlink_5: + - xe1 + vnf_6: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_6: + - xe0 + downlink_6: + - xe1 + vnf_7: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_7: + - xe0 + downlink_7: + - xe1 + vnf_8: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_8: + - xe0 + downlink_8: + - xe1 + vnf_9: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_9: + - xe0 + downlink_9: + - xe1 + networks: + mgmt: + cidr: '10.0.1.0/24' + uplink_0: + cidr: '10.1.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_0: + cidr: '10.1.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_1: + cidr: '10.2.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_1: + cidr: '10.2.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_2: + cidr: '10.3.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_2: + cidr: '10.3.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_3: + cidr: '10.4.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_3: + cidr: '10.4.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_4: + cidr: '10.5.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_4: + cidr: '10.5.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_5: + cidr: '10.6.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_5: + cidr: '10.6.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_6: + cidr: '10.7.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_6: + cidr: '10.7.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_7: + cidr: '10.8.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_7: + cidr: '10.8.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_8: + cidr: '10.9.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_8: + cidr: '10.9.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_9: + cidr: '10.10.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_9: + cidr: '10.10.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' diff --git a/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_2.yaml b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_2.yaml new file mode 100644 index 000000000..bfda0bb7f --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_2.yaml @@ -0,0 +1,131 @@ +# Copyright (c) 2017 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 +scenarios: + - type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-2.yaml + topology: vfw-tg-topology-3node-2.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick + vnf__0: vnf_0.yardstick + vnf__1: vnf_1.yardstick + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: + - {'tg__0': 'xe0'} + - {'tg__0': 'xe1'} + dst_ip: + - {'tg__1': 'xe0'} + - {'tg__1': 'xe1'} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__1: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + # put node context first, so we don't HEAT deploy if node has errors + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 20480 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + uplink_1: + - xe1 + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + downlink_0: + - xe0 + downlink_1: + - xe1 + vnf_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + downlink_0: + - xe1 + vnf_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_1: + - xe0 + downlink_1: + - xe1 + networks: + mgmt: + cidr: '10.0.1.0/24' + uplink_0: + cidr: '10.1.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_0: + cidr: '10.1.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_1: + cidr: '10.2.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_1: + cidr: '10.2.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' diff --git a/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_4.yaml b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_4.yaml new file mode 100644 index 000000000..64633eb77 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_4.yaml @@ -0,0 +1,191 @@ +# Copyright (c) 2017 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 +scenarios: +- type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-4.yaml + topology: vfw-tg-topology-3node-4.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick + vnf__0: vnf_0.yardstick + vnf__1: vnf_1.yardstick + vnf__2: vnf_2.yardstick + vnf__3: vnf_3.yardstick + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: + - {'tg__0': 'xe0'} + - {'tg__0': 'xe1'} + - {'tg__0': 'xe2'} + - {'tg__0': 'xe3'} + dst_ip: + - {'tg__1': 'xe0'} + - {'tg__1': 'xe1'} + - {'tg__1': 'xe2'} + - {'tg__1': 'xe3'} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true + vnf__0: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__1: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__2: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + vnf__3: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + # put node context first, so we don't HEAT deploy if node has errors + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 20480 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + uplink_1: + - xe1 + uplink_2: + - xe2 + uplink_3: + - xe3 + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + downlink_0: + - xe0 + downlink_1: + - xe1 + downlink_2: + - xe2 + downlink_3: + - xe3 + vnf_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_0: + - xe0 + downlink_0: + - xe1 + vnf_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_1: + - xe0 + downlink_1: + - xe1 + vnf_2: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_2: + - xe0 + downlink_2: + - xe1 + vnf_3: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_3: + - xe0 + downlink_3: + - xe1 + networks: + mgmt: + cidr: '10.0.1.0/24' + uplink_0: + cidr: '10.1.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_0: + cidr: '10.1.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_1: + cidr: '10.2.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_1: + cidr: '10.2.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_2: + cidr: '10.3.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_2: + cidr: '10.3.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + uplink_3: + cidr: '10.4.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_3: + cidr: '10.4.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' diff --git a/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_out.yaml b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_out.yaml new file mode 100644 index 000000000..767ecbc1c --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/tc_heat_rfc2544_ipv4_1rule_1flow_64B_trex_correlated_scale_out.yaml @@ -0,0 +1,117 @@ +# Copyright (c) 2017 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 +scenarios: +- type: NSPerf + traffic_profile: ../../traffic_profiles/ipv4_throughput-{{ num_vnfs }}.yaml + topology: vfw-tg-topology-3node-{{ num_vnfs }}.yaml + nodes: + tg__0: tg_0.yardstick + tg__1: tg_1.yardstick +{% for vnf_num in range(num_vnfs|int) %} + vnf__{{ vnf_num }}: vnf_{{ vnf_num }}.yardstick +{% endfor %} + options: + framesize: + uplink: {64B: 100} + downlink: {64B: 100} + flow: + src_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__0': 'xe{{ vnf_num }}'} +{% endfor %} + dst_ip: +{% for vnf_num in range(num_vnfs|int) %} + - {'tg__1': 'xe{{ vnf_num }}'} +{% endfor %} + count: 1 + traffic_type: 4 + rfc2544: + allowed_drop_rate: 0.0001 - 0.0001 + correlated_traffic: true +{% for vnf_num in range(num_vnfs|int) %} + vnf__{{ vnf_num }}: + rules: acl_1rule.yaml + vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1} +{% endfor %} + runner: + type: Iteration + iterations: 10 + interval: 35 +context: + # put node context first, so we don't HEAT deploy if node has errors + name: yardstick + image: yardstick-samplevnfs + flavor: + vcpus: 10 + ram: 20480 + disk: 6 + extra_specs: + hw:cpu_sockets: 1 + hw:cpu_cores: 10 + hw:cpu_threads: 1 + user: ubuntu + placement_groups: + pgrp1: + policy: "availability" + servers: + tg_0: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt +{% for vnf_num in range(num_vnfs|int) %} + uplink_{{ vnf_num }}: + - xe{{ vnf_num }} +{% endfor %} + tg_1: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt +{% for vnf_num in range(num_vnfs|int) %} + downlink_{{ vnf_num }}: + - xe{{ vnf_num }} +{% endfor %} +{% for vnf_num in range(num_vnfs|int) %} + vnf_{{ vnf_num }}: + floating_ip: true + placement: "pgrp1" + network_ports: + mgmt: + - mgmt + uplink_{{ vnf_num }}: + - xe0 + downlink_{{ vnf_num }}: + - xe1 +{% endfor %} + networks: + mgmt: + cidr: '10.0.1.0/24' +{% for vnf_num in range(num_vnfs|int) %} + uplink_{{ vnf_num }}: + cidr: '10.{{ vnf_num + 1 }}.0.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' + downlink_{{ vnf_num }}: + cidr: '10.{{ vnf_num + 1 }}.1.0/24' + gateway_ip: 'null' + port_security_enabled: False + enable_dhcp: 'false' +{% endfor %} diff --git a/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_correlated_scale_out_template.yaml index a82cece07..3606a5585 100644 --- a/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_correlated_scale_out_template.yaml +++ b/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_correlated_scale_out_template.yaml @@ -17,7 +17,7 @@ schema: yardstick:task:0.1 scenarios: - type: NSPerf traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml - topology: vfw-tg-topology-scale-out-{{ num_vnfs }}.yaml + topology: vfw-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml nodes: tg__0: tg__0.yardstick tg__1: tg__1.yardstick diff --git a/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_scale_out_template.yaml b/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_scale_out_template.yaml index 10e8e20cd..c263a7688 100644 --- a/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_scale_out_template.yaml +++ b/samples/vnf_samples/nsut/vfw/tc_ovs_vfw_udp_ixia_scale_out_template.yaml @@ -45,6 +45,7 @@ scenarios: rules: acl_1rule.yaml vnf_config: {lb_config: '{{flow.vnf_config.lb_config}}', lb_count: {{flow.vnf_config.lb_count}} , worker_config: '{{flow.vnf_config.worker_config}}', worker_threads: {{flow.vnf_config.worker_threads}}} {% endfor %} + ixia_profile: ../../traffic_profiles/ixia/ixia_ipv4_profile_{{num_vnfs * 2}}_port.ixncfg runner: type: Iteration iterations: 10 diff --git a/samples/vnf_samples/nsut/vfw/tc_sriov_vfw_udp_ixia_correlated_scale_out_template.yaml b/samples/vnf_samples/nsut/vfw/tc_sriov_vfw_udp_ixia_correlated_scale_out_template.yaml index efa51a459..d7016964a 100644 --- a/samples/vnf_samples/nsut/vfw/tc_sriov_vfw_udp_ixia_correlated_scale_out_template.yaml +++ b/samples/vnf_samples/nsut/vfw/tc_sriov_vfw_udp_ixia_correlated_scale_out_template.yaml @@ -17,7 +17,7 @@ schema: yardstick:task:0.1 scenarios: - type: NSPerf traffic_profile: ../../traffic_profiles/ipv4_throughput-ixia-{{ num_vnfs }}.yaml - topology: vfw-tg-topology-ixia-scale-out-{{ num_vnfs }}.yaml + topology: vfw-tg-topology-ixia-correlated-scale-out-{{ num_vnfs }}.yaml nodes: tg__0: tg__0.yardstick tg__1: tg__1.yardstick diff --git a/samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-multi-port.yaml b/samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-multi-port.yaml new file mode 100644 index 000000000..2d950b305 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-correlated-multi-port.yaml @@ -0,0 +1,54 @@ +# Copyright (c) 2016-2017 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: 3-tg_vnf-topology + name: 3-tg_vnf-topology + short-name: 3-tg_vnf-topology + description: 3-tg_vnf-topology + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml + - member-vnf-index: '1' + vnfd-id-ref: tg__1 + VNF model: ../../vnf_descriptors/udp_replay_vnf.yaml #VNF type + - member-vnf-index: '2' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/vfw_vnf.yaml #VNF type + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num * 2 }} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: 2 + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: vnf__0 + - id: downlink_{{ vnf_num }} + name: "vnf__{{ vnf_num }} to tg__1 link {{ (vnf_num * 2) + 1}}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: 2 + vnfd-connection-point-ref: xe{{vnf_num * 2 + 1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num }} + vnfd-id-ref: tg__1 +{% endfor %} diff --git a/samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-multi-port.yaml b/samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-multi-port.yaml new file mode 100644 index 000000000..6e2d360b9 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/vfw-tg-topology-ixia-multi-port.yaml @@ -0,0 +1,51 @@ +# Copyright (c) 2016-2017 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: 2tg-topology + name: 2tg-topology + short-name: 2tg-topology + description: 2tg-topology + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/ixia_rfc2544_tpl.yaml + - member-vnf-index: '1' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/vfw_vnf.yaml #VNF type + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: vnf__0 + - id: downlink_{{ vnf_num }} + name: "vnf__0 to tg__0 link {{ (vnf_num * 2) + 1}}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: tg__0 +{% endfor %} diff --git a/samples/vnf_samples/nsut/vfw/vfw-tg-topology-multi-port.yaml b/samples/vnf_samples/nsut/vfw/vfw-tg-topology-multi-port.yaml new file mode 100644 index 000000000..b5ad71c92 --- /dev/null +++ b/samples/vnf_samples/nsut/vfw/vfw-tg-topology-multi-port.yaml @@ -0,0 +1,51 @@ +# Copyright (c) 2016-2017 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: 2tg-topology + name: 2tg-topology + short-name: 2tg-topology + description: 2tg-topology + constituent-vnfd: + - member-vnf-index: '0' + vnfd-id-ref: tg__0 + VNF model: ../../vnf_descriptors/tg_rfc2544_tpl.yaml #VNF type + - member-vnf-index: '1' + vnfd-id-ref: vnf__0 + VNF model: ../../vnf_descriptors/vfw_vnf.yaml #VNF type + + vld: +{% for vnf_num in range(num_vnfs|int) %} + - id: uplink_{{ vnf_num }} + name: "tg__0 to vnf__0 link {{ (vnf_num * 2) }}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: tg__0 + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ vnf_num * 2}} + vnfd-id-ref: vnf__0 + - id: downlink_{{ vnf_num }} + name: "vnf__0 to tg__0 link {{ (vnf_num * 2) + 1}}" + type: ELAN + vnfd-connection-point-ref: + - member-vnf-index-ref: '1' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: vnf__0 + - member-vnf-index-ref: '0' + vnfd-connection-point-ref: xe{{ (vnf_num * 2) + 1}} + vnfd-id-ref: tg__0 +{% endfor %} |