# See the License for the specific language governing permissions and
 # limitations under the License.
 {% set page_size = page_size or "1b" %}
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     page_object:
       uplink: ["/{{ page_size }}.html"] #supports /1b /4k /8k /16k /32k /64k /128k....
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     traffic_type: 4
     rfc2544:
       allowed_drop_rate: 0.0001 - 0.0001
 
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     traffic_type: 4
     rfc2544:
       allowed_drop_rate: 0.0001 - 0.0001
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}]
       dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}]
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {128B: 100}
-      downlink: {128B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}]
       dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}]
 
-# Copyright (c) 2016 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the License);
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     tg__1: trafficgen_2.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__1': 'xe0'}]
 
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2017 Intel Corporation
+# Copyright (c) 2017-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      private: {64B: 100}
-      public: {64B: 100}
+      private: {{ framesize }}
+      public: {{ framesize }}
     traffic_type: 4
     rfc2544:
       allowed_drop_rate: 0.0001 - 0.0001
 
-# Copyright (c) 2017 Intel Corporation
+# Copyright (c) 2017-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      private: {64B: 100}
-      public: {64B: 100}
+      private: {{ framesize }}
+      public: {{ framesize }}
     traffic_type: 4
     rfc2544:
       allowed_drop_rate: 0.0001 - 0.0001
 
-# Copyright (c) 2017 Intel Corporation
+# Copyright (c) 2017-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      private: {64B: 100}
-      public: {64B: 100}
+      private: {{ framesize }}
+      public: {{ framesize }}
     traffic_type: 4
     rfc2544:
       allowed_drop_rate: 0.0001 - 0.0001
 
+++ /dev/null
-# Copyright (c) 2017-2018 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
----
-schema: yardstick:task:0.1
-scenarios:
-- type: NSPerf
-  traffic_profile: ../../traffic_profiles/ixia_ipv4_latency.yaml
-  topology: vfw_vnf_topology_ixia.yaml
-  nodes:
-    tg__0: trafficgen_1.yardstick1
-    vnf__0: vnf.yardstick
-  options:
-    framesize:
-      uplink: {1024B: 100}
-      downlink: {1024B: 100}
-    flow:
-      src_ip: [{'tg__0': 'xe0'}]
-      dst_ip: [{'tg__0': 'xe1'}]
-      count: 1
-    traffic_type: 4
-    rfc2544:
-      allowed_drop_rate: 0.0001 - 0.0001
-    vnf__0:
-      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
-contexts:
-  # put node context first, so we don't HEAT deploy if node has errors
-  - name: yardstick1
-    type: Node
-    file: ixia.yml
-  - 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:
-      vnf:
-        floating_ip: true
-        placement: "pgrp1"
-    networks:
-      mgmt:
-        cidr: '10.0.1.0/24'
-      xe0:
-        cidr: '10.0.2.0/24'
-        vld_id: downlink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant1
-        port_security_enabled: False
-      xe1:
-        cidr: '10.0.3.0/24'
-        vld_id: uplink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant2
-        port_security_enabled: False
-
 
+++ /dev/null
-# Copyright (c) 2017-2018 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
----
-schema: yardstick:task:0.1
-scenarios:
-- type: NSPerf
-  traffic_profile: ../../traffic_profiles/ixia_ipv4_latency.yaml
-  topology: vfw_vnf_topology_ixia.yaml
-  nodes:
-    tg__0: trafficgen_1.yardstick1
-    vnf__0: vnf.yardstick
-  options:
-    framesize:
-      uplink: {1280B: 100}
-      downlink: {1280B: 100}
-    flow:
-      src_ip: [{'tg__0': 'xe0'}]
-      dst_ip: [{'tg__0': 'xe1'}]
-      count: 1
-    traffic_type: 4
-    rfc2544:
-      allowed_drop_rate: 0.0001 - 0.0001
-    vnf__0:
-      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
-contexts:
-  # put node context first, so we don't HEAT deploy if node has errors
-  - name: yardstick1
-    type: Node
-    file: ixia.yml
-  - 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:
-      vnf:
-        floating_ip: true
-        placement: "pgrp1"
-    networks:
-      mgmt:
-        cidr: '10.0.1.0/24'
-      xe0:
-        cidr: '10.0.2.0/24'
-        vld_id: downlink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant1
-        port_security_enabled: False
-      xe1:
-        cidr: '10.0.3.0/24'
-        vld_id: uplink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant2
-        port_security_enabled: False
-
 
+++ /dev/null
-# Copyright (c) 2017-2018 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
----
-schema: yardstick:task:0.1
-scenarios:
-- type: NSPerf
-  traffic_profile: ../../traffic_profiles/ixia_ipv4_latency.yaml
-  topology: vfw_vnf_topology_ixia.yaml
-  nodes:
-    tg__0: trafficgen_1.yardstick1
-    vnf__0: vnf.yardstick
-  options:
-    framesize:
-      uplink: {128B: 100}
-      downlink: {128B: 100}
-    flow:
-      src_ip: [{'tg__0': 'xe0'}]
-      dst_ip: [{'tg__0': 'xe1'}]
-      count: 1
-    traffic_type: 4
-    rfc2544:
-      allowed_drop_rate: 0.0001 - 0.0001
-    vnf__0:
-      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
-contexts:
-  # put node context first, so we don't HEAT deploy if node has errors
-  - name: yardstick1
-    type: Node
-    file: ixia.yml
-  - 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:
-      vnf:
-        floating_ip: true
-        placement: "pgrp1"
-    networks:
-      mgmt:
-        cidr: '10.0.1.0/24'
-      xe0:
-        cidr: '10.0.2.0/24'
-        vld_id: downlink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant1
-        port_security_enabled: False
-      xe1:
-        cidr: '10.0.3.0/24'
-        vld_id: uplink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant2
-        port_security_enabled: False
-
 
+++ /dev/null
-# Copyright (c) 2017-2018 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
----
-schema: yardstick:task:0.1
-scenarios:
-- type: NSPerf
-  traffic_profile: ../../traffic_profiles/ixia_ipv4_latency.yaml
-  topology: vfw_vnf_topology_ixia.yaml
-  nodes:
-    tg__0: trafficgen_1.yardstick1
-    vnf__0: vnf.yardstick
-  options:
-    framesize:
-      uplink: {1518B: 100}
-      downlink: {1518B: 100}
-    flow:
-      src_ip: [{'tg__0': 'xe0'}]
-      dst_ip: [{'tg__0': 'xe1'}]
-      count: 1
-    traffic_type: 4
-    rfc2544:
-      allowed_drop_rate: 0.0001 - 0.0001
-    vnf__0:
-      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
-contexts:
-  # put node context first, so we don't HEAT deploy if node has errors
-  - name: yardstick1
-    type: Node
-    file: ixia.yml
-  - 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:
-      vnf:
-        floating_ip: true
-        placement: "pgrp1"
-    networks:
-      mgmt:
-        cidr: '10.0.1.0/24'
-      xe0:
-        cidr: '10.0.2.0/24'
-        vld_id: downlink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant1
-        port_security_enabled: False
-      xe1:
-        cidr: '10.0.3.0/24'
-        vld_id: uplink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant2
-        port_security_enabled: False
 
+++ /dev/null
-# Copyright (c) 2017-2018 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
----
-schema: yardstick:task:0.1
-scenarios:
-- type: NSPerf
-  traffic_profile: ../../traffic_profiles/ixia_ipv4_latency.yaml
-  topology: vfw_vnf_topology_ixia.yaml
-  nodes:
-    tg__0: trafficgen_1.yardstick1
-    vnf__0: vnf.yardstick
-  options:
-    framesize:
-      uplink: {256B: 100}
-      downlink: {256B: 100}
-    flow:
-      src_ip: [{'tg__0': 'xe0'}]
-      dst_ip: [{'tg__0': 'xe1'}]
-      count: 1
-    traffic_type: 4
-    rfc2544:
-      allowed_drop_rate: 0.0001 - 0.0001
-    vnf__0:
-      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
-contexts:
-  # put node context first, so we don't HEAT deploy if node has errors
-  - name: yardstick1
-    type: Node
-    file: ixia.yml
-  - 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:
-      vnf:
-        floating_ip: true
-        placement: "pgrp1"
-    networks:
-      mgmt:
-        cidr: '10.0.1.0/24'
-      xe0:
-        cidr: '10.0.2.0/24'
-        vld_id: downlink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant1
-        port_security_enabled: False
-      xe1:
-        cidr: '10.0.3.0/24'
-        vld_id: uplink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant2
-        port_security_enabled: False
 
+++ /dev/null
-# Copyright (c) 2017-2018 Intel Corporation
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
----
-schema: yardstick:task:0.1
-scenarios:
-- type: NSPerf
-  traffic_profile: ../../traffic_profiles/ixia_ipv4_latency.yaml
-  topology: vfw_vnf_topology_ixia.yaml
-  nodes:
-    tg__0: trafficgen_1.yardstick1
-    vnf__0: vnf.yardstick
-  options:
-    framesize:
-      uplink: {512B: 100}
-      downlink: {512B: 100}
-    flow:
-      src_ip: [{'tg__0': 'xe0'}]
-      dst_ip: [{'tg__0': 'xe1'}]
-      count: 1
-    traffic_type: 4
-    rfc2544:
-      allowed_drop_rate: 0.0001 - 0.0001
-    vnf__0:
-      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
-contexts:
-  # put node context first, so we don't HEAT deploy if node has errors
-  - name: yardstick1
-    type: Node
-    file: ixia.yml
-  - 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:
-      vnf:
-        floating_ip: true
-        placement: "pgrp1"
-    networks:
-      mgmt:
-        cidr: '10.0.1.0/24'
-      xe0:
-        cidr: '10.0.2.0/24'
-        vld_id: downlink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant1
-        port_security_enabled: False
-      xe1:
-        cidr: '10.0.3.0/24'
-        vld_id: uplink_0
-        gateway_ip: 'null'
-        provider: true
-        physical_network: phystenant2
-        port_security_enabled: False
 
-# Copyright (c) 2017-2018 Intel Corporation
+# Copyright (c) 2017-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf_0.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf_0.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}]
       dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}]
 
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 {% set provider = provider or none %}
 {% set physical_networks = physical_networks or ['physnet1', 'physnet2'] %}
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf_0.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}, {'tg__0': 'xe2'}]
       dst_ip: [{'tg__0': 'xe1'}, {'tg__0': 'xe3'}]
 
-# Copyright (c) 2016-2017 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 
     cpt__0: compute_0.compute_nodes
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2017 Intel Corporation
+# Copyright (c) 2017-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
       vnf__9: vnf_9.yardstick
     options:
       framesize:
-        uplink: {64B: 100}
-        downlink: {64B: 100}
+        uplink: {{ framesize }}
+        downlink: {{ framesize }}
       flow:
         src_ip:
           - {'tg__0': 'xe0'}
 
-# Copyright (c) 2017 Intel Corporation
+# Copyright (c) 2017-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
       vnf__1: vnf_1.yardstick
     options:
       framesize:
-        uplink: {64B: 100}
-        downlink: {64B: 100}
+        uplink: {{ framesize }}
+        downlink: {{ framesize }}
       flow:
         src_ip:
           - {'tg__0': 'xe0'}
 
-# Copyright (c) 2017 Intel Corporation
+# Copyright (c) 2017-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
       vnf__3: vnf_3.yardstick
     options:
       framesize:
-        uplink: {64B: 100}
-        downlink: {64B: 100}
+        uplink: {{ framesize }}
+        downlink: {{ framesize }}
       flow:
         src_ip:
           - {'tg__0': 'xe0'}
 
-# Copyright (c) 2017 Intel Corporation
+# Copyright (c) 2017-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
 {% endfor %}
     options:
       framesize:
-        uplink: {64B: 100}
-        downlink: {64B: 100}
+        uplink: {{ framesize }}
+        downlink: {{ framesize }}
       flow:
         src_ip:
 {% for vnf_num in range(num_vnfs|int) %}
 
--- /dev/null
+# Copyright (c) 2016-2019 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.
+{% set framesize = framesize or "{64B: 100}" %}
+---
+{% set provider = provider or none %}
+{% set physical_networks = physical_networks or ['physnet1', 'physnet2'] %}
+{% set segmentation_id = segmentation_id or none %}
+
+schema: yardstick:task:0.1
+scenarios:
+- type: NSPerf
+  traffic_profile: ../../traffic_profiles/ipv4_throughput.yaml
+  topology: vfw-tg-topology.yaml
+  nodes:
+    tg__0: trafficgen_1.yardstick
+    vnf__0: vnf.yardstick
+  options:
+    hugepages_gb: 8
+    framesize:
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
+    flow:
+      src_ip: [{'tg__0': 'xe0'}]
+      dst_ip: [{'tg__0': 'xe1'}]
+      count: 1
+    traffic_type: 4
+    rfc2544:
+      allowed_drop_rate: 0.0001 - 0.0001
+    vnf__0:
+      rules: acl_1rule.yaml
+      vnf_config: {lb_config: 'SW', lb_count: 1, worker_config: '1C/1T', worker_threads: 1}
+  runner:
+    type: IterationIPC
+    iterations: 10
+    timeout: 60
+context:
+  # put node context first, so we don't HEAT deploy if node has errors
+  name: yardstick
+  image: yardstick-samplevnfs
+  flavor:
+    vcpus: 10
+    ram: 12288
+    disk: 6
+    extra_specs:
+      hw:cpu_sockets: 1
+      hw:cpu_cores: 10
+      hw:cpu_threads: 1
+  user: ubuntu
+  placement_groups:
+    pgrp1:
+      policy: "availability"
+  servers:
+    vnf:
+      floating_ip: true
+      placement: "pgrp1"
+    trafficgen_1:
+      floating_ip: true
+      placement: "pgrp1"
+  networks:
+    mgmt:
+      cidr: '10.0.1.0/24'
+    xe0:
+      cidr: '10.0.2.0/24'
+      gateway_ip: 'null'
+      {% if provider %}
+      provider: {{ provider }}
+      physical_network: {{ physical_networks[0] }}
+        {% if segmentation_id %}
+      segmentation_id: {{ segmentation_id }}
+        {% endif %}
+      {% endif %}
+      port_security_enabled: False
+      enable_dhcp: 'false'
+    xe1:
+      cidr: '10.0.3.0/24'
+      gateway_ip: 'null'
+      {% if provider %}
+      provider: {{ provider }}
+      physical_network: {{ physical_networks[1] }}
+        {% if segmentation_id %}
+      segmentation_id: {{ segmentation_id }}
+        {% endif %}
+      {% endif %}
+      port_security_enabled: False
+      enable_dhcp: 'false'
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
+{% set framesize = framesize or "{64B: 100}" %}
 {% set mem = mem or 20480 %}
 {% set vcpus = vcpus or 10 %}
 {% set vports = vports or 2 %}
     vnf__0: vnf_0.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [
 {% for vport in range(0,vports,2|int) %}
 
-# Copyright (c) 2018 Intel Corporation
+# Copyright (c) 2018-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
+{% set framesize = framesize or "{64B: 100}" %}
 {% set num_vnfs = num_vnfs or 1 %}
 {% set availability_zone = availability_zone or {} %}
 ---
 {% endfor %}
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip:
 {% for vnf_num in range(num_vnfs|int) %}
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf__0.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf__0.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]
 
-# Copyright (c) 2016-2018 Intel Corporation
+# Copyright (c) 2016-2019 Intel Corporation
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # 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.
-
+{% set framesize = framesize or "{64B: 100}" %}
 ---
 schema: yardstick:task:0.1
 scenarios:
     vnf__0: vnf__0.yardstick
   options:
     framesize:
-      uplink: {64B: 100}
-      downlink: {64B: 100}
+      uplink: {{ framesize }}
+      downlink: {{ framesize }}
     flow:
       src_ip: [{'tg__0': 'xe0'}]
       dst_ip: [{'tg__0': 'xe1'}]