Merge "Add grafana config for TC071_Network Latency, Throughput, Packet Loss and...
authorliang gao <jean.gaoliang@huawei.com>
Sun, 21 Aug 2016 13:47:23 +0000 (13:47 +0000)
committerGerrit Code Review <gerrit@172.30.200.206>
Sun, 21 Aug 2016 13:47:23 +0000 (13:47 +0000)
144 files changed:
dashboard/Yardstick-TC002-1456495853488
dashboard/Yardstick-TC037-1456496078470
dashboard/Yardstick-TC043-1469065934974 [new file with mode: 0644]
dashboard/Yardstick-TC055-1469778724576 [new file with mode: 0644]
dashboard/Yardstick-TC063-1471219327093 [new file with mode: 0644]
dashboard/Yardstick-TC070-1469621937427 [new file with mode: 0644]
dashboard/Yardstick-TC072-1469780190435 [new file with mode: 0644]
docs/userguide/03-architecture.rst [moved from docs/userguide/architecture.rst with 100% similarity]
docs/userguide/05-apexlake_installation.rst [moved from docs/userguide/apexlake_installation.rst with 100% similarity]
docs/userguide/06-apexlake_api.rst [moved from docs/userguide/apexlake_api.rst with 100% similarity]
docs/userguide/07-installation.rst [moved from docs/userguide/03-installation.rst with 85% similarity]
docs/userguide/08-yardstick_plugin.rst [new file with mode: 0644]
docs/userguide/09-result-store-InfluxDB.rst [new file with mode: 0644]
docs/userguide/10-list-of-tcs.rst [moved from docs/userguide/03-list-of-tcs.rst with 83% similarity]
docs/userguide/images/Grafana_config.png [new file with mode: 0644]
docs/userguide/images/InfluxDB_store.png [new file with mode: 0644]
docs/userguide/images/results_visualization.png [new file with mode: 0644]
docs/userguide/index.rst
docs/userguide/opnfv_yardstick_tc001.rst
docs/userguide/opnfv_yardstick_tc004.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc011.rst
docs/userguide/opnfv_yardstick_tc024.rst
docs/userguide/opnfv_yardstick_tc042.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc043.rst
docs/userguide/opnfv_yardstick_tc050.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc051.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc052.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc053.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc054.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc061.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc063.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc069.rst
docs/userguide/opnfv_yardstick_tc073.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc074.rst [new file with mode: 0644]
docs/userguide/opnfv_yardstick_tc075.rst [new file with mode: 0644]
etc/yardstick/nodes/zte_pod1.yaml [new file with mode: 0644]
plugin/CI/storperf.yaml [new file with mode: 0644]
samples/networkcapacity.yaml [new file with mode: 0644]
samples/storagecapacity.yaml [new file with mode: 0644]
samples/storperf.yaml [new file with mode: 0644]
setup.py
tests/ci/docker/yardstick-ci/Dockerfile
tests/ci/prepare_env.sh
tests/ci/scp_storperf_admin-rc.sh [new file with mode: 0644]
tests/ci/yardstick-verify
tests/opnfv/test_cases/opnfv_yardstick_tc002.yaml
tests/opnfv/test_cases/opnfv_yardstick_tc004.yaml [deleted file]
tests/opnfv/test_cases/opnfv_yardstick_tc019.yaml
tests/opnfv/test_cases/opnfv_yardstick_tc027.yaml
tests/opnfv/test_cases/opnfv_yardstick_tc042.yaml
tests/opnfv/test_cases/opnfv_yardstick_tc045.yaml
tests/opnfv/test_cases/opnfv_yardstick_tc046.yaml
tests/opnfv/test_cases/opnfv_yardstick_tc047.yaml
tests/opnfv/test_cases/opnfv_yardstick_tc048.yaml
tests/opnfv/test_cases/opnfv_yardstick_tc049.yaml
tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc051.yaml [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc063.yaml [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc073.yaml [new file with mode: 0755]
tests/opnfv/test_cases/opnfv_yardstick_tc074.yaml [new file with mode: 0644]
tests/opnfv/test_cases/opnfv_yardstick_tc075.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_ericsson-pod1_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_ericsson-pod2_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_ericsson-virtual1_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_huawei-pod1_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_huawei-pod1_weekly.yaml [deleted file]
tests/opnfv/test_suites/opnfv_huawei-pod2_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_huawei-pod3_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_huawei-pod4_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_huawei-virtual1_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_huawei-virtual2_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_huawei-virtual3_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_huawei-virtual4_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_intel-pod2_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_intel-pod5_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_intel-pod6_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_intel-pod8_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_lf-pod1_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_lf-pod2_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_orange-pod2_daily.yaml [deleted file]
tests/opnfv/test_suites/opnfv_os-nosdn-kvm-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-nosdn-kvm-noha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-nosdn-kvm_ovs-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-nosdn-lxd-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-nosdn-lxd-noha_daily.yaml
tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-nosdn-nofeature-noha_daily.yaml
tests/opnfv/test_suites/opnfv_os-nosdn-ovs-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-nosdn-ovs-noha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-ocl-nofeature-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-ocl-nofeature-noha_daily.yaml
tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-noha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-odl_l2-moon-ha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-odl_l2-nofeature-noha_daily.yaml
tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-odl_l2-sfc-noha_daily.yaml
tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-noha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_os-onos-nofeature-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-onos-nofeature-noha_daily.yaml
tests/opnfv/test_suites/opnfv_os-onos-sfc-ha_daily.yaml
tests/opnfv/test_suites/opnfv_os-onos-sfc-noha_daily.yaml [new file with mode: 0644]
tests/opnfv/test_suites/opnfv_zte-pod1_daily.yaml [deleted file]
tests/unit/benchmark/scenarios/networking/test_networkcapacity.py [new file with mode: 0644]
tests/unit/benchmark/scenarios/networking/test_pktgen_dpdk.py [new file with mode: 0644]
tests/unit/benchmark/scenarios/storage/test_storagecapacity.py [new file with mode: 0644]
tests/unit/benchmark/scenarios/storage/test_storperf.py [new file with mode: 0644]
tests/unit/test_ssh.py
tools/dpdk_install.yml [new file with mode: 0644]
tools/ubuntu-server-cloudimg-dpdk-modify.sh [new file with mode: 0755]
tools/yardstick-img-dpdk-finalize.sh [new file with mode: 0644]
tools/yardstick-img-dpdk-modify [new file with mode: 0644]
yardstick/benchmark/contexts/model.py
yardstick/benchmark/scenarios/availability/attacker_conf.yaml
yardstick/benchmark/scenarios/availability/ha_tools/disk/block_io.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/availability/ha_tools/disk/recovery_disk_io.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/availability/ha_tools/network/close_interface.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/availability/ha_tools/network/open_interface.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/availability/ha_tools/node/release_cpu.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/availability/ha_tools/node/stress_cpu.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/availability/ha_tools/nova/create_flavor.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/availability/ha_tools/nova/delete_flavor.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/availability/ha_tools/nova/show_flavors.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/availability/operation_conf.yaml
yardstick/benchmark/scenarios/availability/result_checker_conf.yaml
yardstick/benchmark/scenarios/availability/serviceha.py
yardstick/benchmark/scenarios/networking/networkcapacity.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/networking/networkcapacity.py [new file with mode: 0644]
yardstick/benchmark/scenarios/networking/pktgen_dpdk.py [new file with mode: 0644]
yardstick/benchmark/scenarios/networking/pktgen_dpdk_latency_benchmark.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/networking/testpmd_fwd.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/storage/storagecapacity.bash [new file with mode: 0644]
yardstick/benchmark/scenarios/storage/storagecapacity.py [new file with mode: 0644]
yardstick/benchmark/scenarios/storage/storperf.py [new file with mode: 0644]
yardstick/cmd/commands/plugin.py
yardstick/cmd/commands/task.py
yardstick/resources/scripts/install/storperf.bash [moved from yardstick/resources/script/install/storperf.bash with 100% similarity]
yardstick/resources/scripts/remove/storperf.bash [moved from yardstick/resources/script/remove/storperf.bash with 100% similarity]
yardstick/ssh.py

index a0be684..ca8ad2f 100644 (file)
               ],
               "hide": false,
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT \"rtt\" FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"task_id\", \"deploy_scenario\"",
+              "query": "SELECT \"rtt.ares\" FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"task_id\", \"deploy_scenario\"",
               "refId": "A",
               "resultFormat": "time_series",
               "select": [
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   }
                 ]
               ],
               "tags": []
-            },
-            {
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "$interval"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "hide": true,
-              "refId": "C",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "value"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "mean"
-                  }
-                ]
-              ],
-              "tags": []
-            },
-            {
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "$interval"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "hide": true,
-              "refId": "D",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "value"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "mean"
-                  }
-                ]
-              ],
-              "tags": []
-            },
-            {
-              "dsType": "influxdb",
-              "groupBy": [
-                {
-                  "params": [
-                    "$interval"
-                  ],
-                  "type": "time"
-                },
-                {
-                  "params": [
-                    "null"
-                  ],
-                  "type": "fill"
-                }
-              ],
-              "hide": true,
-              "refId": "E",
-              "resultFormat": "time_series",
-              "select": [
-                [
-                  {
-                    "params": [
-                      "value"
-                    ],
-                    "type": "field"
-                  },
-                  {
-                    "params": [],
-                    "type": "mean"
-                  }
-                ]
-              ],
-              "tags": []
             }
           ],
           "timeFrom": "14d",
           "repeat": "POD",
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "ericsson-pod2",
-              "value": "ericsson\\-pod2",
-              "selected": true
+              "value": "ericsson\\-pod2"
             }
           },
           "scroll": true,
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "table",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "huawei-pod1",
-              "value": "huawei\\-pod1",
-              "selected": true
+              "value": "huawei\\-pod1"
             }
           },
           "scroll": true,
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "table",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
           "transform": "table",
           "transparent": false,
           "type": "table",
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 2
         },
         {
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "huawei-pod2",
-              "value": "huawei\\-pod2",
-              "selected": true
+              "value": "huawei\\-pod2"
             }
           },
           "scroll": true,
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "table",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
           "transform": "table",
           "transparent": false,
           "type": "table",
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 2
         },
         {
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "intel-pod5",
-              "value": "intel\\-pod5",
-              "selected": true
+              "value": "intel\\-pod5"
             }
           },
           "scroll": true,
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "table",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
           "transform": "table",
           "transparent": false,
           "type": "table",
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 2
         },
         {
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "intel-pod6",
-              "value": "intel\\-pod6",
-              "selected": true
+              "value": "intel\\-pod6"
             }
           },
           "scroll": true,
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "table",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
           "transform": "table",
           "transparent": false,
           "type": "table",
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 2
         },
         {
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "lf-pod2",
-              "value": "lf\\-pod2",
-              "selected": true
+              "value": "lf\\-pod2"
             }
           },
           "scroll": true,
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "table",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
           "transform": "table",
           "transparent": false,
           "type": "table",
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 2
         },
         {
           "error": false,
           "fontSize": "90%",
           "height": "",
-          "id": 18,
+          "id": 19,
           "isNew": true,
           "links": [],
           "minSpan": 2,
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "zte-pod1",
-              "value": "zte\\-pod1",
-              "selected": true
+              "value": "zte\\-pod1"
             }
           },
           "scroll": true,
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "table",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
               ]
             }
           ],
-          "timeFrom": "24h",
+          "timeFrom": "14d",
           "title": "$POD",
           "transform": "table",
           "transparent": false,
           "type": "table",
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 2
         }
       ],
           "repeat": "POD",
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "ericsson-pod2",
-              "value": "ericsson\\-pod2",
-              "selected": true
+              "value": "ericsson\\-pod2"
             }
           },
           "seriesOverrides": [
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "time_series",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "huawei-pod1",
-              "value": "huawei\\-pod1",
-              "selected": true
+              "value": "huawei\\-pod1"
             }
           },
           "seriesOverrides": [
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "time_series",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
             "ms",
             "short"
           ],
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 3
         },
         {
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "huawei-pod2",
-              "value": "huawei\\-pod2",
-              "selected": true
+              "value": "huawei\\-pod2"
             }
           },
           "seriesOverrides": [
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "time_series",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
             "ms",
             "short"
           ],
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 3
         },
         {
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "intel-pod5",
-              "value": "intel\\-pod5",
-              "selected": true
+              "value": "intel\\-pod5"
             }
           },
           "seriesOverrides": [
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "time_series",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
             "ms",
             "short"
           ],
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 3
         },
         {
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "intel-pod6",
-              "value": "intel\\-pod6",
-              "selected": true
+              "value": "intel\\-pod6"
             }
           },
           "seriesOverrides": [
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "time_series",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
             "ms",
             "short"
           ],
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 3
         },
         {
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "lf-pod2",
-              "value": "lf\\-pod2",
-              "selected": true
+              "value": "lf\\-pod2"
             }
           },
           "seriesOverrides": [
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "time_series",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
             "ms",
             "short"
           ],
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 3
         },
         {
             "threshold2Color": "rgba(234, 112, 112, 0.22)"
           },
           "height": "",
-          "id": 19,
+          "id": 20,
           "interval": "",
           "isNew": true,
           "leftYAxisLabel": "<RTT>",
           "repeat": null,
           "scopedVars": {
             "POD": {
+              "selected": true,
               "text": "zte-pod1",
-              "value": "zte\\-pod1",
-              "selected": true
+              "value": "zte\\-pod1"
             }
           },
           "seriesOverrides": [
                 }
               ],
               "measurement": "opnfv_yardstick_tc002",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "query": "SELECT mean(\"rtt.ares\") FROM \"opnfv_yardstick_tc002\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
               "rawQuery": false,
               "refId": "A",
               "resultFormat": "time_series",
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.ares"
                     ],
                     "type": "field"
                   },
             "ms",
             "short"
           ],
-          "repeatIteration": 1467967293010,
+          "repeatIteration": 1469865492903,
           "repeatPanelId": 3
         }
       ],
     }
   ],
   "time": {
-    "from": "now-24h",
+    "from": "now-7d",
     "to": "now"
   },
   "timepicker": {
         "name": "POD",
         "options": [
           {
+            "selected": false,
             "text": "All",
-            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)",
-            "selected": false
+            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)"
           },
           {
+            "selected": false,
             "text": "elxg482ls42",
-            "value": "elxg482ls42",
-            "selected": false
+            "value": "elxg482ls42"
           },
           {
+            "selected": false,
             "text": "ericsson-pod1",
-            "value": "ericsson\\-pod1",
-            "selected": false
+            "value": "ericsson\\-pod1"
           },
           {
+            "selected": true,
             "text": "ericsson-pod2",
-            "value": "ericsson\\-pod2",
-            "selected": true
+            "value": "ericsson\\-pod2"
           },
           {
+            "selected": true,
             "text": "huawei-pod1",
-            "value": "huawei\\-pod1",
-            "selected": true
+            "value": "huawei\\-pod1"
           },
           {
+            "selected": true,
             "text": "huawei-pod2",
-            "value": "huawei\\-pod2",
-            "selected": true
+            "value": "huawei\\-pod2"
           },
           {
+            "selected": false,
             "text": "huawei-us-deploy-bare-1",
-            "value": "huawei\\-us\\-deploy\\-bare\\-1",
-            "selected": false
+            "value": "huawei\\-us\\-deploy\\-bare\\-1"
           },
           {
+            "selected": true,
             "text": "intel-pod5",
-            "value": "intel\\-pod5",
-            "selected": true
+            "value": "intel\\-pod5"
           },
           {
+            "selected": true,
             "text": "intel-pod6",
-            "value": "intel\\-pod6",
-            "selected": true
+            "value": "intel\\-pod6"
           },
           {
+            "selected": false,
             "text": "lf-pod1",
-            "value": "lf\\-pod1",
-            "selected": false
+            "value": "lf\\-pod1"
           },
           {
+            "selected": true,
             "text": "lf-pod2",
-            "value": "lf\\-pod2",
-            "selected": true
+            "value": "lf\\-pod2"
           },
           {
+            "selected": false,
             "text": "opnfv-jump-1",
-            "value": "opnfv\\-jump\\-1",
-            "selected": false
+            "value": "opnfv\\-jump\\-1"
           },
           {
+            "selected": false,
             "text": "opnfv-jump-2",
-            "value": "opnfv\\-jump\\-2",
-            "selected": false
+            "value": "opnfv\\-jump\\-2"
           },
           {
+            "selected": false,
             "text": "orange-fr-pod2",
-            "value": "orange\\-fr\\-pod2",
-            "selected": false
+            "value": "orange\\-fr\\-pod2"
           },
           {
+            "selected": false,
             "text": "unknown",
-            "value": "unknown",
-            "selected": false
+            "value": "unknown"
           },
           {
+            "selected": true,
             "text": "zte-pod1",
-            "value": "zte\\-pod1",
-            "selected": true
+            "value": "zte\\-pod1"
           }
         ],
         "query": "SHOW TAG VALUES WITH KEY = \"pod_name\"",
   },
   "refresh": "15m",
   "schemaVersion": 8,
-  "version": 2,
+  "version": 5,
   "links": []
 }
index 271b76e..7be2be8 100644 (file)
                 }
               ],
               "measurement": "opnfv_yardstick_tc037",
-              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"pod_name\", \"deploy_scenario\"",
+              "query": "SELECT mean(\"rtt.poseidon\") FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"pod_name\", \"deploy_scenario\"",
               "refId": "A",
               "resultFormat": "time_series",
               "select": [
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.poseidon"
                     ],
                     "type": "field"
                   },
                 }
               ],
               "measurement": "opnfv_yardstick_tc037",
-              "query": "SELECT \"rtt\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
+              "query": "SELECT \"rtt.poseidon\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
               "refId": "A",
               "resultFormat": "time_series",
               "select": [
                 [
                   {
                     "params": [
-                      "rtt"
+                      "rtt.poseidon"
                     ],
                     "type": "field"
                   }
               ]
             }
           ],
+          "timeFrom": "14d",
           "title": "RTT mean - ping",
           "transform": "table",
-          "type": "table",
-          "timeFrom": "14d"
+          "type": "table"
         }
       ],
       "showTitle": false,
           },
           "id": 3,
           "isNew": true,
-          "leftYAxisLabel": "System CPU-load",
+          "leftYAxisLabel": "CPU Load - User",
           "legend": {
             "alignAsTable": true,
-            "avg": true,
-            "current": false,
+            "avg": false,
+            "current": true,
+            "hideZero": false,
             "max": true,
             "min": true,
             "rightSide": false,
             "show": true,
             "total": false,
-            "values": true
+            "values": true,
+            "sortDesc": true
           },
           "lines": true,
-          "linewidth": 2,
+          "linewidth": 1,
           "links": [],
-          "nullPointMode": "connected",
+          "nullPointMode": "null",
           "percentage": false,
-          "pointradius": 5,
-          "points": false,
+          "pointradius": 1,
+          "points": true,
           "renderer": "flot",
-          "rightYAxisLabel": "System CPU-load",
+          "rightYAxisLabel": "",
           "seriesOverrides": [],
           "span": 12,
           "stack": false,
                 }
               ],
               "measurement": "opnfv_yardstick_tc037",
-              "query": "SELECT \"mpstat.cpu.%sys\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
+              "query": "SELECT \"mpstat_average.cpu.%usr\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
               "refId": "A",
               "resultFormat": "time_series",
               "select": [
                 [
                   {
+                    "type": "field",
                     "params": [
-                      "mpstat.cpu.%sys"
-                    ],
-                    "type": "field"
+                      "mpstat_average.cpu.%usr"
+                    ]
                   }
                 ]
               ],
           "title": "CPU load - mpstat",
           "tooltip": {
             "shared": true,
-            "value_type": "cumulative"
+            "value_type": "individual"
           },
           "type": "graph",
           "x-axis": true,
           "y_formats": [
             "percent",
             "short"
-          ]
+          ],
+          "decimals": null
         }
       ],
       "title": "Ping table"
         "name": "POD",
         "options": [
           {
+            "selected": false,
             "text": "All",
-            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)",
-            "selected": false
+            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)"
           },
           {
+            "selected": false,
             "text": "elxg482ls42",
-            "value": "elxg482ls42",
-            "selected": false
+            "value": "elxg482ls42"
           },
           {
+            "selected": false,
             "text": "ericsson-pod1",
-            "value": "ericsson\\-pod1",
-            "selected": false
+            "value": "ericsson\\-pod1"
           },
           {
+            "selected": true,
             "text": "ericsson-pod2",
-            "value": "ericsson\\-pod2",
-            "selected": true
+            "value": "ericsson\\-pod2"
           },
           {
+            "selected": true,
             "text": "huawei-pod1",
-            "value": "huawei\\-pod1",
-            "selected": true
+            "value": "huawei\\-pod1"
           },
           {
+            "selected": true,
             "text": "huawei-pod2",
-            "value": "huawei\\-pod2",
-            "selected": true
+            "value": "huawei\\-pod2"
           },
           {
+            "selected": false,
             "text": "huawei-us-deploy-bare-1",
-            "value": "huawei\\-us\\-deploy\\-bare\\-1",
-            "selected": false
+            "value": "huawei\\-us\\-deploy\\-bare\\-1"
           },
           {
+            "selected": false,
             "text": "intel-pod5",
-            "value": "intel\\-pod5",
-            "selected": false
+            "value": "intel\\-pod5"
           },
           {
+            "selected": true,
             "text": "intel-pod6",
-            "value": "intel\\-pod6",
-            "selected": true
+            "value": "intel\\-pod6"
           },
           {
+            "selected": false,
             "text": "lf-pod1",
-            "value": "lf\\-pod1",
-            "selected": false
+            "value": "lf\\-pod1"
           },
           {
+            "selected": true,
             "text": "lf-pod2",
-            "value": "lf\\-pod2",
-            "selected": true
+            "value": "lf\\-pod2"
           },
           {
+            "selected": false,
             "text": "opnfv-jump-1",
-            "value": "opnfv\\-jump\\-1",
-            "selected": false
+            "value": "opnfv\\-jump\\-1"
           },
           {
+            "selected": false,
             "text": "opnfv-jump-2",
-            "value": "opnfv\\-jump\\-2",
-            "selected": false
+            "value": "opnfv\\-jump\\-2"
           },
           {
+            "selected": false,
             "text": "orange-fr-pod2",
-            "value": "orange\\-fr\\-pod2",
-            "selected": false
+            "value": "orange\\-fr\\-pod2"
           },
           {
+            "selected": false,
             "text": "unknown",
-            "value": "unknown",
-            "selected": false
+            "value": "unknown"
           },
           {
+            "selected": true,
             "text": "zte-pod1",
-            "value": "zte\\-pod1",
-            "selected": true
+            "value": "zte\\-pod1"
           }
         ],
         "query": "SHOW TAG VALUES WITH KEY = \"pod_name\" ",
       {
         "allFormat": "regex values",
         "current": {
+          "tags": [],
           "text": "All",
-          "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)",
-          "tags": []
+          "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
         },
         "datasource": "yardstick-vtc",
         "includeAll": true,
         "name": "SCENARIO",
         "options": [
           {
+            "selected": true,
             "text": "All",
-            "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)",
-            "selected": true
+            "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
           },
           {
+            "selected": false,
             "text": "os-no_sdn-ovs-ha",
-            "value": "os\\-no_sdn\\-ovs\\-ha",
-            "selected": false
+            "value": "os\\-no_sdn\\-ovs\\-ha"
           },
           {
+            "selected": false,
             "text": "os-nosdn-kvm-ha",
-            "value": "os\\-nosdn\\-kvm\\-ha",
-            "selected": false
+            "value": "os\\-nosdn\\-kvm\\-ha"
           },
           {
+            "selected": false,
             "text": "os-nosdn-nofeature-ha",
-            "value": "os\\-nosdn\\-nofeature\\-ha",
-            "selected": false
+            "value": "os\\-nosdn\\-nofeature\\-ha"
           },
           {
+            "selected": false,
             "text": "os-nosdn-nofeature-noha",
-            "value": "os\\-nosdn\\-nofeature\\-noha",
-            "selected": false
+            "value": "os\\-nosdn\\-nofeature\\-noha"
           },
           {
+            "selected": false,
             "text": "os-nosdn-ovs-ha",
-            "value": "os\\-nosdn\\-ovs\\-ha",
-            "selected": false
+            "value": "os\\-nosdn\\-ovs\\-ha"
           },
           {
+            "selected": false,
             "text": "os-ocl-nofeature-ha",
-            "value": "os\\-ocl\\-nofeature\\-ha",
-            "selected": false
+            "value": "os\\-ocl\\-nofeature\\-ha"
           },
           {
+            "selected": false,
             "text": "os-odl_l2-bgpvpn-ha",
-            "value": "os\\-odl_l2\\-bgpvpn\\-ha",
-            "selected": false
+            "value": "os\\-odl_l2\\-bgpvpn\\-ha"
           },
           {
+            "selected": false,
             "text": "os-odl_l2-nofeature-ha",
-            "value": "os\\-odl_l2\\-nofeature\\-ha",
-            "selected": false
+            "value": "os\\-odl_l2\\-nofeature\\-ha"
           },
           {
+            "selected": false,
             "text": "os-odl_l2-nofeature-noha",
-            "value": "os\\-odl_l2\\-nofeature\\-noha",
-            "selected": false
+            "value": "os\\-odl_l2\\-nofeature\\-noha"
           },
           {
+            "selected": false,
             "text": "os-odl_l2-sfc-ha",
-            "value": "os\\-odl_l2\\-sfc\\-ha",
-            "selected": false
+            "value": "os\\-odl_l2\\-sfc\\-ha"
           },
           {
+            "selected": false,
             "text": "os-odl_l3-nofeature-ha",
-            "value": "os\\-odl_l3\\-nofeature\\-ha",
-            "selected": false
+            "value": "os\\-odl_l3\\-nofeature\\-ha"
           },
           {
+            "selected": false,
             "text": "os-onos-nofeature-ha",
-            "value": "os\\-onos\\-nofeature\\-ha",
-            "selected": false
+            "value": "os\\-onos\\-nofeature\\-ha"
           },
           {
+            "selected": false,
             "text": "os-onos-sfc-ha",
-            "value": "os\\-onos\\-sfc\\-ha",
-            "selected": false
+            "value": "os\\-onos\\-sfc\\-ha"
           },
           {
+            "selected": false,
             "text": "os-ovs-nofeature-ha",
-            "value": "os\\-ovs\\-nofeature\\-ha",
-            "selected": false
+            "value": "os\\-ovs\\-nofeature\\-ha"
           },
           {
+            "selected": false,
             "text": "unknown",
-            "value": "unknown",
-            "selected": false
+            "value": "unknown"
           }
         ],
         "query": "SHOW TAG VALUES WITH KEY = \"deploy_scenario\" ",
   },
   "refresh": false,
   "schemaVersion": 8,
-  "version": 3,
+  "version": 15,
   "links": []
 }
diff --git a/dashboard/Yardstick-TC043-1469065934974 b/dashboard/Yardstick-TC043-1469065934974
new file mode 100644 (file)
index 0000000..d7a8c66
--- /dev/null
@@ -0,0 +1,2563 @@
+{
+  "id": 28,
+  "title": "Yardstick-TC043",
+  "originalTitle": "Yardstick-TC043",
+  "tags": [
+    "yardstick-tc"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><center>OPNFV_Yardstick_TC043 - Network latency (Ping)</center> </a></h5>\n<center>\n<p>Evaluation of network latency (RTT - round trip time) between two nodes running on one pod.\nFor more information see <a style=\"color:#31A7D3\"; href=\"http://artifacts.opnfv.org/yardstick/colorado/docs/userguide/opnfv_yardstick_tc043.html\">TC043</a></p>\n</center>\n\n\n",
+          "editable": true,
+          "error": false,
+          "id": 6,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "style": {},
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "",
+      "panels": [
+        {
+          "content": "",
+          "editable": true,
+          "error": false,
+          "id": 9,
+          "isNew": true,
+          "links": [],
+          "mode": "markdown",
+          "span": 12,
+          "style": {},
+          "title": "Test Case Execution",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "300px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "decimals": 2,
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "hideTimeOverride": false,
+          "id": 1,
+          "interval": "",
+          "isNew": true,
+          "leftYAxisLabel": "RTT",
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "hideEmpty": false,
+            "hideZero": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "sort": "avg",
+            "sortDesc": false,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "rightYAxisLabel": "",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT \"rtt.node2\" FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"task_id\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc005",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "write_lat"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "hide": true,
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "value"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "hide": true,
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "value"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "$interval"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "hide": true,
+              "refId": "E",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "value"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": []
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "Network Latency - RTT",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "short"
+          ]
+        }
+      ],
+      "showTitle": false,
+      "title": "Row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "",
+      "panels": [
+        {
+          "content": "",
+          "editable": true,
+          "error": false,
+          "id": 10,
+          "isNew": true,
+          "links": [],
+          "mode": "markdown",
+          "span": 12,
+          "style": {},
+          "title": "Daily Averages",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "",
+      "panels": [
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "90%",
+          "height": "",
+          "id": 2,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": 100,
+          "repeat": "POD",
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "ericsson-pod2",
+              "value": "ericsson\\-pod2"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 2,
+            "desc": false
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "deploy_scenario",
+              "thresholds": [],
+              "type": "string",
+              "unit": "short"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "ms"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "table",
+          "transparent": false,
+          "type": "table"
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "90%",
+          "height": "",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": 100,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod1",
+              "value": "huawei\\-pod1"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 2,
+            "desc": false
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "deploy_scenario",
+              "thresholds": [],
+              "type": "string",
+              "unit": "short"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "ms"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "table",
+          "transparent": false,
+          "type": "table",
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 2
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "90%",
+          "height": "",
+          "id": 11,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": 100,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod2",
+              "value": "huawei\\-pod2"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 2,
+            "desc": false
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "deploy_scenario",
+              "thresholds": [],
+              "type": "string",
+              "unit": "short"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "ms"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "table",
+          "transparent": false,
+          "type": "table",
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 2
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "90%",
+          "height": "",
+          "id": 12,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": 100,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "intel-pod5",
+              "value": "intel\\-pod5"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 2,
+            "desc": false
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "deploy_scenario",
+              "thresholds": [],
+              "type": "string",
+              "unit": "short"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "ms"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "table",
+          "transparent": false,
+          "type": "table",
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 2
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "90%",
+          "height": "",
+          "id": 15,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": 100,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "intel-pod6",
+              "value": "intel\\-pod6"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 2,
+            "desc": false
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "deploy_scenario",
+              "thresholds": [],
+              "type": "string",
+              "unit": "short"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "ms"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "table",
+          "transparent": false,
+          "type": "table",
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 2
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "90%",
+          "height": "",
+          "id": 17,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": 100,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "lf-pod2",
+              "value": "lf\\-pod2"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 2,
+            "desc": false
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "deploy_scenario",
+              "thresholds": [],
+              "type": "string",
+              "unit": "short"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "ms"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "table",
+          "transparent": false,
+          "type": "table",
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 2
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "90%",
+          "height": "",
+          "id": 18,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": 100,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "zte-pod1",
+              "value": "zte\\-pod1"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 2,
+            "desc": false
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "deploy_scenario",
+              "thresholds": [],
+              "type": "string",
+              "unit": "short"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "ms"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "table",
+          "transparent": false,
+          "type": "table",
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 2
+        }
+      ],
+      "showTitle": false,
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "",
+          "id": 3,
+          "interval": "",
+          "isNew": true,
+          "leftYAxisLabel": "<RTT>",
+          "legend": {
+            "alignAsTable": false,
+            "avg": false,
+            "current": false,
+            "hideEmpty": false,
+            "hideZero": false,
+            "max": false,
+            "min": false,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": true,
+          "renderer": "flot",
+          "repeat": "POD",
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "ericsson-pod2",
+              "value": "ericsson\\-pod2"
+            }
+          },
+          "seriesOverrides": [
+            {
+              "alias": "os-odl_l2-nofeature-ha",
+              "color": "#7EB26D"
+            },
+            {
+              "alias": "os-nosdn-nofeature-ha",
+              "color": "#E24D42"
+            },
+            {
+              "alias": "os-onos-nofeature-ha",
+              "color": "#6ED0E0"
+            },
+            {
+              "alias": "os-nosdn-ovs-ha",
+              "color": "#EAB839"
+            },
+            {
+              "alias": "os-odl_l3-nofeature-ha",
+              "color": "#E5A8E2"
+            },
+            {
+              "alias": "os-odl_l2-bgpvpn-ha",
+              "color": "#E0752D"
+            },
+            {
+              "alias": "os-odl_l2-sfc-ha",
+              "color": "#508642"
+            }
+          ],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "short"
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "",
+          "id": 8,
+          "interval": "",
+          "isNew": true,
+          "leftYAxisLabel": "<RTT>",
+          "legend": {
+            "alignAsTable": false,
+            "avg": false,
+            "current": false,
+            "hideEmpty": false,
+            "hideZero": false,
+            "max": false,
+            "min": false,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod1",
+              "value": "huawei\\-pod1"
+            }
+          },
+          "seriesOverrides": [
+            {
+              "alias": "os-odl_l2-nofeature-ha",
+              "color": "#7EB26D"
+            },
+            {
+              "alias": "os-nosdn-nofeature-ha",
+              "color": "#E24D42"
+            },
+            {
+              "alias": "os-onos-nofeature-ha",
+              "color": "#6ED0E0"
+            },
+            {
+              "alias": "os-nosdn-ovs-ha",
+              "color": "#EAB839"
+            },
+            {
+              "alias": "os-odl_l3-nofeature-ha",
+              "color": "#E5A8E2"
+            },
+            {
+              "alias": "os-odl_l2-bgpvpn-ha",
+              "color": "#E0752D"
+            },
+            {
+              "alias": "os-odl_l2-sfc-ha",
+              "color": "#508642"
+            }
+          ],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "short"
+          ],
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 3
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "",
+          "id": 13,
+          "interval": "",
+          "isNew": true,
+          "leftYAxisLabel": "<RTT>",
+          "legend": {
+            "alignAsTable": false,
+            "avg": false,
+            "current": false,
+            "hideEmpty": false,
+            "hideZero": false,
+            "max": false,
+            "min": false,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod2",
+              "value": "huawei\\-pod2"
+            }
+          },
+          "seriesOverrides": [
+            {
+              "alias": "os-odl_l2-nofeature-ha",
+              "color": "#7EB26D"
+            },
+            {
+              "alias": "os-nosdn-nofeature-ha",
+              "color": "#E24D42"
+            },
+            {
+              "alias": "os-onos-nofeature-ha",
+              "color": "#6ED0E0"
+            },
+            {
+              "alias": "os-nosdn-ovs-ha",
+              "color": "#EAB839"
+            },
+            {
+              "alias": "os-odl_l3-nofeature-ha",
+              "color": "#E5A8E2"
+            },
+            {
+              "alias": "os-odl_l2-bgpvpn-ha",
+              "color": "#E0752D"
+            },
+            {
+              "alias": "os-odl_l2-sfc-ha",
+              "color": "#508642"
+            }
+          ],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "short"
+          ],
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 3
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "",
+          "id": 14,
+          "interval": "",
+          "isNew": true,
+          "leftYAxisLabel": "<RTT>",
+          "legend": {
+            "alignAsTable": false,
+            "avg": false,
+            "current": false,
+            "hideEmpty": false,
+            "hideZero": false,
+            "max": false,
+            "min": false,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "intel-pod5",
+              "value": "intel\\-pod5"
+            }
+          },
+          "seriesOverrides": [
+            {
+              "alias": "os-odl_l2-nofeature-ha",
+              "color": "#7EB26D"
+            },
+            {
+              "alias": "os-nosdn-nofeature-ha",
+              "color": "#E24D42"
+            },
+            {
+              "alias": "os-onos-nofeature-ha",
+              "color": "#6ED0E0"
+            },
+            {
+              "alias": "os-nosdn-ovs-ha",
+              "color": "#EAB839"
+            },
+            {
+              "alias": "os-odl_l3-nofeature-ha",
+              "color": "#E5A8E2"
+            },
+            {
+              "alias": "os-odl_l2-bgpvpn-ha",
+              "color": "#E0752D"
+            },
+            {
+              "alias": "os-odl_l2-sfc-ha",
+              "color": "#508642"
+            }
+          ],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "short"
+          ],
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 3
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "",
+          "id": 16,
+          "interval": "",
+          "isNew": true,
+          "leftYAxisLabel": "<RTT>",
+          "legend": {
+            "alignAsTable": false,
+            "avg": false,
+            "current": false,
+            "hideEmpty": false,
+            "hideZero": false,
+            "max": false,
+            "min": false,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "intel-pod6",
+              "value": "intel\\-pod6"
+            }
+          },
+          "seriesOverrides": [
+            {
+              "alias": "os-odl_l2-nofeature-ha",
+              "color": "#7EB26D"
+            },
+            {
+              "alias": "os-nosdn-nofeature-ha",
+              "color": "#E24D42"
+            },
+            {
+              "alias": "os-onos-nofeature-ha",
+              "color": "#6ED0E0"
+            },
+            {
+              "alias": "os-nosdn-ovs-ha",
+              "color": "#EAB839"
+            },
+            {
+              "alias": "os-odl_l3-nofeature-ha",
+              "color": "#E5A8E2"
+            },
+            {
+              "alias": "os-odl_l2-bgpvpn-ha",
+              "color": "#E0752D"
+            },
+            {
+              "alias": "os-odl_l2-sfc-ha",
+              "color": "#508642"
+            }
+          ],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "short"
+          ],
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 3
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "",
+          "id": 18,
+          "interval": "",
+          "isNew": true,
+          "leftYAxisLabel": "<RTT>",
+          "legend": {
+            "alignAsTable": false,
+            "avg": false,
+            "current": false,
+            "hideEmpty": false,
+            "hideZero": false,
+            "max": false,
+            "min": false,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "lf-pod2",
+              "value": "lf\\-pod2"
+            }
+          },
+          "seriesOverrides": [
+            {
+              "alias": "os-odl_l2-nofeature-ha",
+              "color": "#7EB26D"
+            },
+            {
+              "alias": "os-nosdn-nofeature-ha",
+              "color": "#E24D42"
+            },
+            {
+              "alias": "os-onos-nofeature-ha",
+              "color": "#6ED0E0"
+            },
+            {
+              "alias": "os-nosdn-ovs-ha",
+              "color": "#EAB839"
+            },
+            {
+              "alias": "os-odl_l3-nofeature-ha",
+              "color": "#E5A8E2"
+            },
+            {
+              "alias": "os-odl_l2-bgpvpn-ha",
+              "color": "#E0752D"
+            },
+            {
+              "alias": "os-odl_l2-sfc-ha",
+              "color": "#508642"
+            }
+          ],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "short"
+          ],
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 3
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "height": "",
+          "id": 19,
+          "interval": "",
+          "isNew": true,
+          "leftYAxisLabel": "<RTT>",
+          "legend": {
+            "alignAsTable": false,
+            "avg": false,
+            "current": false,
+            "hideEmpty": false,
+            "hideZero": false,
+            "max": false,
+            "min": false,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 1,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "zte-pod1",
+              "value": "zte\\-pod1"
+            }
+          },
+          "seriesOverrides": [
+            {
+              "alias": "os-odl_l2-nofeature-ha",
+              "color": "#7EB26D"
+            },
+            {
+              "alias": "os-nosdn-nofeature-ha",
+              "color": "#E24D42"
+            },
+            {
+              "alias": "os-onos-nofeature-ha",
+              "color": "#6ED0E0"
+            },
+            {
+              "alias": "os-nosdn-ovs-ha",
+              "color": "#EAB839"
+            },
+            {
+              "alias": "os-odl_l3-nofeature-ha",
+              "color": "#E5A8E2"
+            },
+            {
+              "alias": "os-odl_l2-bgpvpn-ha",
+              "color": "#E0752D"
+            },
+            {
+              "alias": "os-odl_l2-sfc-ha",
+              "color": "#508642"
+            }
+          ],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "null"
+                  ],
+                  "type": "fill"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc043",
+              "query": "SELECT mean(\"rtt.node2\") FROM \"opnfv_yardstick_tc043\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"deploy_scenario\", \"pod_name\" fill(null)",
+              "rawQuery": false,
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.node2"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "individual"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "short"
+          ],
+          "repeatIteration": 1469602196950,
+          "repeatPanelId": 3
+        }
+      ],
+      "showTitle": false,
+      "title": ""
+    }
+  ],
+  "time": {
+    "from": "now-24h",
+    "to": "now"
+  },
+  "timepicker": {
+    "now": true,
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": [
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "ericsson-pod2 + huawei-pod1 + huawei-pod2 + intel-pod5 + intel-pod6 + lf-pod2 + zte-pod1",
+          "value": [
+            "ericsson\\-pod2",
+            "huawei\\-pod1",
+            "huawei\\-pod2",
+            "intel\\-pod5",
+            "intel\\-pod6",
+            "lf\\-pod2",
+            "zte\\-pod1"
+          ]
+        },
+        "datasource": "yardstick-vtc",
+        "hideLabel": false,
+        "includeAll": true,
+        "label": "",
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "POD",
+        "options": [
+          {
+            "selected": false,
+            "text": "All",
+            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)"
+          },
+          {
+            "selected": false,
+            "text": "elxg482ls42",
+            "value": "elxg482ls42"
+          },
+          {
+            "selected": false,
+            "text": "ericsson-pod1",
+            "value": "ericsson\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "ericsson-pod2",
+            "value": "ericsson\\-pod2"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod1",
+            "value": "huawei\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod2",
+            "value": "huawei\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "huawei-us-deploy-bare-1",
+            "value": "huawei\\-us\\-deploy\\-bare\\-1"
+          },
+          {
+            "selected": true,
+            "text": "intel-pod5",
+            "value": "intel\\-pod5"
+          },
+          {
+            "selected": true,
+            "text": "intel-pod6",
+            "value": "intel\\-pod6"
+          },
+          {
+            "selected": false,
+            "text": "lf-pod1",
+            "value": "lf\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "lf-pod2",
+            "value": "lf\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-1",
+            "value": "opnfv\\-jump\\-1"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-2",
+            "value": "opnfv\\-jump\\-2"
+          },
+          {
+            "selected": false,
+            "text": "orange-fr-pod2",
+            "value": "orange\\-fr\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "unknown",
+            "value": "unknown"
+          },
+          {
+            "selected": true,
+            "text": "zte-pod1",
+            "value": "zte\\-pod1"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"pod_name\"",
+        "refresh": false,
+        "regex": "",
+        "type": "query",
+        "useTags": false
+      },
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "All",
+          "value": "(os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-ovs\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha)"
+        },
+        "datasource": "yardstick-vtc",
+        "hideLabel": false,
+        "includeAll": true,
+        "label": "",
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "SCENARIO",
+        "options": [
+          {
+            "selected": true,
+            "text": "All",
+            "value": "(os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-ovs\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha)"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-nofeature-ha",
+            "value": "os\\-nosdn\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-ovs-ha",
+            "value": "os\\-nosdn\\-ovs\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-bgpvpn-ha",
+            "value": "os\\-odl_l2\\-bgpvpn\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-ha",
+            "value": "os\\-odl_l2\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-noha",
+            "value": "os\\-odl_l2\\-nofeature\\-noha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-sfc-ha",
+            "value": "os\\-odl_l2\\-sfc\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l3-nofeature-ha",
+            "value": "os\\-odl_l3\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-onos-nofeature-ha",
+            "value": "os\\-onos\\-nofeature\\-ha"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"deploy_scenario\"",
+        "refresh": false,
+        "regex": "",
+        "type": "query",
+        "useTags": false
+      }
+    ]
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": "15m",
+  "schemaVersion": 8,
+  "version": 2,
+  "links": []
+}
\ No newline at end of file
diff --git a/dashboard/Yardstick-TC055-1469778724576 b/dashboard/Yardstick-TC055-1469778724576
new file mode 100644 (file)
index 0000000..70f4520
--- /dev/null
@@ -0,0 +1,2867 @@
+{
+  "id": 30,
+  "title": "Yardstick-TC055",
+  "originalTitle": "Yardstick-TC055",
+  "tags": [
+    "yardstick-tc"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "100px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><center>OPNFV_Yardstick_TC055 - Number of cores and threads, available memory size and cache size</center> </a></h5>\n<center>\n<p>Visualisation of Number of cores and threads, available memory size and cache size fetched from /proc/cpuinfo.\nFor more information see <a style=\"color:#31A7D3\"; href=\"http://artifacts.opnfv.org/yardstick/brahmaputra/docs/userguide/opnfv_yardstick_tc055.html\">TC055</a></p>\n</center>",
+          "editable": true,
+          "error": false,
+          "id": 2,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "style": {},
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 3,
+          "isNew": true,
+          "leftYAxisLabel": "Number / Size",
+          "legend": {
+            "alignAsTable": true,
+            "avg": false,
+            "current": true,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - CPU_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - Core_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario -  Thread_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario -  Memory_size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Memory_size\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "D",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Memory_size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario -  Cache_size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cache_size\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "E",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cache_size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "Number of cores and threads, available memory size and cache size",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "short",
+            "kbytes"
+          ],
+          "rightYAxisLabel": "Memory/Cache Size"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "content": "",
+          "editable": true,
+          "error": false,
+          "height": "0",
+          "id": 4,
+          "isNew": true,
+          "links": [],
+          "mode": "markdown",
+          "span": 12,
+          "style": {},
+          "title": "Daily Averages",
+          "type": "text"
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 5,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": "POD",
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "ericsson-pod2",
+              "value": "ericsson\\-pod2"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table"
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 6,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod1",
+              "value": "huawei\\-pod1"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 5
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod2",
+              "value": "huawei\\-pod2"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 5
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "intel-pod6",
+              "value": "intel\\-pod6"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 5
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 15,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "lf-pod2",
+              "value": "lf\\-pod2"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 5
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 22,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "zte-pod1",
+              "value": "zte\\-pod1"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 5
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 17,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": "POD",
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "ericsson-pod2",
+              "value": "ericsson\\-pod2"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - CPU_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Core_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Thread_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "short",
+            "short"
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 18,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false,
+            "alignAsTable": false,
+            "rightSide": false,
+            "hideZero": false,
+            "hideEmpty": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod1",
+              "value": "huawei\\-pod1"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - CPU_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Core_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Thread_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "short",
+            "short"
+          ],
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 17
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 19,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod2",
+              "value": "huawei\\-pod2"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - CPU_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Core_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ],
+              "hide": false
+            },
+            {
+              "alias": "$tag_deploy_scenario - Thread_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "short",
+            "short"
+          ],
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 17
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 20,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "intel-pod6",
+              "value": "intel\\-pod6"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - CPU_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Core_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Thread_snumber",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "short",
+            "short"
+          ],
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 17
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 21,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "lf-pod2",
+              "value": "lf\\-pod2"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - CPU_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Core_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Thread_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "short",
+            "short"
+          ],
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 17
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 32,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "zte-pod1",
+              "value": "zte\\-pod1"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - CPU_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Cpu_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Cpu_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Core_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Core_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Core_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Thread_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "short",
+            "short"
+          ],
+          "repeatIteration": 1469777558621,
+          "repeatPanelId": 17
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "now-7d",
+    "to": "now"
+  },
+  "timepicker": {
+    "now": true,
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": [
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "ericsson-pod2 + huawei-pod1 + huawei-pod2 + intel-pod6 + lf-pod2 + zte-pod1",
+          "value": [
+            "ericsson\\-pod2",
+            "huawei\\-pod1",
+            "huawei\\-pod2",
+            "intel\\-pod6",
+            "lf\\-pod2",
+            "zte\\-pod1"
+          ]
+        },
+        "datasource": "yardstick-vtc",
+        "includeAll": true,
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "POD",
+        "options": [
+          {
+            "selected": false,
+            "text": "All",
+            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)"
+          },
+          {
+            "selected": false,
+            "text": "elxg482ls42",
+            "value": "elxg482ls42"
+          },
+          {
+            "selected": false,
+            "text": "ericsson-pod1",
+            "value": "ericsson\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "ericsson-pod2",
+            "value": "ericsson\\-pod2"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod1",
+            "value": "huawei\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod2",
+            "value": "huawei\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "huawei-us-deploy-bare-1",
+            "value": "huawei\\-us\\-deploy\\-bare\\-1"
+          },
+          {
+            "selected": false,
+            "text": "intel-pod5",
+            "value": "intel\\-pod5"
+          },
+          {
+            "selected": true,
+            "text": "intel-pod6",
+            "value": "intel\\-pod6"
+          },
+          {
+            "selected": false,
+            "text": "lf-pod1",
+            "value": "lf\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "lf-pod2",
+            "value": "lf\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-1",
+            "value": "opnfv\\-jump\\-1"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-2",
+            "value": "opnfv\\-jump\\-2"
+          },
+          {
+            "selected": false,
+            "text": "orange-fr-pod2",
+            "value": "orange\\-fr\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "unknown",
+            "value": "unknown"
+          },
+          {
+            "selected": true,
+            "text": "zte-pod1",
+            "value": "zte\\-pod1"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"pod_name\" ",
+        "refresh": false,
+        "type": "query"
+      },
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "All",
+          "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
+        },
+        "datasource": "yardstick-vtc",
+        "includeAll": true,
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "SCENARIO",
+        "options": [
+          {
+            "selected": true,
+            "text": "All",
+            "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
+          },
+          {
+            "selected": false,
+            "text": "os-no_sdn-ovs-ha",
+            "value": "os\\-no_sdn\\-ovs\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-kvm-ha",
+            "value": "os\\-nosdn\\-kvm\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-nofeature-ha",
+            "value": "os\\-nosdn\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-nofeature-noha",
+            "value": "os\\-nosdn\\-nofeature\\-noha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-ovs-ha",
+            "value": "os\\-nosdn\\-ovs\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-ocl-nofeature-ha",
+            "value": "os\\-ocl\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-bgpvpn-ha",
+            "value": "os\\-odl_l2\\-bgpvpn\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-ha",
+            "value": "os\\-odl_l2\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-noha",
+            "value": "os\\-odl_l2\\-nofeature\\-noha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-sfc-ha",
+            "value": "os\\-odl_l2\\-sfc\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l3-nofeature-ha",
+            "value": "os\\-odl_l3\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-onos-nofeature-ha",
+            "value": "os\\-onos\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-onos-sfc-ha",
+            "value": "os\\-onos\\-sfc\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-ovs-nofeature-ha",
+            "value": "os\\-ovs\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "unknown",
+            "value": "unknown"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"deploy_scenario\" ",
+        "refresh": false,
+        "type": "query"
+      }
+    ]
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": "30m",
+  "schemaVersion": 8,
+  "version": 12,
+  "links": []
+}
diff --git a/dashboard/Yardstick-TC063-1471219327093 b/dashboard/Yardstick-TC063-1471219327093
new file mode 100644 (file)
index 0000000..aec2840
--- /dev/null
@@ -0,0 +1,2776 @@
+{
+  "id": 36,
+  "title": "Yardstick-TC063",
+  "originalTitle": "Yardstick-TC063",
+  "tags": [
+    "yardstick-tc"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "100px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><center>OPNFV_Yardstick_TC063 - Disk size, block size and disk utilization</center> </a></h5>\n<center>\n<p>Visualisation of disk size, block size and disk utilization using fdisk and iostat.\nFor more information see <a style=\"color:#31A7D3\"; href=\"http://artifacts.opnfv.org/yardstick/brahmaputra/docs/userguide/opnfv_yardstick_tc063.html\">TC063</a></p>\n</center>",
+          "editable": true,
+          "error": false,
+          "id": 2,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "style": {},
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 3,
+          "isNew": true,
+          "leftYAxisLabel": "Total disk size",
+          "legend": {
+            "alignAsTable": true,
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "rightYAxisLabel": "Number of devices",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - Total disk size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - Number of devices",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario -  Thread_number",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc055",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc055\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Thread_number"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "Disk size, block size and disk utilization",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "bytes",
+            "short"
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "content": "",
+          "editable": true,
+          "error": false,
+          "height": "0",
+          "id": 4,
+          "isNew": true,
+          "links": [],
+          "mode": "markdown",
+          "span": 12,
+          "style": {},
+          "title": "Daily Averages",
+          "type": "text"
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 5,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": "POD",
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "ericsson-pod2",
+              "value": "ericsson\\-pod2"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table"
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 6,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod1",
+              "value": "huawei\\-pod1"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 5
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 7,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod2",
+              "value": "huawei\\-pod2"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 5
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 8,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "intel-pod6",
+              "value": "intel\\-pod6"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 5
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 15,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "lf-pod2",
+              "value": "lf\\-pod2"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 5
+        },
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 22,
+          "isNew": true,
+          "links": [],
+          "minSpan": 2,
+          "pageSize": null,
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "zte-pod1",
+              "value": "zte\\-pod1"
+            }
+          },
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 2,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Thread_number\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "$POD",
+          "transform": "timeseries_to_rows",
+          "type": "table",
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 5
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 17,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": "POD",
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "ericsson-pod2",
+              "value": "ericsson\\-pod2"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - Total disk size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Number of devices",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Average disk utilization",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "bytes",
+            "short"
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 18,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod1",
+              "value": "huawei\\-pod1"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - Total disk size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Number of devices",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Average disk utilization",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "bytes",
+            "short"
+          ],
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 17
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 19,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "huawei-pod2",
+              "value": "huawei\\-pod2"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - Total disk size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Number of devices",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Average disk utilization",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "bytes",
+            "short"
+          ],
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 17
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 20,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "intel-pod6",
+              "value": "intel\\-pod6"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - Total disk size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Number of devices",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Average disk utilization",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "bytes",
+            "short"
+          ],
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 17
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 21,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "lf-pod2",
+              "value": "lf\\-pod2"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - Total disk size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Number of devices",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Average disk utilization",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "bytes",
+            "short"
+          ],
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 17
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 32,
+          "isNew": true,
+          "legend": {
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": false,
+          "linewidth": 2,
+          "links": [],
+          "minSpan": 2,
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "repeat": null,
+          "scopedVars": {
+            "POD": {
+              "selected": true,
+              "text": "zte-pod1",
+              "value": "zte\\-pod1"
+            }
+          },
+          "seriesOverrides": [],
+          "span": 2,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_deploy_scenario - Total disk size",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Total disk size in bytes\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Total disk size in bytes"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Number of devices",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_deploy_scenario - Average disk utilization",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "installer"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc063",
+              "query": "SELECT \"Number of devices\" FROM \"opnfv_yardstick_tc063\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"installer\"",
+              "refId": "C",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "Number of devices"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "$POD",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "bytes",
+            "short"
+          ],
+          "repeatIteration": 1471219276804,
+          "repeatPanelId": 17
+        }
+      ],
+      "title": "New row"
+    }
+  ],
+  "time": {
+    "from": "now-7d",
+    "to": "now"
+  },
+  "timepicker": {
+    "now": true,
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": [
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "ericsson-pod2 + huawei-pod1 + huawei-pod2 + intel-pod6 + lf-pod2 + zte-pod1",
+          "value": [
+            "ericsson\\-pod2",
+            "huawei\\-pod1",
+            "huawei\\-pod2",
+            "intel\\-pod6",
+            "lf\\-pod2",
+            "zte\\-pod1"
+          ]
+        },
+        "datasource": "yardstick-vtc",
+        "includeAll": true,
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "POD",
+        "options": [
+          {
+            "selected": false,
+            "text": "All",
+            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)"
+          },
+          {
+            "selected": false,
+            "text": "elxg482ls42",
+            "value": "elxg482ls42"
+          },
+          {
+            "selected": false,
+            "text": "ericsson-pod1",
+            "value": "ericsson\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "ericsson-pod2",
+            "value": "ericsson\\-pod2"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod1",
+            "value": "huawei\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod2",
+            "value": "huawei\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "huawei-us-deploy-bare-1",
+            "value": "huawei\\-us\\-deploy\\-bare\\-1"
+          },
+          {
+            "selected": false,
+            "text": "intel-pod5",
+            "value": "intel\\-pod5"
+          },
+          {
+            "selected": true,
+            "text": "intel-pod6",
+            "value": "intel\\-pod6"
+          },
+          {
+            "selected": false,
+            "text": "lf-pod1",
+            "value": "lf\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "lf-pod2",
+            "value": "lf\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-1",
+            "value": "opnfv\\-jump\\-1"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-2",
+            "value": "opnfv\\-jump\\-2"
+          },
+          {
+            "selected": false,
+            "text": "orange-fr-pod2",
+            "value": "orange\\-fr\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "unknown",
+            "value": "unknown"
+          },
+          {
+            "selected": true,
+            "text": "zte-pod1",
+            "value": "zte\\-pod1"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"pod_name\" ",
+        "refresh": false,
+        "type": "query"
+      },
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "All",
+          "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
+        },
+        "datasource": "yardstick-vtc",
+        "includeAll": true,
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "SCENARIO",
+        "options": [
+          {
+            "selected": true,
+            "text": "All",
+            "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
+          },
+          {
+            "selected": false,
+            "text": "os-no_sdn-ovs-ha",
+            "value": "os\\-no_sdn\\-ovs\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-kvm-ha",
+            "value": "os\\-nosdn\\-kvm\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-nofeature-ha",
+            "value": "os\\-nosdn\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-nofeature-noha",
+            "value": "os\\-nosdn\\-nofeature\\-noha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-ovs-ha",
+            "value": "os\\-nosdn\\-ovs\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-ocl-nofeature-ha",
+            "value": "os\\-ocl\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-bgpvpn-ha",
+            "value": "os\\-odl_l2\\-bgpvpn\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-ha",
+            "value": "os\\-odl_l2\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-noha",
+            "value": "os\\-odl_l2\\-nofeature\\-noha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-sfc-ha",
+            "value": "os\\-odl_l2\\-sfc\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l3-nofeature-ha",
+            "value": "os\\-odl_l3\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-onos-nofeature-ha",
+            "value": "os\\-onos\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-onos-sfc-ha",
+            "value": "os\\-onos\\-sfc\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-ovs-nofeature-ha",
+            "value": "os\\-ovs\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "unknown",
+            "value": "unknown"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"deploy_scenario\" ",
+        "refresh": false,
+        "type": "query"
+      }
+    ]
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": "30m",
+  "schemaVersion": 8,
+  "version": 12,
+  "links": []
+}
diff --git a/dashboard/Yardstick-TC070-1469621937427 b/dashboard/Yardstick-TC070-1469621937427
new file mode 100644 (file)
index 0000000..a152b30
--- /dev/null
@@ -0,0 +1,1378 @@
+{
+  "id": 32,
+  "title": "Yardstick-TC070",
+  "originalTitle": "Yardstick-TC070",
+  "tags": [
+    "yardstick-tc"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "25px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><center>OPNFV_Yardstick_TC070 - Network Latency, Throughput, Packet Loss and Memory Utilization</center> </a></h5>\n<center>\n<p>Visualisation of network latency (RTT - round trip time), packet throughput and memory utilization when doing variations to the amount of UDP flows between two VM instances running on different physical blades.\nFor more information see <a style=\"color:#31A7D3\"; href=\"http://artifacts.opnfv.org/yardstick/brahmaputra/docs/userguide/opnfv_yardstick_tc070.html\">TC070</a></p>\n</center>",
+          "editable": true,
+          "error": false,
+          "height": "",
+          "id": 10,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "style": {},
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 8,
+          "isNew": true,
+          "leftYAxisLabel": "Packet throughput",
+          "legend": {
+            "alignAsTable": true,
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT mean(\"packets_per_second\") FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "packets_per_second"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "Throughput mean trend",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "pps",
+            "pps"
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "leftYAxisLabel": "RTT",
+          "legend": {
+            "alignAsTable": true,
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT mean(\"rtt.poseidon\") FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.poseidon"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "RTT mean trend",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "ms"
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)",
+            "thresholdLine": false
+          },
+          "height": "",
+          "id": 2,
+          "isNew": true,
+          "leftYAxisLabel": "No. flows",
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "rightYAxisLabel": "Packet throughput",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - flows",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"flows\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"pod_name\", \"task_id\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "flows"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - pps",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"packets_per_second\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"pod_name\", \"task_id\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "packets_per_second"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "No. flows & packet throughput - pktgen",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "short",
+            "pps"
+          ]
+        }
+      ],
+      "showTitle": false,
+      "title": "Mpstat/cpuload graph"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 7,
+          "isNew": true,
+          "leftYAxisLabel": "Packet throughput",
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "scenarios"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"packets_per_second\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"scenarios\", \"task_id\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "packets_per_second"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Packet throughput - pktgen",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "pps",
+            "short"
+          ]
+        }
+      ],
+      "title": "Pktgen table"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "decimals": 0,
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 1,
+          "isNew": true,
+          "leftYAxisLabel": "RTT",
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [],
+          "nullPointMode": "null",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "rightYAxisLabel": "",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"rtt.poseidon\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.poseidon"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "Round-trip time - ping",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "transparent": false,
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "ms"
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 5,
+          "isNew": true,
+          "links": [],
+          "pageSize": null,
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 12,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "none"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"packets_per_second\" FROM \"opnfv_yardstick_tc037\" WHERE $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "packets_per_second"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"errors\", \"packets_sent\", \"packets_received\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "errors"
+                    ],
+                    "type": "field"
+                  }
+                ],
+                [
+                  {
+                    "params": [
+                      "packets_sent"
+                    ],
+                    "type": "field"
+                  }
+                ],
+                [
+                  {
+                    "params": [
+                      "packets_received"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "title": "No. packets & errors - pktgen",
+          "transform": "table",
+          "type": "table"
+        }
+      ],
+      "title": "Pktgen/flows graph"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 4,
+          "isNew": true,
+          "links": [],
+          "minSpan": null,
+          "pageSize": null,
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 2,
+            "desc": true
+          },
+          "span": 12,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "RTT mean - ping",
+          "transform": "table",
+          "type": "table"
+        }
+      ],
+      "showTitle": false,
+      "title": "Ping/rtt graph"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)",
+            "thresholdLine": false
+          },
+          "id": 3,
+          "isNew": true,
+          "leftYAxisLabel": "Memory size",
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "sortDesc": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "rightYAxisLabel": "",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - mean used memory",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc070",
+              "query": "SELECT \"average.used\" FROM \"opnfv_yardstick_tc070\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "average.used"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - mean free memory",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc070",
+              "query": "SELECT \"average.free\" FROM \"opnfv_yardstick_tc070\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "average.free"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Memory Utilization - free",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "kbytes",
+            "short"
+          ]
+        }
+      ],
+      "title": "Ping table"
+    }
+  ],
+  "time": {
+    "from": "now-7d",
+    "to": "now"
+  },
+  "timepicker": {
+    "now": true,
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": [
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "ericsson-pod2 + huawei-pod1 + huawei-pod2 + intel-pod6 + lf-pod2 + zte-pod1",
+          "value": [
+            "ericsson\\-pod2",
+            "huawei\\-pod1",
+            "huawei\\-pod2",
+            "intel\\-pod6",
+            "lf\\-pod2",
+            "zte\\-pod1"
+          ]
+        },
+        "datasource": "yardstick-vtc",
+        "includeAll": true,
+        "label": "",
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "POD",
+        "options": [
+          {
+            "selected": false,
+            "text": "All",
+            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)"
+          },
+          {
+            "selected": false,
+            "text": "elxg482ls42",
+            "value": "elxg482ls42"
+          },
+          {
+            "selected": false,
+            "text": "ericsson-pod1",
+            "value": "ericsson\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "ericsson-pod2",
+            "value": "ericsson\\-pod2"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod1",
+            "value": "huawei\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod2",
+            "value": "huawei\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "huawei-us-deploy-bare-1",
+            "value": "huawei\\-us\\-deploy\\-bare\\-1"
+          },
+          {
+            "selected": false,
+            "text": "intel-pod5",
+            "value": "intel\\-pod5"
+          },
+          {
+            "selected": true,
+            "text": "intel-pod6",
+            "value": "intel\\-pod6"
+          },
+          {
+            "selected": false,
+            "text": "lf-pod1",
+            "value": "lf\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "lf-pod2",
+            "value": "lf\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-1",
+            "value": "opnfv\\-jump\\-1"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-2",
+            "value": "opnfv\\-jump\\-2"
+          },
+          {
+            "selected": false,
+            "text": "orange-fr-pod2",
+            "value": "orange\\-fr\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "unknown",
+            "value": "unknown"
+          },
+          {
+            "selected": true,
+            "text": "zte-pod1",
+            "value": "zte\\-pod1"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"pod_name\" ",
+        "refresh": false,
+        "type": "query"
+      },
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "All",
+          "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
+        },
+        "datasource": "yardstick-vtc",
+        "includeAll": true,
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "SCENARIO",
+        "options": [
+          {
+            "selected": true,
+            "text": "All",
+            "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
+          },
+          {
+            "selected": false,
+            "text": "os-no_sdn-ovs-ha",
+            "value": "os\\-no_sdn\\-ovs\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-kvm-ha",
+            "value": "os\\-nosdn\\-kvm\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-nofeature-ha",
+            "value": "os\\-nosdn\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-nofeature-noha",
+            "value": "os\\-nosdn\\-nofeature\\-noha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-ovs-ha",
+            "value": "os\\-nosdn\\-ovs\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-ocl-nofeature-ha",
+            "value": "os\\-ocl\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-bgpvpn-ha",
+            "value": "os\\-odl_l2\\-bgpvpn\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-ha",
+            "value": "os\\-odl_l2\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-noha",
+            "value": "os\\-odl_l2\\-nofeature\\-noha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-sfc-ha",
+            "value": "os\\-odl_l2\\-sfc\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l3-nofeature-ha",
+            "value": "os\\-odl_l3\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-onos-nofeature-ha",
+            "value": "os\\-onos\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-onos-sfc-ha",
+            "value": "os\\-onos\\-sfc\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-ovs-nofeature-ha",
+            "value": "os\\-ovs\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "unknown",
+            "value": "unknown"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"deploy_scenario\" ",
+        "refresh": false,
+        "type": "query"
+      }
+    ]
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 8,
+  "version": 7,
+  "links": []
+}
diff --git a/dashboard/Yardstick-TC072-1469780190435 b/dashboard/Yardstick-TC072-1469780190435
new file mode 100644 (file)
index 0000000..7fc2d93
--- /dev/null
@@ -0,0 +1,1378 @@
+{
+  "id": 34,
+  "title": "Yardstick-TC072",
+  "originalTitle": "Yardstick-TC072",
+  "tags": [
+    "yardstick-tc"
+  ],
+  "style": "dark",
+  "timezone": "browser",
+  "editable": true,
+  "hideControls": false,
+  "sharedCrosshair": false,
+  "rows": [
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "25px",
+      "panels": [
+        {
+          "content": "<h5 style=\"font-family:Verdana\"> <a style=\"color:#31A7D3\"><center>OPNFV_Yardstick_TC072 - Network Latency, Throughput, Packet Loss and Network Utilization</center> </a></h5>\n<center>\n<p>Visualisation of network latency (RTT - round trip time), packet throughput and Network interface utilization when doing variations to the amount of UDP flows between two VM instances running on different physical blades.\nFor more information see <a style=\"color:#31A7D3\"; href=\"http://artifacts.opnfv.org/yardstick/brahmaputra/docs/userguide/opnfv_yardstick_tc072.html\">TC072</a></p>\n</center>",
+          "editable": true,
+          "error": false,
+          "height": "",
+          "id": 10,
+          "isNew": true,
+          "links": [],
+          "mode": "html",
+          "span": 12,
+          "style": {},
+          "title": "",
+          "type": "text"
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 8,
+          "isNew": true,
+          "leftYAxisLabel": "Packet throughput",
+          "legend": {
+            "alignAsTable": true,
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT mean(\"packets_per_second\") FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "packets_per_second"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "Throughput mean trend",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "pps",
+            "pps"
+          ]
+        },
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 9,
+          "isNew": true,
+          "leftYAxisLabel": "RTT",
+          "legend": {
+            "alignAsTable": true,
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 6,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "24h"
+                  ],
+                  "type": "time"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc071",
+              "query": "SELECT mean(\"rtt.poseidon\") FROM \"opnfv_yardstick_tc071\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY time(24h), \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.poseidon"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "RTT mean trend",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "ms"
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)",
+            "thresholdLine": false
+          },
+          "height": "",
+          "id": 2,
+          "isNew": true,
+          "leftYAxisLabel": "No. flows",
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "rightYAxisLabel": "Packet throughput",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - flows",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"flows\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"pod_name\", \"task_id\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "flows"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - pps",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": false,
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"packets_per_second\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"deploy_scenario\", \"pod_name\", \"task_id\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "packets_per_second"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "No. flows & packet throughput - pktgen",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "short",
+            "pps"
+          ]
+        }
+      ],
+      "showTitle": false,
+      "title": "Mpstat/cpuload graph"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 0,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 7,
+          "isNew": true,
+          "leftYAxisLabel": "Packet throughput",
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "connected",
+          "percentage": false,
+          "pointradius": 2,
+          "points": true,
+          "renderer": "flot",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "scenarios"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"packets_per_second\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"scenarios\", \"task_id\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "packets_per_second"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": null,
+          "timeShift": null,
+          "title": "Packet throughput - pktgen",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "pps",
+            "short"
+          ]
+        }
+      ],
+      "title": "Pktgen table"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "decimals": 0,
+          "editable": true,
+          "error": false,
+          "fill": 1,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": null,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)"
+          },
+          "id": 1,
+          "isNew": true,
+          "leftYAxisLabel": "RTT",
+          "legend": {
+            "alignAsTable": true,
+            "avg": true,
+            "current": false,
+            "max": true,
+            "min": true,
+            "show": true,
+            "total": false,
+            "values": true
+          },
+          "lines": true,
+          "linewidth": 1,
+          "links": [],
+          "nullPointMode": "null",
+          "percentage": false,
+          "pointradius": 5,
+          "points": false,
+          "renderer": "flot",
+          "rightYAxisLabel": "",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc071",
+              "query": "SELECT \"rtt.poseidon\" FROM \"opnfv_yardstick_tc071\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt.poseidon"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "Round-trip time - ping",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "transparent": false,
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "ms",
+            "ms"
+          ]
+        }
+      ],
+      "title": "New row"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 5,
+          "isNew": true,
+          "links": [],
+          "pageSize": null,
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 0,
+            "desc": true
+          },
+          "span": 12,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "none"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "hide": true,
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"packets_per_second\" FROM \"opnfv_yardstick_tc037\" WHERE $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "packets_per_second"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT \"errors\", \"packets_sent\", \"packets_received\" FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "B",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "errors"
+                    ],
+                    "type": "field"
+                  }
+                ],
+                [
+                  {
+                    "params": [
+                      "packets_sent"
+                    ],
+                    "type": "field"
+                  }
+                ],
+                [
+                  {
+                    "params": [
+                      "packets_received"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "title": "No. packets & errors - pktgen",
+          "transform": "table",
+          "type": "table"
+        }
+      ],
+      "title": "Pktgen/flows graph"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "columns": [],
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fontSize": "100%",
+          "id": 4,
+          "isNew": true,
+          "links": [],
+          "minSpan": null,
+          "pageSize": null,
+          "scroll": true,
+          "showHeader": true,
+          "sort": {
+            "col": 2,
+            "desc": true
+          },
+          "span": 12,
+          "styles": [
+            {
+              "dateFormat": "YYYY-MM-DD HH:mm:ss",
+              "pattern": "Time",
+              "type": "date"
+            },
+            {
+              "colorMode": null,
+              "colors": [
+                "rgba(245, 54, 54, 0.9)",
+                "rgba(237, 129, 40, 0.89)",
+                "rgba(50, 172, 45, 0.97)"
+              ],
+              "decimals": 2,
+              "pattern": "/.*/",
+              "thresholds": [],
+              "type": "number",
+              "unit": "short"
+            }
+          ],
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc037",
+              "query": "SELECT mean(\"rtt\") FROM \"opnfv_yardstick_tc037\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\"",
+              "refId": "A",
+              "resultFormat": "table",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "rtt"
+                    ],
+                    "type": "field"
+                  },
+                  {
+                    "params": [],
+                    "type": "mean"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            }
+          ],
+          "timeFrom": "14d",
+          "title": "RTT mean - ping",
+          "transform": "table",
+          "type": "table"
+        }
+      ],
+      "showTitle": false,
+      "title": "Ping/rtt graph"
+    },
+    {
+      "collapse": false,
+      "editable": true,
+      "height": "250px",
+      "panels": [
+        {
+          "aliasColors": {},
+          "bars": false,
+          "datasource": "yardstick-vtc",
+          "editable": true,
+          "error": false,
+          "fill": 2,
+          "grid": {
+            "leftLogBase": 1,
+            "leftMax": null,
+            "leftMin": 0,
+            "rightLogBase": 1,
+            "rightMax": null,
+            "rightMin": null,
+            "threshold1": null,
+            "threshold1Color": "rgba(216, 200, 27, 0.27)",
+            "threshold2": null,
+            "threshold2Color": "rgba(234, 112, 112, 0.22)",
+            "thresholdLine": false
+          },
+          "id": 3,
+          "isNew": true,
+          "leftYAxisLabel": "Packet Per Second",
+          "legend": {
+            "alignAsTable": true,
+            "avg": false,
+            "current": false,
+            "max": false,
+            "min": false,
+            "rightSide": false,
+            "show": true,
+            "total": false,
+            "values": false
+          },
+          "lines": true,
+          "linewidth": 2,
+          "links": [],
+          "nullPointMode": "null as zero",
+          "percentage": false,
+          "pointradius": 1,
+          "points": true,
+          "renderer": "flot",
+          "rightYAxisLabel": "",
+          "seriesOverrides": [],
+          "span": 12,
+          "stack": false,
+          "steppedLine": false,
+          "targets": [
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - eth0 - Total number of packets received per second",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc072",
+              "query": "SELECT \"network_utilization_average.eth0.rxpck/s\" FROM \"opnfv_yardstick_tc072\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
+              "refId": "A",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "network_utilization_average.eth0.rxpck/s"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ]
+            },
+            {
+              "alias": "$tag_pod_name - $tag_deploy_scenario - eth0 - Total number of packets transmitted per second",
+              "dsType": "influxdb",
+              "groupBy": [
+                {
+                  "params": [
+                    "pod_name"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "deploy_scenario"
+                  ],
+                  "type": "tag"
+                },
+                {
+                  "params": [
+                    "task_id"
+                  ],
+                  "type": "tag"
+                }
+              ],
+              "measurement": "opnfv_yardstick_tc072",
+              "query": "SELECT \"network_utilization_average.eth0.txpck/s\" FROM \"opnfv_yardstick_tc072\" WHERE \"pod_name\" =~ /$POD$/ AND \"deploy_scenario\" =~ /$SCENARIO$/ AND $timeFilter GROUP BY \"pod_name\", \"deploy_scenario\", \"task_id\"",
+              "refId": "B",
+              "resultFormat": "time_series",
+              "select": [
+                [
+                  {
+                    "params": [
+                      "network_utilization_average.eth0.txpck/s"
+                    ],
+                    "type": "field"
+                  }
+                ]
+              ],
+              "tags": [
+                {
+                  "key": "pod_name",
+                  "operator": "=~",
+                  "value": "/$POD$/"
+                },
+                {
+                  "condition": "AND",
+                  "key": "deploy_scenario",
+                  "operator": "=~",
+                  "value": "/$SCENARIO$/"
+                }
+              ],
+              "hide": false
+            }
+          ],
+          "timeFrom": "14d",
+          "timeShift": null,
+          "title": "Network Utilization - sar (system activity reporter)",
+          "tooltip": {
+            "shared": true,
+            "value_type": "cumulative"
+          },
+          "type": "graph",
+          "x-axis": true,
+          "y-axis": true,
+          "y_formats": [
+            "pps",
+            "mbytes"
+          ]
+        }
+      ],
+      "title": "Ping table"
+    }
+  ],
+  "time": {
+    "from": "now-7d",
+    "to": "now"
+  },
+  "timepicker": {
+    "now": true,
+    "refresh_intervals": [
+      "5s",
+      "10s",
+      "30s",
+      "1m",
+      "5m",
+      "15m",
+      "30m",
+      "1h",
+      "2h",
+      "1d"
+    ],
+    "time_options": [
+      "5m",
+      "15m",
+      "1h",
+      "6h",
+      "12h",
+      "24h",
+      "2d",
+      "7d",
+      "30d"
+    ]
+  },
+  "templating": {
+    "list": [
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "ericsson-pod2 + huawei-pod1 + huawei-pod2 + intel-pod6 + lf-pod2 + zte-pod1",
+          "value": [
+            "ericsson\\-pod2",
+            "huawei\\-pod1",
+            "huawei\\-pod2",
+            "intel\\-pod6",
+            "lf\\-pod2",
+            "zte\\-pod1"
+          ]
+        },
+        "datasource": "yardstick-vtc",
+        "includeAll": true,
+        "label": "",
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "POD",
+        "options": [
+          {
+            "selected": false,
+            "text": "All",
+            "value": "(elxg482ls42|ericsson\\-pod1|ericsson\\-pod2|huawei\\-pod1|huawei\\-pod2|huawei\\-us\\-deploy\\-bare\\-1|intel\\-pod5|intel\\-pod6|lf\\-pod1|lf\\-pod2|opnfv\\-jump\\-1|opnfv\\-jump\\-2|orange\\-fr\\-pod2|unknown|zte\\-pod1)"
+          },
+          {
+            "selected": false,
+            "text": "elxg482ls42",
+            "value": "elxg482ls42"
+          },
+          {
+            "selected": false,
+            "text": "ericsson-pod1",
+            "value": "ericsson\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "ericsson-pod2",
+            "value": "ericsson\\-pod2"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod1",
+            "value": "huawei\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "huawei-pod2",
+            "value": "huawei\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "huawei-us-deploy-bare-1",
+            "value": "huawei\\-us\\-deploy\\-bare\\-1"
+          },
+          {
+            "selected": false,
+            "text": "intel-pod5",
+            "value": "intel\\-pod5"
+          },
+          {
+            "selected": true,
+            "text": "intel-pod6",
+            "value": "intel\\-pod6"
+          },
+          {
+            "selected": false,
+            "text": "lf-pod1",
+            "value": "lf\\-pod1"
+          },
+          {
+            "selected": true,
+            "text": "lf-pod2",
+            "value": "lf\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-1",
+            "value": "opnfv\\-jump\\-1"
+          },
+          {
+            "selected": false,
+            "text": "opnfv-jump-2",
+            "value": "opnfv\\-jump\\-2"
+          },
+          {
+            "selected": false,
+            "text": "orange-fr-pod2",
+            "value": "orange\\-fr\\-pod2"
+          },
+          {
+            "selected": false,
+            "text": "unknown",
+            "value": "unknown"
+          },
+          {
+            "selected": true,
+            "text": "zte-pod1",
+            "value": "zte\\-pod1"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"pod_name\" ",
+        "refresh": false,
+        "type": "query"
+      },
+      {
+        "allFormat": "regex values",
+        "current": {
+          "tags": [],
+          "text": "All",
+          "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
+        },
+        "datasource": "yardstick-vtc",
+        "includeAll": true,
+        "multi": true,
+        "multiFormat": "regex values",
+        "name": "SCENARIO",
+        "options": [
+          {
+            "selected": true,
+            "text": "All",
+            "value": "(os\\-no_sdn\\-ovs\\-ha|os\\-nosdn\\-kvm\\-ha|os\\-nosdn\\-nofeature\\-ha|os\\-nosdn\\-nofeature\\-noha|os\\-nosdn\\-ovs\\-ha|os\\-ocl\\-nofeature\\-ha|os\\-odl_l2\\-bgpvpn\\-ha|os\\-odl_l2\\-nofeature\\-ha|os\\-odl_l2\\-nofeature\\-noha|os\\-odl_l2\\-sfc\\-ha|os\\-odl_l3\\-nofeature\\-ha|os\\-onos\\-nofeature\\-ha|os\\-onos\\-sfc\\-ha|os\\-ovs\\-nofeature\\-ha|unknown)"
+          },
+          {
+            "selected": false,
+            "text": "os-no_sdn-ovs-ha",
+            "value": "os\\-no_sdn\\-ovs\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-kvm-ha",
+            "value": "os\\-nosdn\\-kvm\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-nofeature-ha",
+            "value": "os\\-nosdn\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-nofeature-noha",
+            "value": "os\\-nosdn\\-nofeature\\-noha"
+          },
+          {
+            "selected": false,
+            "text": "os-nosdn-ovs-ha",
+            "value": "os\\-nosdn\\-ovs\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-ocl-nofeature-ha",
+            "value": "os\\-ocl\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-bgpvpn-ha",
+            "value": "os\\-odl_l2\\-bgpvpn\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-ha",
+            "value": "os\\-odl_l2\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-nofeature-noha",
+            "value": "os\\-odl_l2\\-nofeature\\-noha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l2-sfc-ha",
+            "value": "os\\-odl_l2\\-sfc\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-odl_l3-nofeature-ha",
+            "value": "os\\-odl_l3\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-onos-nofeature-ha",
+            "value": "os\\-onos\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-onos-sfc-ha",
+            "value": "os\\-onos\\-sfc\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "os-ovs-nofeature-ha",
+            "value": "os\\-ovs\\-nofeature\\-ha"
+          },
+          {
+            "selected": false,
+            "text": "unknown",
+            "value": "unknown"
+          }
+        ],
+        "query": "SHOW TAG VALUES WITH KEY = \"deploy_scenario\" ",
+        "refresh": false,
+        "type": "query"
+      }
+    ]
+  },
+  "annotations": {
+    "list": []
+  },
+  "refresh": false,
+  "schemaVersion": 8,
+  "version": 5,
+  "links": []
+}
similarity index 85%
rename from docs/userguide/03-installation.rst
rename to docs/userguide/07-installation.rst
index a3144ef..25c1258 100644 (file)
@@ -251,3 +251,71 @@ More info about the tool can be found by executing:
 ::
 
   yardstick-plot -h
+
+
+Deploy InfluxDB and Grafana locally
+------------------------------------
+
+.. pull docker images
+
+Pull docker images
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+::
+
+  docker pull tutum/influxdb
+  docker pull grafana/grafana
+
+Run influxdb and config
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Run influxdb
+::
+
+  docker run -d --name influxdb -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 tutum/influxdb
+  docker exec -it influxdb bash
+
+Config influxdb
+::
+
+  influx
+  >CREATE USER root WITH PASSWORD 'root' WITH ALL PRIVILEGES
+  >CREATE DATABASE yardstick;
+  >use yardstick;
+  >show MEASUREMENTS;
+
+Run grafana and config
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Run grafana
+::
+
+  docker run -d --name grafana -p 3000:3000 grafana/grafana
+
+Config grafana
+::
+
+  http://{YOUR_IP_HERE}:3000
+  log on using admin/admin and config database resource to be {YOUR_IP_HERE}:8086
+
+.. image:: images/Grafana_config.png
+
+Config yardstick conf
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+cp ./etc/yardstick/yardstick.conf.sample /etc/yardstick/yardstick.conf
+
+vi /etc/yardstick/yardstick.conf
+Config yardstick.conf
+::
+
+  [DEFAULT]
+  debug = True
+  dispatcher = influxdb
+
+  [dispatcher_influxdb]
+  timeout = 5
+  target = http://{YOUR_IP_HERE}:8086
+  db_name = yardstick
+  username = root
+  password = root
+
+Now you can run yardstick test case and store the results in influxdb
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/docs/userguide/08-yardstick_plugin.rst b/docs/userguide/08-yardstick_plugin.rst
new file mode 100644 (file)
index 0000000..e68db65
--- /dev/null
@@ -0,0 +1,144 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Ericsson AB, Huawei Technologies Co.,Ltd and others.
+
+===================================
+Installing a plug-in into yardstick
+===================================
+
+Abstract
+========
+
+Yardstick currently provides a ``plugin`` CLI command to support integration
+with other OPNFV testing projects. Below is an example invocation of yardstick
+plugin command and Storperf plug-in sample.
+
+
+Installing Storperf into yardstick
+==================================
+
+Storperf is delivered as a Docker container from
+https://hub.docker.com/r/opnfv/storperf/tags/.
+
+There are two possible methods for installation in your environment:
+
+* Run container on Jump Host
+* Run container in a VM
+
+In this introduction we will install Storperf on Jump Host.
+
+
+Step 0: Environment preparation
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+
+Running Storperf on Jump Host
+Requirements:
+
+* Docker must be installed
+* Jump Host must have access to the OpenStack Controller API
+* Jump Host must have internet connectivity for downloading docker image
+* Enough floating IPs must be available to match your agent count
+
+Before installing Storperf into yardstick you need to check your openstack
+environment and other dependencies:
+
+1. Make sure docker is installed.
+2. Make sure Keystone, Nova, Neutron, Glance, Heat are installed correctly.
+3. Make sure Jump Host have access to the OpenStack Controller API.
+4. Make sure Jump Host must have internet connectivity for downloading docker image.
+5. You need to know where to get basic openstack Keystone authorization info, such as
+OS_PASSWORD, OS_TENANT_NAME, OS_AUTH_URL, OS_USERNAME.
+6. To run a Storperf container, you need to have OpenStack Controller environment
+variables defined and passed to Storperf container. The best way to do this is to
+put environment variables in a "storperf_admin-rc" file. The storperf_admin-rc
+should include credential environment variables at least:
+
+* OS_AUTH_URL
+* OS_TENANT_ID
+* OS_TENANT_NAME
+* OS_PROJECT_NAME
+* OS_USERNAME
+* OS_PASSWORD
+* OS_REGION_NAME
+
+For this storperf_admin-rc file, during environment preparation a "prepare_storperf_admin-rc.sh"
+script can be used to generate it.
+::
+
+  #!/bin/bash
+  AUTH_URL=${OS_AUTH_URL}
+  USERNAME=${OS_USERNAME:-admin}
+  PASSWORD=${OS_PASSWORD:-console}
+  TENANT_NAME=${OS_TENANT_NAME:-admin}
+  VOLUME_API_VERSION=${OS_VOLUME_API_VERSION:-2}
+  PROJECT_NAME=${OS_PROJECT_NAME:-$TENANT_NAME}
+  TENANT_ID=`keystone tenant-get admin|grep 'id'|awk -F '|' '{print $3}'|sed -e 's/^[[:space:]]*//'`
+  rm -f ~/storperf_admin-rc
+  touch ~/storperf_admin-rc
+  echo "OS_AUTH_URL="$AUTH_URL >> ~/storperf_admin-rc
+  echo "OS_USERNAME="$USERNAME >> ~/storperf_admin-rc
+  echo "OS_PASSWORD="$PASSWORD >> ~/storperf_admin-rc
+  echo "OS_TENANT_NAME="$TENANT_NAME >> ~/storperf_admin-rc
+  echo "OS_VOLUME_API_VERSION="$VOLUME_API_VERSION >> ~/storperf_admin-rc
+  echo "OS_PROJECT_NAME="$PROJECT_NAME >> ~/storperf_admin-rc
+  echo "OS_TENANT_ID="$TENANT_ID >> ~/storperf_admin-rc
+
+
+Step 1: Plug-in configuration file preparation
+++++++++++++++++++++++++++++++++++++++++++++++
+
+To install a plug-in, first you need to prepare a plug-in configuration file in
+YAML format and store it in the "plugin" directory. The plugin configration file
+work as the input of yardstick "plugin" command. Below is the Storperf plug-in
+configuration file sample:
+::
+
+  ---
+  # StorPerf plugin configuration file
+  # Used for integration StorPerf into Yardstick as a plugin
+  schema: "yardstick:plugin:0.1"
+  plugins:
+    name: storperf
+  deployment:
+    ip: 192.168.23.2
+    user: root
+    password: root
+
+In the plug-in configuration file, you need to specify the plug-in name and the
+plug-in deployment info, including node ip, node login username and password.
+Here the Storperf will be installed on IP 192.168.23.2 which is the Jump Host
+in my local environment.
+
+Step 2: Plug-in install/remove scripts preparation
+++++++++++++++++++++++++++++++++++++++++++++++++++
+
+Under "yardstick/resource/scripts directory", there are two folders: a "install"
+folder and a "remove" folder. You need to store the plug-in install/remove script
+in these two folders respectively.
+
+The detailed installation or remove operation should de defined in these two scripts.
+The name of both install and remove scripts should match the plugin-in name that you
+specified in the plug-in configuration file.
+For example, the install and remove scripts for Storperf are both named to "storperf.bash".
+
+
+Step 3: Install and remove Storperf
++++++++++++++++++++++++++++++++++++
+
+To install Storperf, simply execute the following command
+::
+
+  # Install Storperf
+  yardstick plugin install plugin/storperf.yaml
+
+removing Storperf from yardstick
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To remove Storperf, simply execute the following command
+::
+
+  # Remove Storperf
+  yardstick plugin remove plugin/storperf.yaml
+
+What yardstick plugin command does is using the username and password to log into the deployment target and then execute the corresponding install or remove script.
diff --git a/docs/userguide/09-result-store-InfluxDB.rst b/docs/userguide/09-result-store-InfluxDB.rst
new file mode 100644 (file)
index 0000000..5c49e9f
--- /dev/null
@@ -0,0 +1,86 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, 2016 Huawei Technologies Co.,Ltd and others.
+
+==============================================
+Store Other Project's Test Results in InfluxDB
+==============================================
+
+Abstract
+========
+
+.. _Framework: https://wiki.opnfv.org/download/attachments/6827660/wiki.png?version=1&modificationDate=1470298075000&api=v2
+
+This chapter illustrates how to run plug-in test cases and store test results
+into community's InfluxDB. The framework is shown in Framework_.
+
+
+.. image:: images/InfluxDB_store.png
+   :width: 1200px
+   :alt: Store Other Project's Test Results in InfluxDB
+
+Store Storperf Test Results into Community's InfluxDB
+=====================================================
+
+.. _Influxdb: https://git.opnfv.org/cgit/yardstick/tree/yardstick/dispatcher/influxdb.py
+.. _Mingjiang: limingjiang@huawei.com
+.. _Visual: https://wiki.opnfv.org/download/attachments/6827660/tc074.PNG?version=1&modificationDate=1470298075000&api=v2
+.. _Login: http://testresults.opnfv.org/grafana/login
+
+As shown in Framework_, there are two ways to store Storperf test results
+into community's InfluxDB:
+
+1. Yardstick asks Storperf to run the test case. After the test case is
+   completed, Yardstick reads test results via ReST API from Storperf and
+   posts test data to the influxDB.
+
+2. Additionally, Storperf can run tests by itself and post the test result
+   directly to the InfluxDB. The method for posting data directly to influxDB
+   will be supported in the future.
+
+Our plan is to support rest-api in D release so that other testing projects can
+call the rest-api to use yardstick dispatcher service to push data to yardstick's
+influxdb database.
+
+For now, influxdb only support line protocol, and the json protocol is deprecated.
+
+Take ping test case for example, the raw_result is json format like this:
+::
+
+    "benchmark": {
+        "timestamp": 1470315409.868095,
+        "errors": "",
+        "data": {
+          "rtt": {
+          "ares": 1.125
+          }
+        },
+      "sequence": 1
+      },
+    "runner_id": 2625
+  }
+
+With the help of "influxdb_line_protocol", the json is transform to like below as a line string:
+::
+
+  'ping,deploy_scenario=unknown,host=athena.demo,installer=unknown,pod_name=unknown,
+    runner_id=2625,scenarios=Ping,target=ares.demo,task_id=77755f38-1f6a-4667-a7f3-
+      301c99963656,version=unknown rtt.ares=1.125 1470315409868094976'
+
+So, for data output of json format, you just need to transform json into line format and call
+influxdb api to post the data into the database. All this function has been implemented in Influxdb_.
+If you need support on this, please contact Mingjiang_.
+::
+
+  curl -i -XPOST 'http://104.197.68.199:8086/write?db=yardstick' --
+    data-binary 'ping,deploy_scenario=unknown,host=athena.demo,installer=unknown, ...'
+
+Grafana will be used for visualizing the collected test data, which is shown in Visual_. Grafana
+can be accessed by Login_.
+
+
+.. image:: images/results_visualization.png
+   :width: 1200px
+   :alt: results visualization
+
similarity index 83%
rename from docs/userguide/03-list-of-tcs.rst
rename to docs/userguide/10-list-of-tcs.rst
index de48c7b..7e8c854 100644 (file)
@@ -28,6 +28,7 @@ Generic NFVI Test Case Descriptions
 
    opnfv_yardstick_tc001.rst
    opnfv_yardstick_tc002.rst
+   opnfv_yardstick_tc004.rst
    opnfv_yardstick_tc005.rst
    opnfv_yardstick_tc008.rst
    opnfv_yardstick_tc009.rst
@@ -38,6 +39,17 @@ Generic NFVI Test Case Descriptions
    opnfv_yardstick_tc024.rst
    opnfv_yardstick_tc037.rst
    opnfv_yardstick_tc038.rst
+   opnfv_yardstick_tc042.rst
+   opnfv_yardstick_tc043.rst
+   opnfv_yardstick_tc044.rst
+   opnfv_yardstick_tc055.rst
+   opnfv_yardstick_tc061.rst
+   opnfv_yardstick_tc063.rst
+   opnfv_yardstick_tc069.rst
+   opnfv_yardstick_tc070.rst
+   opnfv_yardstick_tc071.rst
+   opnfv_yardstick_tc072.rst
+   opnfv_yardstick_tc075.rst
 
 OPNFV Feature Test Cases
 ========================
diff --git a/docs/userguide/images/Grafana_config.png b/docs/userguide/images/Grafana_config.png
new file mode 100644 (file)
index 0000000..cb63098
Binary files /dev/null and b/docs/userguide/images/Grafana_config.png differ
diff --git a/docs/userguide/images/InfluxDB_store.png b/docs/userguide/images/InfluxDB_store.png
new file mode 100644 (file)
index 0000000..1770fd2
Binary files /dev/null and b/docs/userguide/images/InfluxDB_store.png differ
diff --git a/docs/userguide/images/results_visualization.png b/docs/userguide/images/results_visualization.png
new file mode 100644 (file)
index 0000000..cd09280
Binary files /dev/null and b/docs/userguide/images/results_visualization.png differ
index 72a92a6..0aa112a 100644 (file)
@@ -12,11 +12,13 @@ Yardstick Overview
 
    01-introduction
    02-methodology
-   architecture
+   03-architecture
    04-vtc-overview
-   apexlake_installation
-   apexlake_api
-   03-installation
-   03-list-of-tcs
+   05-apexlake_installation
+   06-apexlake_api
+   07-installation
+   08-yardstick_plugin
+   09-result-store-InfluxDB
+   10-list-of-tcs
    glossary
    references
index 4cf4b94..fac375d 100644 (file)
@@ -21,14 +21,14 @@ Yardstick Test Case Description TC001
 +--------------+--------------------------------------------------------------+
 |test purpose  | To evaluate the IaaS network performance with regards to     |
 |              | flows and throughput, such as if and how different amounts   |
-|              | of flows matter for the throughput between hosts on different|
-|              | compute blades. Typically e.g. the performance of a vSwitch  |
-|              | depends on the number of flows running through it. Also      |
-|              | performance of other equipment or entities can depend        |
+|              | of flows matter for the throughput between hosts on          |
+|              | different compute blades. Typically e.g. the performance of  |
+|              | a vSwitch depends on the number of flows running through it. |
+|              | Also performance of other equipment or entities can depend   |
 |              | on the number of flows or the packet sizes used.             |
 |              | The purpose is also to be able to spot trends. Test results, |
-|              | graphs ans similar shall be stored for comparison reasons and|
-|              | product evolution understanding between different OPNFV      |
+|              | graphs ans similar shall be stored for comparison reasons    |
+|              | and product evolution understanding between different OPNFV  |
 |              | versions and/or configurations.                              |
 |              |                                                              |
 +--------------+--------------------------------------------------------------+
@@ -37,7 +37,8 @@ Yardstick Test Case Description TC001
 |              | Packet size: 60 bytes                                        |
 |              | Number of ports: 10, 50, 100, 500 and 1000, where each       |
 |              | runs for 20 seconds. The whole sequence is run               |
-|              | twice. The client and server are distributed on different HW.|
+|              | twice. The client and server are distributed on different    |
+|              | HW.                                                          |
 |              | For SLA max_ppm is set to 1000. The amount of configured     |
 |              | ports map to between 110 up to 1001000 flows, respectively.  |
 |              |                                                              |
@@ -60,7 +61,7 @@ Yardstick Test Case Description TC001
 |              | of flows and test duration. Default values exist.            |
 |              |                                                              |
 |              | SLA (optional): max_ppm: The number of packets per million   |
-|              |  packets sent that are acceptable to loose, not received.    |
+|              | packets sent that are acceptable to loose, not received.     |
 |              |                                                              |
 +--------------+--------------------------------------------------------------+
 |pre-test      | The test case image needs to be installed into Glance        |
diff --git a/docs/userguide/opnfv_yardstick_tc004.rst b/docs/userguide/opnfv_yardstick_tc004.rst
new file mode 100644 (file)
index 0000000..3012861
--- /dev/null
@@ -0,0 +1,77 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Huawei Technologies Co.,Ltd and others.
+
+*************************************
+Yardstick Test Case Description TC004
+*************************************
+
+.. _cachestat: https://github.com/brendangregg/perf-tools/tree/master/fs
+
++-----------------------------------------------------------------------------+
+|Cache Utilization                                                            |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC004_Cache Utilization                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metric        | Cache Utilization                                            |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test purpose  | To evaluate the IaaS compute capability with regards to      |
+|              | cache utilization.This test case should be run in parallel   |
+|              | to other Yardstick test cases and not run as a stand-alone   |
+|              | test case.                                                   |
+|              | Measure the cache usage statistics including cache hit,      |
+|              | cache miss, hit ratio, page cache size and page cache size.  |
+|              | Both average and maximun values are obtained.                |
+|              | The purpose is also to be able to spot trends.               |
+|              | Test results, graphs and similar shall be stored for         |
+|              | comparison reasons and product evolution understanding       |
+|              | between different OPNFV versions and/or configurations.      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | File: cachestat.yaml (in the 'samples' directory)            |
+|              |                                                              |
+|              | * interval: 1 - repeat, pausing every 1 seconds in-between.  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test tool     | cachestat                                                    |
+|              |                                                              |
+|              | cachestat is not always part of a Linux distribution, hence  |
+|              | it needs to be installed.                                    |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | cachestat_                                                   |
+|              |                                                              |
+|              | ETSI-NFV-TST001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|applicability | Test can be configured with different:                       |
+|              |                                                              |
+|              |  * interval;                                                 |
+|              |  * runner Duration.                                          |
+|              |                                                              |
+|              | There are default values for each above-mentioned option.    |
+|              | Run in background with other test cases.                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|pre-test      | The test case image needs to be installed into Glance        |
+|conditions    | with cachestat included in the image.                        |
+|              |                                                              |
+|              | No POD specific requirements have been identified.           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | The host is installed as client. The related TC, or TCs, is  |
+|              | invoked and cachestat logs are produced and stored.          |
+|              |                                                              |
+|              | Result: logs are stored.                                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test verdict  | None. Cache utilization results are fetched and stored.      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
index 1c643cd..cf2fd50 100644 (file)
@@ -56,12 +56,12 @@ Yardstick Test Case Description TC011
 |              | ETSI-NFV-TST001                                              |
 |              |                                                              |
 +--------------+--------------------------------------------------------------+
-|applicability | Test can be configured with different                        |
+|applicability | Test can be configured with different:                       |
 |              |                                                              |
 |              | * bandwidth: Test case can be configured with different      |
-|              |              bandwidth                                       |
+|              |              bandwidth.                                      |
 |              |                                                              |
-|              | * duration: The test duration can be configured              |
+|              | * duration: The test duration can be configured.             |
 |              |                                                              |
 |              | * jitter: SLA is optional. The SLA in this test case         |
 |              |           serves as an example.                              |
index ffdacb1..8d15e8d 100644 (file)
@@ -22,17 +22,17 @@ Yardstick Test Case Description TC024
 |test purpose  | To evaluate the CPU load performance of the IaaS. This test  |
 |              | case should be run in parallel to other Yardstick test cases |
 |              | and not run as a stand-alone test case.                      |
-|              |                                                              |
-|              | The purpose is also to be able to spot trends. Test results, |
-|              | graphs ans similar shall be stored for comparison reasons and|
-|              | product evolution understanding between different OPNFV      |
-|              | versions and/or configurations.                              |
+|              | Average, minimum and maximun values are obtained.            |
+|              | The purpose is also to be able to spot trends.               |
+|              | Test results, graphs and similar shall be stored for         |
+|              | comparison reasons and product evolution understanding       |
+|              | between different OPNFV versions and/or configurations.      |
 |              |                                                              |
 +--------------+--------------------------------------------------------------+
 |configuration | file: cpuload.yaml (in the 'samples' directory)              |
 |              |                                                              |
-|              | There is are no additional configurations to be set for this |
-|              | TC.                                                          |
+|              | * interval: 1 - repeat, pausing every 1 seconds in-between.  |
+|              | * count: 10 - display statistics 10 times, then exit.        |
 |              |                                                              |
 +--------------+--------------------------------------------------------------+
 |test tool     | mpstat                                                       |
@@ -46,7 +46,14 @@ Yardstick Test Case Description TC024
 |references    | man-pages_                                                   |
 |              |                                                              |
 +--------------+--------------------------------------------------------------+
-|applicability | Run in background with other test cases.                     |
+|applicability | Test can be configured with different:                       |
+|              |                                                              |
+|              |  * interval;                                                 |
+|              |  * count;                                                    |
+|              |  * runner Iteration and intervals.                           |
+|              |                                                              |
+|              | There are default values for each above-mentioned option.    |
+|              | Run in background with other test cases.                     |
 |              |                                                              |
 +--------------+--------------------------------------------------------------+
 |pre-test      | The test case image needs to be installed into Glance        |
diff --git a/docs/userguide/opnfv_yardstick_tc042.rst b/docs/userguide/opnfv_yardstick_tc042.rst
new file mode 100644 (file)
index 0000000..8660d92
--- /dev/null
@@ -0,0 +1,87 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, ZTE and others.
+
+***************************************
+Yardstick Test Case Description TC0042
+***************************************
+
+.. _DPDK: http://dpdk.org/doc/guides/index.html
+.. _Testpmd: http://dpdk.org/doc/guides/testpmd_app_ug/index.html
+.. _Pktgen-dpdk: http://pktgen.readthedocs.io/en/latest/index.html
+
++-----------------------------------------------------------------------------+
+|Network Performance                                                          |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC042_DPDK pktgen latency measurements       |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metric        | L2 Network Latency                                           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test purpose  | Measure L2 network latency when DPDK is enabled between hosts|
+|              | on different compute blades.                                 |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | file: opnfv_yardstick_tc042.yaml                             |
+|              |                                                              |
+|              | * Packet size: 64 bytes                                      |
+|              | * SLA(max_latency): 100usec                                  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test tool     | DPDK_                                                        |
+|              | Pktgen-dpdk_                                                 |
+|              |                                                              |
+|              | (DPDK and Pktgen-dpdk are not part of a Linux distribution,  |
+|              | hence they needs to be installed.                            |
+|              | As an example see the /yardstick/tools/ directory for how to |
+|              | generate a Linux image with DPDK and pktgen-dpdk included.)  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | DPDK_                                                        |
+|              |                                                              |
+|              | Pktgen-dpdk_                                                 |
+|              |                                                              |
+|              | ETSI-NFV-TST001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|applicability | Test can be configured with different packet sizes. Default  |
+|              | values exist.                                                |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|pre-test      | The test case image needs to be installed into Glance        |
+|conditions    | with DPDK and pktgen-dpdk included in it.                    |
+|              |                                                              |
+|              | The NICs of compute nodes must support DPDK on POD.          |
+|              |                                                              |
+|              | And at least compute nodes setup hugepage.                   |
+|              |                                                              |
+|              | If you want to achievement a hight performance result, it is |
+|              | recommend to use NUAM, CPU pin, OVS and so on.               |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | The hosts are installed on different blades, as server and   |
+|              | client. Both server and client have three interfaces. The    |
+|              | first one is management such as ssh. The other two are used  |
+|              | by DPDK.                                                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 2        | Testpmd_ is invoked with configurations to forward packets   |
+|              | from one DPDK port to the other on server.                   |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 3        | Pktgen-dpdk is invoked with configurations as a traffic      |
+|              | generator and logs are produced and stored on client.        |
+|              |                                                              |
+|              | Result: Logs are stored.                                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test verdict  | Fails only if SLA is not passed, or if there is a test case  |
+|              | execution problem.                                           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
index 2f907e9..b6e557d 100644 (file)
@@ -13,8 +13,9 @@ Yardstick Test Case Description TC043
 |Network Latency Between NFVI Nodes                                           |
 |                                                                             |
 +--------------+--------------------------------------------------------------+
-|test case id  | OPNFV_YARDSTICK_TC043_Latency_between_                       |
-|              | NFVI_nodes_measurements                                      |
+|test case id  | OPNFV_YARDSTICK_TC043_Latency_between_NFVI_nodes_            |
+|              | measurements                                                 |
+|              |                                                              |
 +--------------+--------------------------------------------------------------+
 |metric        | RTT, Round Trip Time                                         |
 |              |                                                              |
diff --git a/docs/userguide/opnfv_yardstick_tc050.rst b/docs/userguide/opnfv_yardstick_tc050.rst
new file mode 100644 (file)
index 0000000..8890c9d
--- /dev/null
@@ -0,0 +1,135 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Yin Kanglin and others.
+.. 14_ykl@tongji.edu.cn
+
+*************************************
+Yardstick Test Case Description TC050
+*************************************
+
++-----------------------------------------------------------------------------+
+|OpenStack Controller Node Network High Availability                          |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC050: OpenStack Controller Node Network     |
+|              | High Availability                                            |
++--------------+--------------------------------------------------------------+
+|test purpose  | This test case will verify the high availability of control  |
+|              | node. When one of the controller failed to connect the       |
+|              | network, which breaks down the Openstack services on this    |
+|              | node. These Openstack service should able to be accessed by  |
+|              | other controller nodes, and the services on failed           |
+|              | controller node should be isolated.                          |
++--------------+--------------------------------------------------------------+
+|test method   | This test case turns off the network interfaces of a         |
+|              | specified control node, then checks whether all services     |
+|              | provided by the control node are OK with some monitor tools. |
++--------------+--------------------------------------------------------------+
+|attackers     | In this test case, an attacker called "close-interface" is   |
+|              | needed. This attacker includes three parameters:             |
+|              | 1) fault_type: which is used for finding the attacker's      |
+|              | scripts. It should be always set to "close-interface" in     |
+|              | this test case.                                              |
+|              | 2) host: which is the name of a control node being attacked. |
+|              | 3) interface: the network interface to be turned off.        |
+|              |                                                              |
+|              | There are four instance of the "close-interface" monitor:    |
+|              | attacker1(for public netork):                                |
+|              | -fault_type: "close-interface"                               |
+|              | -host: node1                                                 |
+|              | -interface: "br-ex"                                          |
+|              | attacker2(for management netork):                            |
+|              | -fault_type: "close-interface"                               |
+|              | -host: node1                                                 |
+|              | -interface: "br-mgmt"                                        |
+|              | attacker3(for storage netork):                               |
+|              | -fault_type: "close-interface"                               |
+|              | -host: node1                                                 |
+|              | -interface: "br-storage"                                     |
+|              | attacker4(for private netork):                               |
+|              | -fault_type: "close-interface"                               |
+|              | -host: node1                                                 |
+|              | -interface: "br-mesh"                                        |
++--------------+--------------------------------------------------------------+
+|monitors      | In this test case, the monitor named "openstack-cmd" is      |
+|              | needed. The monitor needs needs two parameters:              |
+|              | 1) monitor_type: which is used for finding the monitor class |
+|              | and related scritps. It should be always set to              |
+|              | "openstack-cmd" for this monitor.                            |
+|              | 2) command_name: which is the command name used for request  |
+|              |                                                              |
+|              | There are four instance of the "openstack-cmd" monitor:      |
+|              | monitor1:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "nova image-list"                             |
+|              | monitor2:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "neutron router-list"                         |
+|              | monitor3:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "heat stack-list"                             |
+|              | monitor4:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "cinder list"                                 |
++--------------+--------------------------------------------------------------+
+|metrics       | In this test case, there is one metric:                      |
+|              | 1)service_outage_time: which indicates the maximum outage    |
+|              | time (seconds) of the specified Openstack command request.   |
++--------------+--------------------------------------------------------------+
+|test tool     | Developed by the project. Please see folder:                 |
+|              | "yardstick/benchmark/scenarios/availability/ha_tools"        |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | ETSI NFV REL001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | This test case needs two configuration files:                |
+|              | 1) test case file: opnfv_yardstick_tc050.yaml                |
+|              | -Attackers: see above "attackers" discription                |
+|              | -waiting_time: which is the time (seconds) from the process  |
+|              | being killed to stoping monitors the monitors                |
+|              | -Monitors: see above "monitors" discription                  |
+|              | -SLA: see above "metrics" discription                        |
+|              |                                                              |
+|              | 2)POD file: pod.yaml                                         |
+|              | The POD configuration should record on pod.yaml first.       |
+|              | the "host" item in this test case will use the node name in  |
+|              | the pod.yaml.                                                |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | start monitors:                                              |
+|              | each monitor will run with independently process             |
+|              |                                                              |
+|              | Result: The monitor info will be collected.                  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 2        | do attacker: connect the host through SSH, and then execute  |
+|              | the turnoff network interface script with param value        |
+|              | specified by  "interface".                                   |
+|              |                                                              |
+|              | Result: Network interfaces will be turned down.              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 3        | stop monitors after a period of time specified by            |
+|              | "waiting_time"                                               |
+|              |                                                              |
+|              | Result: The monitor info will be aggregated.                 |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 4        | verify the SLA                                               |
+|              |                                                              |
+|              | Result: The test case is passed or not.                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|post-action   | It is the action when the test cases exist. It turns up the  |
+|              | network interface of the control node if it is not turned    |
+|              | up.                                                          |
++--------------+--------------------------------------------------------------+
+|test verdict  | Fails only if SLA is not passed, or if there is a test case  |
+|              | execution problem.                                           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/docs/userguide/opnfv_yardstick_tc051.rst b/docs/userguide/opnfv_yardstick_tc051.rst
new file mode 100644 (file)
index 0000000..3402ccd
--- /dev/null
@@ -0,0 +1,117 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Yin Kanglin and others.
+.. 14_ykl@tongji.edu.cn
+
+*************************************
+Yardstick Test Case Description TC051
+*************************************
+
++-----------------------------------------------------------------------------+
+|OpenStack Controller Node CPU Overload High Availability                     |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC051: OpenStack Controller Node CPU         |
+|              | Overload High Availability                                   |
++--------------+--------------------------------------------------------------+
+|test purpose  | This test case will verify the high availability of control  |
+|              | node. When the CPU usage of a specified controller node is   |
+|              | stressed to 100%, which breaks down the Openstack services   |
+|              | on this node. These Openstack service should able to be      |
+|              | accessed by other controller nodes, and the services on      |
+|              | failed controller node should be isolated.                   |
++--------------+--------------------------------------------------------------+
+|test method   | This test case stresses the CPU uasge of a specified control |
+|              | node to 100%, then checks whether all services provided by   |
+|              | the environment are OK with some monitor tools.              |
++--------------+--------------------------------------------------------------+
+|attackers     | In this test case, an attacker called "stress-cpu" is        |
+|              | needed. This attacker includes two parameters:               |
+|              | 1) fault_type: which is used for finding the attacker's      |
+|              | scripts. It should be always set to "stress-cpu" in          |
+|              | this test case.                                              |
+|              | 2) host: which is the name of a control node being attacked. |
+|              | e.g.                                                         |
+|              | -fault_type: "stress-cpu"                                    |
+|              | -host: node1                                                 |
++--------------+--------------------------------------------------------------+
+|monitors      | In this test case, the monitor named "openstack-cmd" is      |
+|              | needed. The monitor needs needs two parameters:              |
+|              | 1) monitor_type: which is used for finding the monitor class |
+|              | and related scritps. It should be always set to              |
+|              | "openstack-cmd" for this monitor.                            |
+|              | 2) command_name: which is the command name used for request  |
+|              |                                                              |
+|              | There are four instance of the "openstack-cmd" monitor:      |
+|              | monitor1:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "nova image-list"                             |
+|              | monitor2:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "neutron router-list"                         |
+|              | monitor3:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "heat stack-list"                             |
+|              | monitor4:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "cinder list"                                 |
++--------------+--------------------------------------------------------------+
+|metrics       | In this test case, there is one metric:                      |
+|              | 1)service_outage_time: which indicates the maximum outage    |
+|              | time (seconds) of the specified Openstack command request.   |
++--------------+--------------------------------------------------------------+
+|test tool     | Developed by the project. Please see folder:                 |
+|              | "yardstick/benchmark/scenarios/availability/ha_tools"        |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | ETSI NFV REL001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | This test case needs two configuration files:                |
+|              | 1) test case file: opnfv_yardstick_tc051.yaml                |
+|              | -Attackers: see above "attackers" discription                |
+|              | -waiting_time: which is the time (seconds) from the process  |
+|              | being killed to stoping monitors the monitors                |
+|              | -Monitors: see above "monitors" discription                  |
+|              | -SLA: see above "metrics" discription                        |
+|              |                                                              |
+|              | 2)POD file: pod.yaml                                         |
+|              | The POD configuration should record on pod.yaml first.       |
+|              | the "host" item in this test case will use the node name in  |
+|              | the pod.yaml.                                                |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | start monitors:                                              |
+|              | each monitor will run with independently process             |
+|              |                                                              |
+|              | Result: The monitor info will be collected.                  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 2        | do attacker: connect the host through SSH, and then execute  |
+|              | the stress cpu script on the host.                           |
+|              |                                                              |
+|              | Result: The CPU usage of the host will be stressed to 100%.  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 3        | stop monitors after a period of time specified by            |
+|              | "waiting_time"                                               |
+|              |                                                              |
+|              | Result: The monitor info will be aggregated.                 |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 4        | verify the SLA                                               |
+|              |                                                              |
+|              | Result: The test case is passed or not.                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|post-action   | It is the action when the test cases exist. It kills the     |
+|              | process that stresses the CPU usage.                         |
++--------------+--------------------------------------------------------------+
+|test verdict  | Fails only if SLA is not passed, or if there is a test case  |
+|              | execution problem.                                           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/docs/userguide/opnfv_yardstick_tc052.rst b/docs/userguide/opnfv_yardstick_tc052.rst
new file mode 100644 (file)
index 0000000..9514b68
--- /dev/null
@@ -0,0 +1,141 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Yin Kanglin and others.
+.. 14_ykl@tongji.edu.cn
+
+*************************************
+Yardstick Test Case Description TC052
+*************************************
+
++-----------------------------------------------------------------------------+
+|OpenStack Controller Node Disk I/O Block High Availability                   |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC052: OpenStack Controller Node Disk I/O    |
+|              | Block High Availability                                      |
++--------------+--------------------------------------------------------------+
+|test purpose  | This test case will verify the high availability of control  |
+|              | node. When the disk I/O of a specified disk is blocked,      |
+|              | which breaks down the Openstack services on this node. Read  |
+|              | and write services should still be accessed by other         |
+|              | controller nodes, and the services on failed controller node |
+|              | should be isolated.                                          |
++--------------+--------------------------------------------------------------+
+|test method   | This test case blocks the disk I/O of a specified control    |
+|              | node, then checks whether the services that need to read or  |
+|              | wirte the disk of the control node are OK with some monitor  |
+|              | tools.                                                       |
++--------------+--------------------------------------------------------------+
+|attackers     | In this test case, an attacker called "disk-block" is        |
+|              | needed. This attacker includes two parameters:               |
+|              | 1) fault_type: which is used for finding the attacker's      |
+|              | scripts. It should be always set to "disk-block" in this     |
+|              | test case.                                                   |
+|              | 2) host: which is the name of a control node being attacked. |
+|              | e.g.                                                         |
+|              | -fault_type: "disk-block"                                    |
+|              | -host: node1                                                 |
++--------------+--------------------------------------------------------------+
+|monitors      | In this test case, two kinds of monitor are needed:          |
+|              | 1. the "openstack-cmd" monitor constantly request a specific |
+|              | Openstack command, which needs two parameters:               |
+|              | 1) monitor_type: which is used for finding the monitor class |
+|              | and related scripts. It should be always set to              |
+|              | "openstack-cmd" for this monitor.                            |
+|              | 2) command_name: which is the command name used for request. |
+|              |                                                              |
+|              | e.g.                                                         |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "nova flavor-list"                            |
+|              |                                                              |
+|              | 2. the second monitor verifies the read and write function   |
+|              | by a "operation" and a "result checker".                     |
+|              | the "operation" have two parameters:                         |
+|              | 1) operation_type: which is used for finding the operation   |
+|              | class and related scripts.                                   |
+|              | 2) action_parameter: parameters for the operation.           |
+|              | the "result checker" have three parameters:                  |
+|              | 1) checker_type: which is used for finding the reuslt        |
+|              | checker class and realted scripts.                           |
+|              | 2) expectedValue: the expected value for the output of the   |
+|              | checker script.                                              |
+|              | 3) condition: whether the expected value is in the output of |
+|              | checker script or is totally same with the output.           |
+|              |                                                              |
+|              | In this case, the "operation" adds a flavor and the "result  |
+|              | checker" checks whether ths flavor is created. Their         |
+|              | parameters show as follows:                                  |
+|              | operation:                                                   |
+|              | -operation_type: "nova-create-flavor"                        |
+|              | -action_parameter:                                           |
+|              |    flavorconfig: "test-001 test-001 100 1 1"                 |
+|              | result checker:                                              |
+|              | -checker_type: "check-flavor"                                |
+|              | -expectedValue: "test-001"                                   |
+|              | -condition: "in"                                             |
++--------------+--------------------------------------------------------------+
+|metrics       | In this test case, there is one metric:                      |
+|              | 1)service_outage_time: which indicates the maximum outage    |
+|              | time (seconds) of the specified Openstack command request.   |
++--------------+--------------------------------------------------------------+
+|test tool     | Developed by the project. Please see folder:                 |
+|              | "yardstick/benchmark/scenarios/availability/ha_tools"        |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | ETSI NFV REL001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | This test case needs two configuration files:                |
+|              | 1) test case file: opnfv_yardstick_tc052.yaml                |
+|              | -Attackers: see above "attackers" discription                |
+|              | -waiting_time: which is the time (seconds) from the process  |
+|              | being killed to stoping monitors the monitors                |
+|              | -Monitors: see above "monitors" discription                  |
+|              | -SLA: see above "metrics" discription                        |
+|              |                                                              |
+|              | 2)POD file: pod.yaml                                         |
+|              | The POD configuration should record on pod.yaml first.       |
+|              | the "host" item in this test case will use the node name in  |
+|              | the pod.yaml.                                                |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | do attacker: connect the host through SSH, and then execute  |
+|              | the block disk I/O script on the host.                       |
+|              |                                                              |
+|              | Result: The disk I/O of the host will be blocked             |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 2        | start monitors:                                              |
+|              | each monitor will run with independently process             |
+|              |                                                              |
+|              | Result: The monitor info will be collected.                  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 3        | do operation: add a flavor                                   |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 4        | do result checker: check whether the falvor is created       |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 5        | stop monitors after a period of time specified by            |
+|              | "waiting_time"                                               |
+|              |                                                              |
+|              | Result: The monitor info will be aggregated.                 |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 6        | verify the SLA                                               |
+|              |                                                              |
+|              | Result: The test case is passed or not.                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|post-action   | It is the action when the test cases exist. It excutes the   |
+|              | release disk I/O script to release the blocked I/O.          |
++--------------+--------------------------------------------------------------+
+|test verdict  | Fails if monnitor SLA is not passed or the result checker is |
+|              | not passed, or if there is a test case execution problem.    |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/docs/userguide/opnfv_yardstick_tc053.rst b/docs/userguide/opnfv_yardstick_tc053.rst
new file mode 100644 (file)
index 0000000..8808d12
--- /dev/null
@@ -0,0 +1,142 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Yin Kanglin and others.
+.. 14_ykl@tongji.edu.cn
+
+*************************************
+Yardstick Test Case Description TC053
+*************************************
+
++-----------------------------------------------------------------------------+
+|OpenStack Controller Load Balance Service High Availability                  |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC053: OpenStack Controller Load Balance     |
+|              | Service High Availability-                                   |
++--------------+--------------------------------------------------------------+
+|test purpose  | This test case will verify the high availability of the      |
+|              | load balance service(current is HAProxy) that supports       |
+|              | OpenStack on controller node. When the load balance service  |
+|              | of a specified controller node is killed, whether other load |
+|              | balancers on other controller nodes will work, and whether   |
+|              | the controller node will restart the load balancer are       |
+|              | checked.                                                     |
++--------------+--------------------------------------------------------------+
+|test method   | This test case kills the processes of load balance service   |
+|              | on a selected control node, then checks whether the request  |
+|              | of the related Openstack command is OK and the killed        |
+|              | processes are recovered.                                     |
++--------------+--------------------------------------------------------------+
+|attackers     | In this test case, an attacker called "kill-process" is      |
+|              | needed. This attacker includes three parameters:             |
+|              | 1) fault_type: which is used for finding the attacker's      |
+|              | scripts. It should be always set to "kill-process" in this   |
+|              | test case.                                                   |
+|              | 2) process_name: which is the process name of the specified  |
+|              | OpenStack service. If there are multiple processes use the   |
+|              | same name on the host, all of them are killed by this        |
+|              | attacker.                                                    |
+|              | In this case. This parameter should always set to "swift-    |
+|              | proxy".                                                      |
+|              | 3) host: which is the name of a control node being attacked. |
+|              |                                                              |
+|              | e.g.                                                         |
+|              | -fault_type: "kill-process"                                  |
+|              | -process_name: "haproxy"                                     |
+|              | -host: node1                                                 |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|monitors      | In this test case, two kinds of monitor are needed:          |
+|              | 1. the "openstack-cmd" monitor constantly request a specific |
+|              | Openstack command, which needs two parameters:               |
+|              | 1) monitor_type: which is used for finding the monitor class |
+|              | and related scritps. It should be always set to              |
+|              | "openstack-cmd" for this monitor.                            |
+|              | 2) command_name: which is the command name used for request. |
+|              |                                                              |
+|              | 2. the "process" monitor check whether a process is running  |
+|              | on a specific node, which needs three parameters:            |
+|              | 1) monitor_type: which used for finding the monitor class    |
+|              | and related scripts. It should be always set to "process"    |
+|              | for this monitor.                                            |
+|              | 2) process_name: which is the process name for monitor       |
+|              | 3) host: which is the name of the node runing the process    |
+|              | In this case, the command_name of monitor1 should be         |
+|              | services that is supported by load balancer and the process- |
+|              | name of monitor2 should be "haproxy", for example:           |
+|              |                                                              |
+|              | e.g.                                                         |
+|              | monitor1:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "nova image-list"                             |
+|              | monitor2:                                                    |
+|              | -monitor_type: "process"                                     |
+|              | -process_name: "haproxy"                                     |
+|              | -host: node1                                                 |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metrics       | In this test case, there are two metrics:                    |
+|              | 1)service_outage_time: which indicates the maximum outage    |
+|              | time (seconds) of the specified Openstack command request.   |
+|              | 2)process_recover_time: which indicates the maximun time     |
+|              | (seconds) from the process being killed to recovered         |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test tool     | Developed by the project. Please see folder:                 |
+|              | "yardstick/benchmark/scenarios/availability/ha_tools"        |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | ETSI NFV REL001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | This test case needs two configuration files:                |
+|              | 1) test case file: opnfv_yardstick_tc053.yaml                |
+|              | -Attackers: see above "attackers" discription                |
+|              | -waiting_time: which is the time (seconds) from the process  |
+|              | being killed to stoping monitors the monitors                |
+|              | -Monitors: see above "monitors" discription                  |
+|              | -SLA: see above "metrics" discription                        |
+|              |                                                              |
+|              | 2)POD file: pod.yaml                                         |
+|              | The POD configuration should record on pod.yaml first.       |
+|              | the "host" item in this test case will use the node name in  |
+|              | the pod.yaml.                                                |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | start monitors:                                              |
+|              | each monitor will run with independently process             |
+|              |                                                              |
+|              | Result: The monitor info will be collected.                  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 2        | do attacker: connect the host through SSH, and then execute  |
+|              | the kill process script with param value specified by        |
+|              | "process_name"                                               |
+|              |                                                              |
+|              | Result: Process will be killed.                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 3        | stop monitors after a period of time specified by            |
+|              | "waiting_time"                                               |
+|              |                                                              |
+|              | Result: The monitor info will be aggregated.                 |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 4        | verify the SLA                                               |
+|              |                                                              |
+|              | Result: The test case is passed or not.                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|post-action   | It is the action when the test cases exist. It will check    |
+|              | the status of the specified process on the host, and restart |
+|              | the process if it is not running for next test cases.        |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test verdict  | Fails only if SLA is not passed, or if there is a test case  |
+|              | execution problem.                                           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/docs/userguide/opnfv_yardstick_tc054.rst b/docs/userguide/opnfv_yardstick_tc054.rst
new file mode 100644 (file)
index 0000000..7f92be2
--- /dev/null
@@ -0,0 +1,125 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Yin Kanglin and others.
+.. 14_ykl@tongji.edu.cn
+
+*************************************
+Yardstick Test Case Description TC054
+*************************************
+
++-----------------------------------------------------------------------------+
+|OpenStack Virtual IP High Availability                                       |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC054: OpenStack Virtual IP High             |
+|              | Availability                                                 |
++--------------+--------------------------------------------------------------+
+|test purpose  | This test case will verify the high availability for virtual |
+|              | ip in the environment. When master node of virtual ip is     |
+|              | abnormally shutdown, connection to virtual ip and            |
+|              | the services binded to the virtual IP it should be OK.       |
++--------------+--------------------------------------------------------------+
+|test method   | This test case shutdowns the virtual IP master node with     |
+|              | some fault injection tools, then checks whether virtual ips  |
+|              | can be pinged and services binded to virtual ip are OK with  |
+|              | some monitor tools.                                          |
++--------------+--------------------------------------------------------------+
+|attackers     | In this test case, an attacker called "control-shutdown" is  |
+|              | needed. This attacker includes two parameters:               |
+|              | 1) fault_type: which is used for finding the attacker's      |
+|              | scripts. It should be always set to "control-shutdown" in    |
+|              | this test case.                                              |
+|              | 2) host: which is the name of a control node being attacked. |
+|              |                                                              |
+|              | In this case the host should be the virtual ip master node,  |
+|              | that means the host ip is the virtual ip, for exapmle:       |
+|              | -fault_type: "control-shutdown"                              |
+|              | -host: node1(the VIP Master node)                            |
++--------------+--------------------------------------------------------------+
+|monitors      | In this test case, two kinds of monitor are needed:          |
+|              | 1. the "ip_status" monitor that pings a specific ip to check |
+|              | the connectivity of this ip, which needs two parameters:     |
+|              | 1) monitor_type: which is used for finding the monitor class |
+|              | and related scripts. It should be always set to "ip_status"  |
+|              | for this monitor.                                            |
+|              | 2) ip_address: The ip to be pinged. In this case, ip_address |
+|              | should be the virtual IP.                                    |
+|              |                                                              |
+|              | 2. the "openstack-cmd" monitor constantly request a specific |
+|              | Openstack command, which needs two parameters:               |
+|              | 1) monitor_type: which is used for finding the monitor class |
+|              | and related scripts. It should be always set to              |
+|              | "openstack-cmd" for this monitor.                            |
+|              | 2) command_name: which is the command name used for request. |
+|              |                                                              |
+|              | e.g.                                                         |
+|              | monitor1:                                                    |
+|              | -monitor_type: "ip_status"                                   |
+|              | -host: 192.168.0.2                                           |
+|              | monitor2:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -command_name: "nova image-list"                             |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metrics       | In this test case, there are two metrics:                    |
+|              | 1) ping_outage_time: which-indicates the maximum outage time |
+|              | to ping the specified host.                                  |
+|              | 2)service_outage_time: which indicates the maximum outage    |
+|              | time (seconds) of the specified Openstack command request.   |
++--------------+--------------------------------------------------------------+
+|test tool     | Developed by the project. Please see folder:                 |
+|              | "yardstick/benchmark/scenarios/availability/ha_tools"        |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | ETSI NFV REL001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | This test case needs two configuration files:                |
+|              | 1) test case file: opnfv_yardstick_tc054.yaml                |
+|              | -Attackers: see above "attackers" discription                |
+|              | -waiting_time: which is the time (seconds) from the process  |
+|              | being killed to stoping monitors the monitors                |
+|              | -Monitors: see above "monitors" discription                  |
+|              | -SLA: see above "metrics" discription                        |
+|              |                                                              |
+|              | 2)POD file: pod.yaml                                         |
+|              | The POD configuration should record on pod.yaml first.       |
+|              | the "host" item in this test case will use the node name in  |
+|              | the pod.yaml.                                                |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | start monitors:                                              |
+|              | each monitor will run with independently process             |
+|              |                                                              |
+|              | Result: The monitor info will be collected.                  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 2        | do attacker: connect the host through SSH, and then execute  |
+|              | the shutdown script on the VIP master node.                  |
+|              |                                                              |
+|              | Result: VIP master node will be shutdown                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 3        | stop monitors after a period of time specified by            |
+|              | "waiting_time"                                               |
+|              |                                                              |
+|              | Result: The monitor info will be aggregated.                 |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 4        | verify the SLA                                               |
+|              |                                                              |
+|              | Result: The test case is passed or not.                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|post-action   | It is the action when the test cases exist.  It restarts the |
+|              | original VIP master node if it is not restarted.             |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test verdict  | Fails only if SLA is not passed, or if there is a test case  |
+|              | execution problem.                                           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/docs/userguide/opnfv_yardstick_tc061.rst b/docs/userguide/opnfv_yardstick_tc061.rst
new file mode 100644 (file)
index 0000000..1d42441
--- /dev/null
@@ -0,0 +1,88 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Huawei Technologies Co.,Ltd and others.
+
+*************************************
+Yardstick Test Case Description TC061
+*************************************
+
+.. _man-pages: http://linux.die.net/man/1/sar
+
++-----------------------------------------------------------------------------+
+|Network Utilization                                                          |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC061_Network Utilization                    |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metric        | Network utilization                                          |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test purpose  | To evaluate the IaaS network capability with regards to      |
+|              | network utilization, including Total number of packets       |
+|              | received per second, Total number of packets transmitted per |
+|              | second, Total number of kilobytes received per second, Total |
+|              | number of kilobytes transmitted per second, Number of        |
+|              | compressed packets received per second (for cslip etc.),     |
+|              | Number of compressed packets transmitted per second, Number  |
+|              | of multicast packets received per second, Utilization        |
+|              | percentage of the network interface.                         |
+|              | This test case should be run in parallel to other Yardstick  |
+|              | test cases and not run as a stand-alone test case.           |
+|              | Measure the network usage statistics from the network devices|
+|              | Average, minimum and maximun values are obtained.            |
+|              | The purpose is also to be able to spot trends.               |
+|              | Test results, graphs and similar shall be stored for         |
+|              | comparison reasons and product evolution understanding       |
+|              | between different OPNFV versions and/or configurations.      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | File: netutilization.yaml (in the 'samples' directory)       |
+|              |                                                              |
+|              | * interval: 1 - repeat, pausing every 1 seconds in-between.  |
+|              | * count: 1 - display statistics 1 times, then exit.          |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test tool     | sar                                                          |
+|              |                                                              |
+|              | The sar command writes to standard output the contents of    |
+|              | selected cumulative activity counters in the operating       |
+|              | system.                                                      |
+|              | sar is normally part of a Linux distribution, hence it       |
+|              | doesn't needs to be installed.                               |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | man-pages_                                                   |
+|              |                                                              |
+|              | ETSI-NFV-TST001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|applicability | Test can be configured with different:                       |
+|              |                                                              |
+|              |  * interval;                                                 |
+|              |  * count;                                                    |
+|              |  * runner Iteration and intervals.                           |
+|              |                                                              |
+|              | There are default values for each above-mentioned option.    |
+|              | Run in background with other test cases.                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|pre-test      | The test case image needs to be installed into Glance        |
+|conditions    | with sar included in the image.                              |
+|              |                                                              |
+|              | No POD specific requirements have been identified.           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result.                             |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | The host is installed as client. The related TC, or TCs, is  |
+|              | invoked and sar logs are produced and stored.                |
+|              |                                                              |
+|              | Result: logs are stored.                                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test verdict  | None. Network utilization results are fetched and stored.    |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/docs/userguide/opnfv_yardstick_tc063.rst b/docs/userguide/opnfv_yardstick_tc063.rst
new file mode 100644 (file)
index 0000000..a77653a
--- /dev/null
@@ -0,0 +1,81 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Huawei Technologies Co.,Ltd and others.
+
+*************************************
+Yardstick Test Case Description TC063
+*************************************
+
+.. _iostat: http://linux.die.net/man/1/iostat
+.. _fdisk: http://www.tldp.org/HOWTO/Partition/fdisk_partitioning.html
+
++-----------------------------------------------------------------------------+
+|Storage Capacity                                                             |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC063_Storage Capacity                       |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metric        | Storage/disk size, block size                                |
+|              | Disk Utilization                                             |
++--------------+--------------------------------------------------------------+
+|test purpose  | This test case will check the parameters which could decide  |
+|              | several models and each model has its specified task to      |
+|              | measure. The test purposes are to measure disk size, block   |
+|              | size and disk utilization. With the test results, we could   |
+|              | evaluate the storage capacity of the host.                   |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | file: opnfv_yardstick_tc063.yaml                             |
+|              |                                                              |
+|              |* test_type: "disk_size"                                      |
+|              |* runner:                                                     |
+|              |    type: Iteration                                           |
+|              |    iterations: 1 - test is run 1 time iteratively.           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test tool     | fdisk                                                        |
+|              | A command-line utility that provides disk partitioning       |
+|              | functions                                                    |
+|              |                                                              |
+|              | iostat                                                       |
+|              | This is a computer system monitor tool used to collect and   |
+|              | show operating system storage input and output statistics.   |
++--------------+--------------------------------------------------------------+
+|references    | iostat_                                                      |
+|              | fdisk_                                                       |
+|              |                                                              |
+|              | ETSI-NFV-TST001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|applicability | Test can be configured with different:                       |
+|              |                                                              |
+|              |  * test_type: "disk size", "block size", "disk utilization"  |
+|              |  * interval: 1 - how ofter to stat disk utilization          |
+|              |       type: int                                              |
+|              |       unit: seconds                                          |
+|              |  * count: 15 - how many times to stat disk utilization       |
+|              |     type: int                                                |
+|              |     unit: na                                                 |
+|              | There are default values for each above-mentioned option.    |
+|              | Run in background with other test cases.                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|pre-test      | The test case image needs to be installed into Glance        |
+|conditions    |                                                              |
+|              | No POD specific requirements have been identified.           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | Output the specific storage capacity of disk information as  |
+|              | the sequence into file.                                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | The pod is available and the hosts are installed. Node5 is   |
+|              | used and logs are produced and stored.                       |
+|              |                                                              |
+|              | Result: Logs are stored.                                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test verdict  | None.                                                        |
++--------------+--------------------------------------------------------------+
index 51807e2..af0e64f 100644 (file)
@@ -9,6 +9,9 @@ Yardstick Test Case Description TC069
 
 .. _RAMspeed: http://alasir.com/software/ramspeed/
 
+.. table::
+    :class: longtable
+
 +-----------------------------------------------------------------------------+
 |Memory Bandwidth                                                             |
 |                                                                             |
@@ -25,9 +28,9 @@ Yardstick Test Case Description TC069
 |              | while reading and writing certain blocks of data (starting   |
 |              | from 1Kb and further in power of 2) continuously through ALU |
 |              | and FPU respectively.                                        |
-|              | Measure different aspects of memory performance via synthetic|
-|              | simulations. Each simulation consists of four performances   |
-|              | (Copy, Scale, Add, Triad).                                   |
+|              | Measure different aspects of memory performance via          |
+|              | synthetic simulations. Each simulation consists of four      |
+|              | performances (Copy, Scale, Add, Triad).                      |
 |              | Test results, graphs and similar shall be stored for         |
 |              | comparison reasons and product evolution understanding       |
 |              | between different OPNFV versions and/or configurations.      |
@@ -37,12 +40,14 @@ Yardstick Test Case Description TC069
 |              |                                                              |
 |              | * SLA (optional): 7000 (MBps) min_bandwidth: The minimum     |
 |              |   amount of memory bandwidth that is accepted.               |
-|              | * type_id: 1 - runs a specified benchmark (by an ID number): |
+|              | * type_id: 1 - runs a specified benchmark                    |
+|              |   (by an ID number):                                         |
 |              |     1 -- INTmark [writing]          4 -- FLOATmark [writing] |
 |              |     2 -- INTmark [reading]          5 -- FLOATmark [reading] |
 |              |     3 -- INTmem                     6 -- FLOATmem            |
-|              | * block_size: 64 Megabytes - the maximum block size per array|
-|              | * load: 32 Gigabytes - the amount of data load per pass      |
+|              | * block_size: 64 Megabytes - the maximum block               |
+|              |               size per array.                                |
+|              | * load: 32 Gigabytes - the amount of data load per pass.     |
 |              | * iterations: 5 - test is run 5   times iteratively.         |
 |              | * interval: 1 - there is 1 second delay between each         |
 |              |   iteration.                                                 |
@@ -52,8 +57,8 @@ Yardstick Test Case Description TC069
 |              |                                                              |
 |              | RAMspeed is a free open source command line utility to       |
 |              | measure cache and memory performance of computer systems.    |
-|              | RAMspeed is not always part of a Linux distribution, hence it|
-|              | needs to be installed in the test image.                     |
+|              | RAMspeed is not always part of a Linux distribution, hence   |
+|              | it needs to be installed in the test image.                  |
 |              |                                                              |
 +--------------+--------------------------------------------------------------+
 |references    | RAMspeed_                                                    |
@@ -83,8 +88,8 @@ Yardstick Test Case Description TC069
 |test sequence | description and expected result                              |
 |              |                                                              |
 +--------------+--------------------------------------------------------------+
-|step 1        | The host is installed as client. RAMspeed is invoked and logs|
-|              | are produced and stored.                                     |
+|step 1        | The host is installed as client. RAMspeed is invoked and     |
+|              | logs are produced and stored.                                |
 |              |                                                              |
 |              | Result: logs are stored.                                     |
 |              |                                                              |
diff --git a/docs/userguide/opnfv_yardstick_tc073.rst b/docs/userguide/opnfv_yardstick_tc073.rst
new file mode 100644 (file)
index 0000000..a6499ea
--- /dev/null
@@ -0,0 +1,81 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Huawei Technologies Co.,Ltd and others.
+
+*************************************
+Yardstick Test Case Description TC073
+*************************************
+
+.. _netperf: http://www.netperf.org/netperf/training/Netperf.html
+
++-----------------------------------------------------------------------------+
+|Throughput per NFVI node test                                                |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC073_Network latency and throughput between |
+|              | nodes                                                        |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metric        | Network latency and throughput                               |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test purpose  | To evaluate the IaaS network performance with regards to     |
+|              | flows and throughput, such as if and how different amounts   |
+|              | of packet sizes and flows matter for the throughput between  |
+|              | nodes in one pod.                                            |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | file: opnfv_yardstick_tc073.yaml                             |
+|              |                                                              |
+|              | Packet size: default 1024 bytes.                             |
+|              |                                                              |
+|              | Test length: default 20 seconds.                             |
+|              |                                                              |
+|              | The client and server are distributed on different nodes.    |
+|              |                                                              |
+|              | For SLA max_mean_latency is set to 100.                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test tool     | netperf                                                      |
+|              | Netperf is a software application that provides network      |
+|              | bandwidth testing between two hosts on a network. It         |
+|              | supports Unix domain sockets, TCP, SCTP, DLPI and UDP via    |
+|              | BSD Sockets. Netperf provides a number of predefined tests   |
+|              | e.g. to measure bulk (unidirectional) data transfer or       |
+|              | request response performance.                                |
+|              | (netperf is not always part of a Linux distribution, hence   |
+|              | it needs to be installed.)                                   |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | netperf Man pages                                            |
+|              | ETSI-NFV-TST001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|applicability | Test can be configured with different packet sizes and       |
+|              | test duration. Default values exist.                         |
+|              |                                                              |
+|              | SLA (optional): max_mean_latency                             |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|pre-test      | The POD can be reached by external ip and logged on via ssh  |
+|conditions    |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | Install netperf tool on each specified node, one is as the   |
+|              | server, and the other as the client.                         |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 2        | Log on to the client node and use the netperf command to     |
+|              | execute the network performance test                         |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 3        | The throughput results stored.                               |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test verdict  | Fails only if SLA is not passed, or if there is a test case  |
+|              | execution problem.                                           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/docs/userguide/opnfv_yardstick_tc074.rst b/docs/userguide/opnfv_yardstick_tc074.rst
new file mode 100644 (file)
index 0000000..c938f5d
--- /dev/null
@@ -0,0 +1,137 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Huawei Technologies Co.,Ltd and others.
+
+*************************************
+Yardstick Test Case Description TC074
+*************************************
+
+.. Storperf: https://wiki.opnfv.org/display/storperf/Storperf
+
++-----------------------------------------------------------------------------+
+|Storperf                                                                     |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC074_Storperf                               |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metric        | Storage performance                                          |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test purpose  | Storperf integration with yardstick. The purpose of StorPerf |
+|              | is to provide a tool to measure block and object storage     |
+|              | performance in an NFVI. When complemented with a             |
+|              | characterization of typical VF storage performance           |
+|              | requirements, it can provide pass/fail thresholds for test,  |
+|              | staging, and production NFVI environments.                   |
+|              |                                                              |
+|              | The benchmarks developed for block and object storage will   |
+|              | be sufficiently varied to provide a good preview of expected |
+|              | storage performance behavior for any type of VNF workload.   |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | file: opnfv_yardstick_tc074.yaml                             |
+|              |                                                              |
+|              | * agent_count: 1 - the number of VMs to be created           |
+|              | * agent_image: "Ubuntu-14.04" - image used for creating VMs  |
+|              | * public_network: "ext-net" - name of public network         |
+|              | * volume_size: 2 - cinder volume size                        |
+|              | * block_sizes: "4096" - data block size                      |
+|              | * queue_depths: "4"                                          |
+|              | * StorPerf_ip: "192.168.200.2"                               |
+|              | * query_interval: 10 - state query interval                  |
+|              | * timeout: 600 - maximum allowed job time                    |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test tool     | Storperf                                                     |
+|              |                                                              |
+|              | StorPerf is a tool to measure block and object storage       |
+|              | performance in an NFVI.                                      |
+|              |                                                              |
+|              | StorPerf is delivered as a Docker container from             |
+|              | https://hub.docker.com/r/opnfv/storperf/tags/.               |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | Storperf_                                                    |
+|              |                                                              |
+|              | ETSI-NFV-TST001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|applicability | Test can be configured with different:                       |
+|              |                                                              |
+|              | * agent_count                                                |
+|              | * volume_size                                                |
+|              | * block_sizes                                                |
+|              | * queue_depths                                               |
+|              | * query_interval                                             |
+|              | * timeout                                                    |
+|              | * target=[device or path]                                    |
+|              |   The path to either an attached storage device              |
+|              |   (/dev/vdb, etc) or a directory path  (/opt/storperf) that  |
+|              |   will be used to execute the performance test. In the case  |
+|              |   of a device, the entire device will be used. If not        |
+|              |   specified, the current directory will be used.             |
+|              | * workload=[workload module]                                 |
+|              |   If not specified, the default is to run all workloads. The |
+|              |   workload types are:                                        |
+|              |      - rs: 100% Read, sequential data                        |
+|              |      - ws: 100% Write, sequential data                       |
+|              |      - rr: 100% Read, random access                          |
+|              |      - wr: 100% Write, random access                         |
+|              |      - rw: 70% Read / 30% write, random access               |
+|              | * nossd: Do not perform SSD style preconditioning.           |
+|              | * nowarm:  Do not perform a warmup prior to                  |
+|              |   measurements.                                              |
+|              | * report= [job_id]                                           |
+|              |   Query the status of the supplied job_id and report on      |
+|              |   metrics. If a workload is supplied, will report on only    |
+|              |   that subset.                                               |
+|              |                                                              |
+|              |   There are default values for each above-mentioned option.  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|pre-test      | If you do not have an Ubuntu 14.04 image in Glance, you will |
+|conditions    | need to add one. A key pair for launching agents is also     |
+|              | required.                                                    |
+|              |                                                              |
+|              | Storperf is required to be installed in the environment.     |
+|              | There are two possible methods for Storperf installation:    |
+|              |     Run container on Jump Host                               |
+|              |     Run container in a VM                                    |
+|              |                                                              |
+|              | Running StorPerf on Jump Host                                |
+|              | Requirements:                                                |
+|              |     - Docker must be installed                               |
+|              |     - Jump Host must have access to the OpenStack Controller |
+|              |       API                                                    |
+|              |     - Jump Host must have internet connectivity for          |
+|              |       downloading docker image                               |
+|              |     - Enough floating IPs must be available to match your    |
+|              |       agent count                                            |
+|              |                                                              |
+|              | Running StorPerf in a VM                                     |
+|              | Requirements:                                                |
+|              |     - VM has docker installed                                |
+|              |     - VM has OpenStack Controller credentials and can        |
+|              |       communicate with the Controller API                    |
+|              |     - VM has internet connectivity for downloading the       |
+|              |       docker image                                           |
+|              |     - Enough floating IPs must be available to match your    |
+|              |       agent count                                            |
+|              |                                                              |
+|              | No POD specific requirements have been identified.           |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | The Storperf is installed and Ubuntu 14.04 image is stored   |
+|              | in glance. TC is invoked and logs are produced and stored.   |
+|              |                                                              |
+|              | Result: Logs are stored.                                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test verdict  | None. Storage performance results are fetched and stored.    |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/docs/userguide/opnfv_yardstick_tc075.rst b/docs/userguide/opnfv_yardstick_tc075.rst
new file mode 100644 (file)
index 0000000..a6ff344
--- /dev/null
@@ -0,0 +1,60 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International
+.. License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) OPNFV, Huawei Technologies Co.,Ltd and others.
+
+*************************************
+Yardstick Test Case Description TC075
+*************************************
+
+
++-----------------------------------------------------------------------------+
+|Network Capacity and Scale Testing                                           |
+|                                                                             |
++--------------+--------------------------------------------------------------+
+|test case id  | OPNFV_YARDSTICK_TC075_Network_Capacity_and_Scale_testing     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|metric        | Number of connections, Number of frames sent/received        |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test purpose  | To evaluate the network capacity and scale with regards to   |
+|              | connections and frmaes.                                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|configuration | file: opnfv_yardstick_tc075.yaml                             |
+|              |                                                              |
+|              | There is no additional configuration to be set for this TC.  |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test tool     | netstar                                                      |
+|              |                                                              |
+|              | Netstat is normally part of any Linux distribution, hence it |
+|              | doesn't need to be installed.                                |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|references    | Netstat man page                                             |
+|              |                                                              |
+|              | ETSI-NFV-TST001                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|applicability | This test case is mainly for evaluating network performance. |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|pre_test      | Each pod node must have netstat included in it.              |
+|conditions    |                                                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test sequence | description and expected result                              |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|step 1        | The pod is available.                                        |
+|              | Netstat is invoked and logs are produced and stored.         |
+|              |                                                              |
+|              | Result: Logs are stored.                                     |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
+|test verdict  | None. Number of connections and frames are fetched and       |
+|              | stored.                                                      |
+|              |                                                              |
++--------------+--------------------------------------------------------------+
diff --git a/etc/yardstick/nodes/zte_pod1.yaml b/etc/yardstick/nodes/zte_pod1.yaml
new file mode 100644 (file)
index 0000000..1782994
--- /dev/null
@@ -0,0 +1,42 @@
+---
+# sample config file about the POD information, including the
+# name/IP/user/ssh key of Bare Metal and Controllers/Computes
+#
+# The options of this config file include:
+# name: the name of this node
+# role: node's role, support role: Master/Controller/Comupte/BareMetal
+# ip: the node's IP address
+# user: the username for login
+# key_filename:the path of the private key file for login
+
+nodes:
+-
+    name: node1
+    role: Controller
+    ip: 10.20.0.20
+    user: root
+    key_filename: /root/.ssh/id_rsa
+-
+    name: node2
+    role: Controller
+    ip: 10.20.0.21
+    user: root
+    key_filename: /root/.ssh/id_rsa
+-
+    name: node3
+    role: Controller
+    ip: 10.20.0.22
+    user: root
+    key_filename: /root/.ssh/id_rsa
+-
+    name: node4
+    role: Compute
+    ip: 10.20.0.23
+    user: root
+    key_filename: /root/.ssh/id_rsa
+-
+    name: node5
+    role: Compute
+    ip: 10.20.0.24
+    user: root
+    key_filename: /root/.ssh/id_rsa
diff --git a/plugin/CI/storperf.yaml b/plugin/CI/storperf.yaml
new file mode 100644 (file)
index 0000000..65ebe51
--- /dev/null
@@ -0,0 +1,13 @@
+---
+# StorPerf plugin configration file for huawei-pod1
+# Used for integration StorPerf into Yardstick as a plugin
+
+schema: "yardstick:plugin:0.1"
+
+plugins:
+  name: storperf
+
+deployment:
+  ip: 192.168.200.1
+  user: root
+  password: root
diff --git a/samples/networkcapacity.yaml b/samples/networkcapacity.yaml
new file mode 100644 (file)
index 0000000..7c62cc2
--- /dev/null
@@ -0,0 +1,21 @@
+---
+# Sample benchmark task config file
+# Measure compute capacity and scale.
+# Including number of cores, number of threads, available memory size and
+# cache size.
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+  type: NetworkCapacity
+  host: node1.LF
+
+  runner:
+    type: Iteration
+    iterations: 1
+
+context:
+  type: Node
+  name: LF
+  file: etc/yardstick/nodes/compass_sclab_virtual/pod.yaml
diff --git a/samples/storagecapacity.yaml b/samples/storagecapacity.yaml
new file mode 100644 (file)
index 0000000..e3b282d
--- /dev/null
@@ -0,0 +1,24 @@
+---
+# Sample benchmark task config file
+# Measure storage capacity and scale.
+# Including number of PVs, volume of disk size,
+# and block size of each device.
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+  type: StorageCapacity
+  options:
+    test_type: "disk_size"
+
+  host: node5.LF
+
+  runner:
+    type: Iteration
+    iterations: 1
+
+context:
+  type: Node
+  name: LF
+  file: etc/yardstick/nodes/compass_sclab_virtual/pod.yaml
diff --git a/samples/storperf.yaml b/samples/storperf.yaml
new file mode 100644 (file)
index 0000000..815ef0d
--- /dev/null
@@ -0,0 +1,31 @@
+---
+# Sample StorPerf benchmark task config file
+# StorPerf is a tool to measure block and object storage performance in an NFVI
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+  type: StorPerf
+  options:
+    agent_count: 1
+    agent_image: "Ubuntu 14.04"
+    public_network: "ext-net"
+    volume_size: 2
+    # target:
+    # deadline:
+    # nossd:
+    # nowarm:
+    block_sizes: "4096"
+    queue_depths: "4"
+    workload: "ws"
+    StorPerf_ip: "192.168.23.2"
+    query_interval: 10
+    timeout: 600
+
+  runner:
+    type: Iteration
+    iterations: 1
+
+context:
+  type: Dummy
index 3503738..a2131cf 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -11,6 +11,7 @@ setup(
             'benchmark/scenarios/availability/*.yaml',
             'benchmark/scenarios/availability/attacker/*.yaml',
             'benchmark/scenarios/availability/ha_tools/*.bash',
+            'benchmark/scenarios/availability/ha_tools/*/*.bash',
             'benchmark/scenarios/availability/attacker/scripts/*.bash',
             'benchmark/scenarios/availability/monitor/*.yaml',
             'benchmark/scenarios/availability/monitor/script_tools/*.bash',
index cc23073..da755d1 100644 (file)
@@ -20,6 +20,8 @@ ENV RELENG_REPO_DIR ${REPOS_DIR}/releng
 
 RUN apt-get update && apt-get install -y \
     wget \
+    expect \
+    curl \
     git \
     sshpass \
     qemu-utils \
@@ -48,5 +50,6 @@ RUN cd ${YARDSTICK_REPO_DIR} && pip install -r tests/ci/requirements.txt
 RUN cd ${YARDSTICK_REPO_DIR} && pip install .
 
 ADD http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img /home/opnfv/images/
+ADD http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img /home/opnfv/images/
 
 COPY ./exec_tests.sh /usr/local/bin/
index 723a04a..d9f8257 100755 (executable)
@@ -55,3 +55,33 @@ export EXTERNAL_NETWORK INSTALLER_TYPE DEPLOY_TYPE NODE_NAME
 
 # Prepare a admin-rc file for StorPerf integration
 $YARDSTICK_REPO_DIR/tests/ci/prepare_storperf_admin-rc.sh
+
+# copy a admin-rc file for StorPerf integration to the deployment location
+if [ "$NODE_NAME" == "huawei-pod1" ]; then
+    bash $YARDSTICK_REPO_DIR/tests/ci/scp_storperf_admin-rc.sh
+fi
+
+# Fetching id_rsa file from jump_server..."
+verify_connectivity() {
+    local ip=$1
+    echo "Verifying connectivity to $ip..."
+    for i in $(seq 0 10); do
+        if ping -c 1 -W 1 $ip > /dev/null; then
+            echo "$ip is reachable!"
+            return 0
+        fi
+        sleep 1
+    done
+    error "Can not talk to $ip."
+}
+
+ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+
+if [ "$INSTALLER_TYPE" == "fuel" ]; then
+    #ip_fuel="10.20.0.2"
+    verify_connectivity $INSTALLER_IP
+    echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
+    sshpass -p r00tme scp 2>/dev/null $ssh_options \
+    root@${INSTALLER_IP}:~/.ssh/id_rsa /root/.ssh/id_rsa &> /dev/null
+fi
+
diff --git a/tests/ci/scp_storperf_admin-rc.sh b/tests/ci/scp_storperf_admin-rc.sh
new file mode 100644 (file)
index 0000000..af2885b
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+sshpass -p root scp 2>/dev/null $ssh_options ~/storperf_admin-rc \
+        root@192.168.200.1:/root/ &> /dev/null
index c831935..eafadf9 100755 (executable)
@@ -42,7 +42,7 @@ EOF
 
 DISPATCHER_TYPE=file
 DISPATCHER_FILE_NAME="/tmp/yardstick.out"
-DISPATCHER_HTTP_TARGET=
+DISPATCHER_HTTP_TARGET="http://testresults.opnfv.org/test/api/v1/results"
 DISPATCHER_INFLUXDB_TARGET=
 
 while getopts "r:i:h" OPTION; do
@@ -80,7 +80,7 @@ cleanup()
         return
     fi
 
-    for image in $(glance image-list | grep -e cirros-0.3.3 -e yardstick-trusty-server | awk '{print $2}'); do
+    for image in $(glance image-list | grep -e cirros-0.3.3 -e yardstick-trusty-server -e Ubuntu-14.04 | awk '{print $2}'); do
         echo "Deleting image $image..."
         glance image-delete $image || true
     done
@@ -121,6 +121,36 @@ install_yardstick()
     pip install .
 }
 
+install_storperf()
+{
+    # Install Storper on huawei-pod1
+    if [ "$NODE_NAME" == "huawei-pod1" ]; then
+        echo
+        echo "========== Installing storperf =========="
+
+        if ! yardstick -d plugin install plugin/CI/storperf.yaml; then
+            echo "Install storperf plugin FAILED";
+            exit 1
+        fi
+
+    fi
+}
+
+remove_storperf()
+{
+    # remove Storper from huawei-pod1
+    if [ "$NODE_NAME" == "huawei-pod1" ]; then
+        echo
+        echo "========== Removing storperf =========="
+
+        if ! yardstick -d plugin remove plugin/CI/storperf.yaml; then
+            echo "Remove storperf plugin FAILED";
+            exit 1
+        fi
+
+    fi
+}
+
 build_yardstick_image()
 {
     echo
@@ -174,6 +204,30 @@ load_cirros_image()
     echo "Cirros image id: $CIRROS_IMAGE_ID"
 }
 
+load_ubuntu_image()
+{
+    echo
+    echo "========== Loading ubuntu cloud image =========="
+
+    local ubuntu_image_file=/home/opnfv/images/trusty-server-cloudimg-amd64-disk1.img
+
+    output=$(glance image-create \
+        --name Ubuntu-14.04 \
+        --disk-format qcow2 \
+        --container-format bare \
+        --file $ubuntu_image_file)
+    echo "$output"
+
+    UBUNTU_IMAGE_ID=$(echo "$output" | grep " id " | awk '{print $(NF-1)}')
+
+    if [ -z "$UBUNTU_IMAGE_ID" ]; then
+        echo 'Failed uploading UBUNTU image to cloud'.
+        exit 1
+    fi
+
+    echo "Ubuntu image id: $UBUNTU_IMAGE_ID"
+}
+
 load_yardstick_image()
 {
     echo
@@ -226,15 +280,17 @@ password = 0pnfv2015
 EOF
 
     local failed=0
+    local start_date
+    local stop_date
 
     if [ ${#SUITE_FILES[@]} -gt 0 ]; then
 
+        start_date=$(date '+%Y-%m-%d %H:%M:%S')
         for suite in ${SUITE_FILES[*]}; do
 
             echo "---------------------------"
             echo "Running test suite: $suite"
             echo "---------------------------"
-
             if ! yardstick task start --suite $suite; then
                  echo "test suite $suite FAILED";
 
@@ -252,16 +308,35 @@ EOF
                     echo "Test result file ${DISPATCHER_FILE_NAME} is not exist"
                 fi
             fi
-
         done
+        stop_date=$(date '+%Y-%m-%d %H:%M:%S')
+
+
+
+        local sceanrio_status="SUCCESS"
 
         if [ $failed -gt 0 ]; then
+            scenario_status="FAILED"
+        fi
+        curl -i -H 'content-type: application/json' -X POST -d \
+            "{\"project_name\": \"yardstick\",
+              \"case_name\": \"scenario_status\",
+              \"pod_name\":\"${NODE_NAME}\",
+              \"installer\":\"${INSTALLER_TYPE}\",
+              \"version\":\"${YARDSTICK_BRANCH}\",
+              \"scenario\":\"${DEPLOY_SCENARIO}\",
+              \"description\": \"yardstick ci scenario status\",
+              \"start_date\":\"${start_date}\",
+              \"stop_date\":\"${stop_date}\",
+              \"details\":\"${sceanrio_status}\"}" \
+              ${DISPATCHER_HTTP_TARGET}
 
+        if [ $failed -gt 0 ]; then
             echo "---------------------------"
             echo "$failed out of ${SUITE_FILES[*]} test suites FAILED"
             echo "---------------------------"
             exit 1
-         fi
+        fi
 
     else
 
@@ -361,9 +436,12 @@ main()
     build_yardstick_image
     load_yardstick_image
     load_cirros_image
+    load_ubuntu_image
     create_nova_flavor
 
+    install_storperf
     run_test
+    remove_storperf
 }
 
 main
index c0cff7d..1942bb5 100644 (file)
@@ -13,7 +13,7 @@ scenarios:
 
   runner:
     type: Duration
-    duration: 600
+    duration: 60
     interval: 10
 
   sla:
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc004.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc004.yaml
deleted file mode 100644 (file)
index 2d10e40..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
----
-# Yardstick TC004 config file
-# Measure cache hit/miss ratio and usage, network throughput and latency.
-# Different amounts of flows are tested with, from 2 up to 1001000.
-# All tests are run 2 times each. First 2 times with the least
-# amount of ports, then 2 times with the next amount of ports,
-# and so on until all packet sizes have been run with.
-#
-# During the measurements cache hit/miss ration, cache usage statistics and
-# network latency are recorded/measured using cachestat and ping, respectively.
-
-schema: "yardstick:task:0.1"
-
-scenarios:
--
-  type: CACHEstat
-  run_in_background: true
-
-  options:
-    interval: 1
-
-  host: demeter.yardstick
--
-  type: CACHEstat
-  run_in_background: true
-
-  options:
-    interval: 1
-
-  host: poseidon.yardstick
--
-  type: Ping
-  run_in_background: true
-
-  options:
-    packetsize: 100
-
-  host: demeter.yardstick
-  target: poseidon.yardstick
-
-  sla:
-    max_rtt: 10
-    action: monitor
-{% for num_ports in [1, 10, 50, 100, 300, 500, 750, 1000] %}
--
-  type: Pktgen
-  options:
-    packetsize: 64
-    number_of_ports: {{num_ports}}
-    duration: 20
-
-  host: demeter.yardstick
-  target: poseidon.yardstick
-
-  runner:
-    type: Iteration
-    iterations: 2
-    interval: 1
-
-  sla:
-    max_ppm: 1000
-    action: monitor
-{% endfor %}
-
-context:
-  name: yardstick
-  image: yardstick-trusty-server
-  flavor: yardstick-flavor
-  user: ubuntu
-
-  placement_groups:
-    pgrp1:
-      policy: "availability"
-
-  servers:
-    demeter:
-      floating_ip: true
-      placement: "pgrp1"
-    poseidon:
-      floating_ip: true
-      placement: "pgrp1"
-
-  networks:
-    test:
-      cidr: '10.0.1.0/24'
index 181d7cd..2e5a4a5 100644 (file)
@@ -16,9 +16,15 @@ scenarios:
     monitors:
     - monitor_type: "openstack-cmd"
       command_name: "nova image-list"
+      monitor_time: 10
+      sla:
+        max_outage_time: 5
     - monitor_type: "process"
       process_name: "nova-api"
       host: node1
+      monitor_time: 20
+      sla:
+        max_recover_time: 20
 
   nodes:
     node1: node1.LF
index ccdcaeb..5441188 100644 (file)
@@ -3,7 +3,7 @@
 # Measure IPV6 network latency using ping6
 
 schema: "yardstick:task:0.1"
-
+{% set pod_info = pod_info or "etc/yardstick/nodes/compass_sclab_physical/pod.yaml" %}
 scenarios:
 -
   type: Ping6
@@ -33,6 +33,6 @@ precondition:
 context:
   type: Node
   name: IPV6
-  file: /home/opnfv/repos/yardstick/etc/yardstick/nodes/compass_sclab_physical/pod.yaml
+  file: {{pod_info}}
 
 
index a47f71a..158f507 100644 (file)
@@ -10,22 +10,21 @@ scenarios:
   options:
     packetsize: 64
     rate: 100
-    duration: 20
 
-  host: demeter.yardstick
-  target: poseidon.yardstick
+  host: demeter.yardstick-TC042
+  target: poseidon.yardstick-TC042
 
   runner:
     type: Iteration
-    iterations: 2
+    iterations: 1
     interval: 1
 
   sla:
-    max_rtt: 1000
+    max_latency: 100
     action: monitor
 
 context:
-  name: yardstick
+  name: yardstick-TC042
   image: yardstick-image-pktgen-ready
   flavor: yardstick-pktgen-dpdk.flavor
   user: ubuntu
index 812d53d..79ad61e 100644 (file)
@@ -21,9 +21,9 @@ scenarios:
     - monitor_type: "process"
       process_name: "neutron-server"
       host: node1
-      monitor_time: 10
+      monitor_time: 20
       sla:
-        max_recover_time: 5
+        max_recover_time: 20
 
   nodes:
     node1: node1.LF
@@ -39,5 +39,5 @@ scenarios:
 context:
   type: Node
   name: LF
-  file: /root/yardstick/etc/yardstick/nodes/fuel_virtual/pod.yaml
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
 
index 867553d..69cef40 100644 (file)
@@ -21,9 +21,9 @@ scenarios:
     - monitor_type: "process"
       process_name: "keystone"
       host: node1
-      monitor_time: 10
+      monitor_time: 20
       sla:
-        max_recover_time: 5
+        max_recover_time: 20
 
   nodes:
     node1: node1.LF
@@ -39,4 +39,4 @@ scenarios:
 context:
   type: Node
   name: LF
-  file: /root/yardstick/etc/yardstick/nodes/fuel_virtual/pod.yaml
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
index 0707dc9..f6019f6 100644 (file)
@@ -21,9 +21,9 @@ scenarios:
     - monitor_type: "process"
       process_name: "glance-api"
       host: node1
-      monitor_time: 10
+      monitor_time: 20
       sla:
-        max_recover_time: 5
+        max_recover_time: 20
 
   nodes:
     node1: node1.LF
@@ -39,4 +39,4 @@ scenarios:
 context:
   type: Node
   name: LF
-  file: /root/yardstick/etc/yardstick/nodes/fuel_virtual/pod.yaml
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
index 525c206..543db97 100644 (file)
@@ -21,9 +21,9 @@ scenarios:
     - monitor_type: "process"
       process_name: "cinder-api"
       host: node1
-      monitor_time: 10
+      monitor_time: 20
       sla:
-        max_recover_time: 5
+        max_recover_time: 20
 
   nodes:
     node1: node1.LF
@@ -39,5 +39,5 @@ scenarios:
 context:
   type: Node
   name: LF
-  file: /root/yardstick/etc/yardstick/nodes/fuel_virtual/pod.yaml
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
 
index da93a46..759867d 100644 (file)
@@ -21,9 +21,9 @@ scenarios:
     - monitor_type: "process"
       process_name: "swift-proxy"
       host: node1
-      monitor_time: 10
+      monitor_time: 20
       sla:
-        max_recover_time: 5
+        max_recover_time: 20
 
   nodes:
     node1: node1.LF
@@ -39,4 +39,4 @@ scenarios:
 context:
   type: Node
   name: LF
-  file: /root/yardstick/etc/yardstick/nodes/fuel_virtual/pod.yaml
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc050.yaml
new file mode 100644 (file)
index 0000000..0b21f88
--- /dev/null
@@ -0,0 +1,139 @@
+---
+# Test case for TC050 :OpenStack Controller Node Network High Availability
+# This test case is written by new scenario-based HA testing framework
+
+schema: "yardstick:task:0.1"
+scenarios:
+  -
+    type: "GeneralHA"
+    options:
+      attackers:
+        -
+          fault_type: "general-attacker"
+          host: node1
+          key: "close-br-public"
+          attack_key: "close-interface"
+          action_parameter:
+            interface: "br-ex"
+          rollback_parameter:
+            interface: "br-ex"
+
+        -
+          fault_type: "general-attacker"
+          host: node1
+          key: "close-br-mgmt"
+          attack_key: "close-interface"
+          action_parameter:
+            interface: "br-mgmt"
+          rollback_parameter:
+            interface: "br-mgmt"
+
+        -
+          fault_type: "general-attacker"
+          host: node1
+          key: "close-br-storage"
+          attack_key: "close-interface"
+          action_parameter:
+            interface: "br-storage"
+          rollback_parameter:
+            interface: "br-storage"
+
+        -
+          fault_type: "general-attacker"
+          host: node1
+          key: "close-br-private"
+          attack_key: "close-interface"
+          action_parameter:
+            interface: "br-mesh"
+          rollback_parameter:
+            interface: "br-mesh"
+
+      monitors:
+        -
+          monitor_type: "openstack-cmd"
+          key: "nova-image-list"
+          command_name: "nova image-list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+        -
+          monitor_type: "openstack-cmd"
+          key: "neutron-router-list"
+          command_name: "neutron router-list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+        -
+          monitor_type: "openstack-cmd"
+          key: "heat-stack-list"
+          command_name: "heat stack-list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+        -
+          monitor_type: "openstack-cmd"
+          key: "cinder-list"
+          command_name: "cinder list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+
+      steps:
+        -
+          actionKey: "close-br-public"
+          actionType: "attacker"
+          index: 1
+
+        -
+          actionKey: "close-br-mgmt"
+          actionType: "attacker"
+          index: 2
+
+        -
+          actionKey: "close-br-storage"
+          actionType: "attacker"
+          index: 3
+
+        -
+          actionKey: "close-br-private"
+          actionType: "attacker"
+          index: 4
+
+        -
+          actionKey: "nova-image-list"
+          actionType: "monitor"
+          index: 5
+
+        -
+          actionKey: "neutron-router-list"
+          actionType: "monitor"
+          index: 6
+
+        -
+          actionKey: "heat-stack-list"
+          actionType: "monitor"
+          index: 7
+
+        -
+          actionKey: "cinder-list"
+          actionType: "monitor"
+          index: 8
+
+
+    nodes:
+      node1: node1.LF
+    runner:
+      type: Duration
+      duration: 1
+    sla:
+      outage_time: 5
+      action: monitor
+
+context:
+  type: Node
+  name: LF
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc051.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc051.yaml
new file mode 100644 (file)
index 0000000..8e2e0c7
--- /dev/null
@@ -0,0 +1,90 @@
+---
+# Test case for TC051 :OpenStack Controller Node CPU Overload High Availability
+# This test case is written by new scenario-based HA testing framework
+
+schema: "yardstick:task:0.1"
+scenarios:
+  -
+    type: "GeneralHA"
+    options:
+      attackers:
+        -
+          fault_type: "general-attacker"
+          host: node1
+          key: "stress-cpu"
+          attack_key: "stress-cpu"
+
+      monitors:
+        -
+          monitor_type: "openstack-cmd"
+          key: "nova-image-list"
+          command_name: "nova image-list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+        -
+          monitor_type: "openstack-cmd"
+          key: "neutron-router-list"
+          command_name: "neutron router-list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+        -
+          monitor_type: "openstack-cmd"
+          key: "heat-stack-list"
+          command_name: "heat stack-list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+        -
+          monitor_type: "openstack-cmd"
+          key: "cinder-list"
+          command_name: "cinder list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+
+      steps:
+        -
+          actionKey: "stress-cpu"
+          actionType: "attacker"
+          index: 1
+
+        -
+          actionKey: "nova-image-list"
+          actionType: "monitor"
+          index: 2
+
+        -
+          actionKey: "neutron-router-list"
+          actionType: "monitor"
+          index: 3
+
+        -
+          actionKey: "heat-stack-list"
+          actionType: "monitor"
+          index: 4
+
+        -
+          actionKey: "cinder-list"
+          actionType: "monitor"
+          index: 5
+
+
+    nodes:
+      node1: node1.LF
+    runner:
+      type: Duration
+      duration: 1
+    sla:
+      outage_time: 5
+      action: monitor
+
+context:
+  type: Node
+  name: LF
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc052.yaml
new file mode 100644 (file)
index 0000000..7143068
--- /dev/null
@@ -0,0 +1,79 @@
+---
+# Test case for TC052 :OpenStack Controller Node Disk I/O Block High Availability
+# This test case is written by new scenario-based HA testing framework
+
+schema: "yardstick:task:0.1"
+scenarios:
+  -
+    type: "GeneralHA"
+    options:
+      attackers:
+        -
+          fault_type: "general-attacker"
+          host: node1
+          key: "block-io"
+          attack_key: "block-io"
+
+      monitors:
+        -
+          monitor_type: "openstack-cmd"
+          key: "nova-flavor-list"
+          command_name: "nova flavor-list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+      operations:
+        -
+          operation_type: "general-operation"
+          key: "create-flavor"
+          operation_key: "nova-create-flavor"
+          host: node1
+          action_parameter:
+            flavorconfig: "test-001 test-001 100 1 1"
+          rollback_parameter:
+            flavorid: "test-001"
+
+      resultCheckers:
+        -
+          checker_type: "general-result-checker"
+          key: "check-flavor"
+          host: node1
+          checker_key: "nova-flavor-checker"
+          expectedValue: "test-001"
+          condition: "in"
+
+      steps:
+        -
+          actionKey: "block-io"
+          actionType: "attacker"
+          index: 1
+
+        -
+          actionKey: "nova-flavor-list"
+          actionType: "monitor"
+          index: 2
+
+        -
+          actionKey: "create-flavor"
+          actionType: "operation"
+          index: 3
+
+        -
+          actionKey: "check-flavor"
+          actionType: "resultchecker"
+          index: 4
+
+    nodes:
+      node1: node1.LF
+    runner:
+      type: Duration
+      duration: 1
+    sla:
+      outage_time: 5
+      action: monitor
+
+context:
+  type: Node
+  name: LF
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc053.yaml
new file mode 100644 (file)
index 0000000..696ed3b
--- /dev/null
@@ -0,0 +1,61 @@
+---
+# Test case for TC053 :Openstack Controller Load Balance Service High Availability
+# This test case is written by new scenario-based HA testing framework
+
+schema: "yardstick:task:0.1"
+scenarios:
+  -
+    type: "GeneralHA"
+    options:
+      attackers:
+        -
+          fault_type: "kill-process"
+          host: node1
+          key: "kill-process"
+          process_name: "haproxy"
+
+      monitors:
+        -
+          monitor_type: "process"
+          key: "service-status"
+          process_name: "haproxy"
+          host: node1
+          monitor_time: 20
+          sla:
+            max_recover_time: 30
+
+        -
+          monitor_type: "openstack-cmd"
+          key: "list-images"
+          command_name: "nova image-list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+      steps:
+        -
+          actionKey: "kill-process"
+          actionType: "attacker"
+          index: 1
+        -
+          actionKey: "service-status"
+          actionType: "monitor"
+          index: 2
+        -
+          actionKey: "list-images"
+          actionType: "monitor"
+          index: 3
+
+    nodes:
+      node1: node1.LF
+    runner:
+      type: Duration
+      duration: 1
+    sla:
+      outage_time: 5
+      action: monitor
+
+context:
+  type: Node
+  name: LF
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc054.yaml
new file mode 100644 (file)
index 0000000..7d94e3d
--- /dev/null
@@ -0,0 +1,113 @@
+---
+# Test case for TC054 :OpenStack VIP Master Node abnormally shutdown High Availability
+# This test case is written by new scenario-based HA testing framework
+
+schema: "yardstick:task:0.1"
+scenarios:
+  -
+    type: "GeneralHA"
+    options:
+      attackers:
+        -
+          fault_type: "bare-metal-down"
+          host: node1
+          key: "bare-metal-down"
+
+      monitors:
+        -
+          monitor_type: "openstack-cmd"
+          key: "list-images"
+          command_name: "nova image-list"
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+
+        -
+          monitor_type: "general-monitor"
+          monitor_key: "ip-status"
+          key: "vip-mgmt-status"
+          host: node2
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+          parameter:
+            ip_address: "192.168.0.2"
+
+        -
+          monitor_type: "general-monitor"
+          monitor_key: "ip-status"
+          key: "vip-routerp-status"
+          host: node2
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+          parameter:
+            ip_address: "172.16.0.2"
+
+        -
+          monitor_type: "general-monitor"
+          monitor_key: "ip-status"
+          key: "vip-router-status"
+          host: node2
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+          parameter:
+            ip_address: "192.168.0.1"
+
+        -
+          monitor_type: "general-monitor"
+          monitor_key: "ip-status"
+          key: "vip-pub"
+          host: node2
+          monitor_time: 10
+          sla:
+            max_outage_time: 5
+          parameter:
+            ip_address: "172.16.0.3"
+
+
+      steps:
+        -
+          actionKey: "bare-metal-down"
+          actionType: "attacker"
+          index: 1
+        -
+          actionKey: "list-images"
+          actionType: "monitor"
+          index: 2
+
+        -
+          actionKey: "vip-mgmt-status"
+          actionType: "monitor"
+          index: 3
+
+        -
+          actionKey: "vip-routerp-status"
+          actionType: "monitor"
+          index: 4
+
+        -
+          actionKey: "vip-router-status"
+          actionType: "monitor"
+          index: 5
+
+        -
+          actionKey: "vip-pub"
+          actionType: "monitor"
+          index: 6
+
+    nodes:
+      node1: node1.LF
+      node2: node2.LF
+    runner:
+      type: Duration
+      duration: 1
+    sla:
+      outage_time: 5
+      action: monitor
+
+context:
+  type: Node
+  name: LF
+  file: etc/yardstick/nodes/fuel_virtual/pod.yaml
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc063.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc063.yaml
new file mode 100644 (file)
index 0000000..9da8898
--- /dev/null
@@ -0,0 +1,23 @@
+# Yardstick TC063 config file
+# Measure disk size, block size and disk utilization using fdisk and iostat
+
+schema: "yardstick:task:0.1"
+{% set host = host or "node5.yardstick-TC063" %}
+{% set pod_info = pod_info or "etc/yardstick/nodes/compass_sclab_virtual/pod.yaml" %}
+
+scenarios:
+-
+  type: StorageCapacity
+  options:
+    test_type: "disk_size"
+
+  host: {{host}}
+
+  runner:
+    type: Iteration
+    iterations: 1
+
+context:
+  type: Node
+  name: yardstick-TC063
+  file: {{pod_info}}
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc073.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc073.yaml
new file mode 100755 (executable)
index 0000000..fd95b8c
--- /dev/null
@@ -0,0 +1,37 @@
+---
+# Yardstick TC073 config file
+# measure network latency and throughput using netperf
+# There are two sample scenarios: bulk test and request/response test
+# In bulk test, UDP_STREAM and TCP_STREAM can be used
+# send_msg_size and recv_msg_size are options of bulk test
+# In req/rsp test, TCP_RR TCP_CRR UDP_RR can be used
+# req_rsp_size is option of req/rsp test
+
+schema: "yardstick:task:0.1"
+{% set host = host or "node1.LF" %}
+{% set target = target or "node2.LF" %}
+{% set pod_info = pod_info or "etc/yardstick/nodes/compass_sclab_physical/pod.yaml" %}
+scenarios:
+-
+  type: NetperfNode
+  options:
+    testname: 'UDP_STREAM'
+    send_msg_size: 1024
+    duration: 20
+
+  host: {{host}}
+  target: {{target}}
+
+  runner:
+    type: Iteration
+    iterations: 1
+    interval: 1
+  sla:
+    mean_latency: 100
+    action: monitor
+
+context:
+  type: Node
+  name: LF
+  file: {{pod_info}}
+
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc074.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc074.yaml
new file mode 100644 (file)
index 0000000..6dda2d4
--- /dev/null
@@ -0,0 +1,27 @@
+---
+# Test case for TC074 StorPerf benchmark task config file
+# StorPerf is a tool to measure block and object storage performance in an NFVI
+
+schema: "yardstick:task:0.1"
+{% set public_network = public_network or "ext-net" %}
+{% set StorPerf_ip = StorPerf_ip or "192.168.200.1" %}
+scenarios:
+-
+  type: StorPerf
+  options:
+    agent_count: 1
+    agent_image: "Ubuntu-14.04"
+    public_network: {{public_network}}
+    volume_size: 4
+    block_sizes: "4096"
+    queue_depths: "4"
+    StorPerf_ip: {{StorPerf_ip}}
+    query_interval: 10
+    timeout: 300
+
+  runner:
+    type: Iteration
+    iterations: 1
+
+context:
+  type: Dummy
diff --git a/tests/opnfv/test_cases/opnfv_yardstick_tc075.yaml b/tests/opnfv/test_cases/opnfv_yardstick_tc075.yaml
new file mode 100644 (file)
index 0000000..d4a978c
--- /dev/null
@@ -0,0 +1,23 @@
+---
+# Yardstick TC075 config file
+# Measure compute capacity and scale.
+# Including number of cores, number of threads, available memory size and
+# cache size.
+
+schema: "yardstick:task:0.1"
+{% set host = host or "node1.LF" %}
+{% set pod_info = pod_info or "etc/yardstick/nodes/compass_sclab_virtual/pod.yaml" %}
+
+scenarios:
+-
+  type: NetworkCapacity
+  host: {{host}}
+
+  runner:
+    type: Iteration
+    iterations: 1
+
+context:
+  type: Node
+  name: LF
+  file: {{pod_info}}
diff --git a/tests/opnfv/test_suites/opnfv_ericsson-pod1_daily.yaml b/tests/opnfv/test_suites/opnfv_ericsson-pod1_daily.yaml
deleted file mode 100644 (file)
index 66f2f8d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# ERICSSON POD1 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_ericsson_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_ericsson-pod2_daily.yaml b/tests/opnfv/test_suites/opnfv_ericsson-pod2_daily.yaml
deleted file mode 100644 (file)
index c420271..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# ERICSSON POD2 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_ericsson_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_ericsson-virtual1_daily.yaml b/tests/opnfv/test_suites/opnfv_ericsson-virtual1_daily.yaml
deleted file mode 100644 (file)
index 62a5001..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# ERICSSON VIRTUAL1 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_ericsson_virtual1_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_huawei-pod1_daily.yaml b/tests/opnfv/test_suites/opnfv_huawei-pod1_daily.yaml
deleted file mode 100644 (file)
index 35eeb34..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
----
-# Huawei US bare daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_huawei_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc027.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
--
-  file_name: opnfv_yardstick_tc043.yaml
diff --git a/tests/opnfv/test_suites/opnfv_huawei-pod1_weekly.yaml b/tests/opnfv/test_suites/opnfv_huawei-pod1_weekly.yaml
deleted file mode 100644 (file)
index 8a9ce4d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
----
-# Huawei US bare weekly task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_huawei_weekly"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc027.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
--
-  file_name: opnfv_yardstick_tc040.yaml
--
-  file_name: opnfv_yardstick_tc043.yaml
diff --git a/tests/opnfv/test_suites/opnfv_huawei-pod2_daily.yaml b/tests/opnfv/test_suites/opnfv_huawei-pod2_daily.yaml
deleted file mode 100644 (file)
index 435d21c..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# Huawei US bare daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_huawei_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_huawei-pod3_daily.yaml b/tests/opnfv/test_suites/opnfv_huawei-pod3_daily.yaml
deleted file mode 100644 (file)
index 5569a09..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# Huawei Shanghai bare daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_huawei_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_huawei-pod4_daily.yaml b/tests/opnfv/test_suites/opnfv_huawei-pod4_daily.yaml
deleted file mode 100644 (file)
index 486425f..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----\r
-# Huawei Shanghai bare POD6 daily task suite\r
-\r
-schema: "yardstick:suite:0.1"\r
-\r
-name: "opnfv_huawei_daily"\r
-test_cases_dir: "tests/opnfv/test_cases/"\r
-test_cases:\r
--\r
-  file_name: opnfv_yardstick_tc002.yaml\r
--\r
-  file_name: opnfv_yardstick_tc005.yaml\r
--\r
-  file_name: opnfv_yardstick_tc010.yaml\r
--\r
-  file_name: opnfv_yardstick_tc011.yaml\r
--\r
-  file_name: opnfv_yardstick_tc012.yaml\r
--\r
-  file_name: opnfv_yardstick_tc014.yaml\r
--\r
-  file_name: opnfv_yardstick_tc037.yaml\r
diff --git a/tests/opnfv/test_suites/opnfv_huawei-virtual1_daily.yaml b/tests/opnfv/test_suites/opnfv_huawei-virtual1_daily.yaml
deleted file mode 100644 (file)
index bb87fc3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# Huawei US virtual daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_huawei_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_huawei-virtual2_daily.yaml b/tests/opnfv/test_suites/opnfv_huawei-virtual2_daily.yaml
deleted file mode 100644 (file)
index bb87fc3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# Huawei US virtual daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_huawei_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_huawei-virtual3_daily.yaml b/tests/opnfv/test_suites/opnfv_huawei-virtual3_daily.yaml
deleted file mode 100644 (file)
index bb87fc3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# Huawei US virtual daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_huawei_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_huawei-virtual4_daily.yaml b/tests/opnfv/test_suites/opnfv_huawei-virtual4_daily.yaml
deleted file mode 100644 (file)
index bb87fc3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# Huawei US virtual daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_huawei_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_intel-pod2_daily.yaml b/tests/opnfv/test_suites/opnfv_intel-pod2_daily.yaml
deleted file mode 100644 (file)
index 5191cae..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# INTEL POD2 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_intel_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_intel-pod5_daily.yaml b/tests/opnfv/test_suites/opnfv_intel-pod5_daily.yaml
deleted file mode 100644 (file)
index 824da2d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# INTEL POD5 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_intel_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_intel-pod6_daily.yaml b/tests/opnfv/test_suites/opnfv_intel-pod6_daily.yaml
deleted file mode 100644 (file)
index cf68e64..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# INTEL POD6 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_intel_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_intel-pod8_daily.yaml b/tests/opnfv/test_suites/opnfv_intel-pod8_daily.yaml
deleted file mode 100644 (file)
index 2e626c0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# INTEL POD8 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_intel_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_lf-pod1_daily.yaml b/tests/opnfv/test_suites/opnfv_lf-pod1_daily.yaml
deleted file mode 100644 (file)
index 85147a0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# LF POD 1 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_lf_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_lf-pod2_daily.yaml b/tests/opnfv/test_suites/opnfv_lf-pod2_daily.yaml
deleted file mode 100644 (file)
index bda46c0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# LF POD 2 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_lf_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/opnfv/test_suites/opnfv_orange-pod2_daily.yaml b/tests/opnfv/test_suites/opnfv_orange-pod2_daily.yaml
deleted file mode 100644 (file)
index 90b52e2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
----
-# Orange POD2 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "orange-pod2_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc001.yaml
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
index 32e3a27..eb1226f 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-kvm-noha_daily.yaml
new file mode 100644 (file)
index 0000000..02fb31e
--- /dev/null
@@ -0,0 +1,46 @@
+---
+# Huawei US bare daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-nosdn-kvm-noha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
index c7b75ae..27accf4 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index 33f5307..cbb2069 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index f0a38a0..cbbf8c1 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index a486b72..ebe7a05 100644 (file)
@@ -18,6 +18,13 @@ test_cases:
     file_name: opnfv_yardstick_tc012.yaml
 -
     file_name: opnfv_yardstick_tc014.yaml
+-
+    file_name: opnfv_yardstick_tc027.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1
+    task_args:
+        huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml"}'
 -
     file_name: opnfv_yardstick_tc037.yaml
 -
@@ -26,11 +33,82 @@ test_cases:
         installer: compass
         pod: huawei-pod1
     task_args:
-        huawei_pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+        huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
         "host": "node4.LF","target": "node5.LF"}'
+-
+    file_name: opnfv_yardstick_tc045.yaml
+    constraint:
+        installer: fuel
+-
+    file_name: opnfv_yardstick_tc046.yaml
+    constraint:
+        installer: fuel
+-
+    file_name: opnfv_yardstick_tc047.yaml
+    constraint:
+        installer: fuel
+-
+    file_name: opnfv_yardstick_tc048.yaml
+    constraint:
+        installer: fuel
+-
+    file_name: opnfv_yardstick_tc049.yaml
+    constraint:
+        installer: fuel
+-
+    file_name: opnfv_yardstick_tc050.yaml
+    constraint:
+        installer: fuel
+-
+    file_name: opnfv_yardstick_tc051.yaml
+    constraint:
+        installer: fuel
+-
+    file_name: opnfv_yardstick_tc052.yaml
+    constraint:
+        installer: fuel
+-
+    file_name: opnfv_yardstick_tc053.yaml
+    constraint:
+        installer: fuel
+-
+    file_name: opnfv_yardstick_tc055.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1
+    task_args:
+        huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+        "host": "node5.yardstick-TC055"}'
+-
+    file_name: opnfv_yardstick_tc063.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1
+    task_args:
+        huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+        "host": "node5.yardstick-TC063"}'
 -
     file_name: opnfv_yardstick_tc069.yaml
 -
     file_name: opnfv_yardstick_tc070.yaml
 -
     file_name: opnfv_yardstick_tc071.yaml
+-
+    file_name: opnfv_yardstick_tc072.yaml
+-
+    file_name: opnfv_yardstick_tc074.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1
+    task_args:
+        huawei-pod1: '{"public_network": "ext-net",
+        "StorPerf_ip": "192.168.200.1"}'
+-
+    file_name: opnfv_yardstick_tc075.yaml
+    constraint:
+        installer: compass
+        pod: huawei-pod1
+    task_args:
+        huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+        "host": "node1.LF"}'
+
index 0d1cd9c..567e8bf 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index c293e53..6cf5b38 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
diff --git a/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-nosdn-ovs-noha_daily.yaml
new file mode 100644 (file)
index 0000000..9e5074f
--- /dev/null
@@ -0,0 +1,46 @@
+---
+# Huawei US bare daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-nosdn-ovs-noha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
index cb8dfd2..7106a13 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index b8c103f..42781a8 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index 8038906..639e18e 100644 (file)
@@ -20,3 +20,27 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-bgpvpn-noha_daily.yaml
new file mode 100644 (file)
index 0000000..372041f
--- /dev/null
@@ -0,0 +1,38 @@
+---
+# Huawei US bare daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-odl_l2-bgpvpn-noha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l2-moon-ha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l2-moon-ha_daily.yaml
new file mode 100644 (file)
index 0000000..dadcb2f
--- /dev/null
@@ -0,0 +1,54 @@
+---
+# Huawei US bare daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-odl_l2-moon-ha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index 9a280a3..1de157a 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index 2c0bd50..1661e08 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index 018e23a..9e0e418 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index 8aa32b9..1ebd732 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index ba2d717..4bcf81b 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
diff --git a/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-odl_l3-nofeature-noha_daily.yaml
new file mode 100644 (file)
index 0000000..c50569b
--- /dev/null
@@ -0,0 +1,46 @@
+---
+# Huawei US bare daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-odl_l3-nofeature-noha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
index 81d0ca3..48718ab 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
---
+-
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index ff95f1a..0e9ff81 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
index 32a3c64..bfb02cf 100644 (file)
@@ -20,9 +20,35 @@ test_cases:
   file_name: opnfv_yardstick_tc014.yaml
 -
   file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
 -
   file_name: opnfv_yardstick_tc069.yaml
 -
   file_name: opnfv_yardstick_tc070.yaml
 -
   file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
+-
+  file_name: opnfv_yardstick_tc075.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node1.LF"}'
diff --git a/tests/opnfv/test_suites/opnfv_os-onos-sfc-noha_daily.yaml b/tests/opnfv/test_suites/opnfv_os-onos-sfc-noha_daily.yaml
new file mode 100644 (file)
index 0000000..2661e58
--- /dev/null
@@ -0,0 +1,46 @@
+---
+# Huawei US bare daily task suite
+
+schema: "yardstick:suite:0.1"
+
+name: "os-onos-sfc-noha"
+test_cases_dir: "tests/opnfv/test_cases/"
+test_cases:
+-
+  file_name: opnfv_yardstick_tc002.yaml
+-
+  file_name: opnfv_yardstick_tc005.yaml
+-
+  file_name: opnfv_yardstick_tc010.yaml
+-
+  file_name: opnfv_yardstick_tc011.yaml
+-
+  file_name: opnfv_yardstick_tc012.yaml
+-
+  file_name: opnfv_yardstick_tc014.yaml
+-
+  file_name: opnfv_yardstick_tc037.yaml
+-
+  file_name: opnfv_yardstick_tc055.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC055"}'
+-
+  file_name: opnfv_yardstick_tc063.yaml
+  constraint:
+      installer: compass
+      pod: huawei-pod1
+  task_args:
+      huawei-pod1: '{"pod_info": "etc/yardstick/nodes/compass_sclab_physical/pod.yaml",
+      "host": "node5.yardstick-TC063"}'
+-
+  file_name: opnfv_yardstick_tc069.yaml
+-
+  file_name: opnfv_yardstick_tc070.yaml
+-
+  file_name: opnfv_yardstick_tc071.yaml
+-
+  file_name: opnfv_yardstick_tc072.yaml
diff --git a/tests/opnfv/test_suites/opnfv_zte-pod1_daily.yaml b/tests/opnfv/test_suites/opnfv_zte-pod1_daily.yaml
deleted file mode 100644 (file)
index 2a88f82..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# ZTE POD 1 daily task suite
-
-schema: "yardstick:suite:0.1"
-
-name: "opnfv_zte_daily"
-test_cases_dir: "tests/opnfv/test_cases/"
-test_cases:
--
-  file_name: opnfv_yardstick_tc002.yaml
--
-  file_name: opnfv_yardstick_tc005.yaml
--
-  file_name: opnfv_yardstick_tc010.yaml
--
-  file_name: opnfv_yardstick_tc011.yaml
--
-  file_name: opnfv_yardstick_tc012.yaml
--
-  file_name: opnfv_yardstick_tc014.yaml
--
-  file_name: opnfv_yardstick_tc037.yaml
diff --git a/tests/unit/benchmark/scenarios/networking/test_networkcapacity.py b/tests/unit/benchmark/scenarios/networking/test_networkcapacity.py
new file mode 100644 (file)
index 0000000..e3a0964
--- /dev/null
@@ -0,0 +1,56 @@
+#!/usr/bin/env python\r
+\r
+##############################################################################\r
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.\r
+#\r
+# All rights reserved. This program and the accompanying materials\r
+# are made available under the terms of the Apache License, Version 2.0\r
+# which accompanies this distribution, and is available at\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+##############################################################################\r
+\r
+# Unittest for yardstick.benchmark.scenarios.networking.networkcapacity.NetworkCapacity\r
+\r
+import mock\r
+import unittest\r
+import os\r
+import json\r
+\r
+from yardstick.benchmark.scenarios.networking import networkcapacity\r
+\r
+SAMPLE_OUTPUT = '{"Number of connections":"308","Number of frames received": "166503"}'\r
+\r
+@mock.patch('yardstick.benchmark.scenarios.networking.networkcapacity.ssh')\r
+class NetworkCapacityTestCase(unittest.TestCase):\r
+\r
+    def setUp(self):\r
+        self.ctx = {\r
+                'host': {\r
+                    'ip': '172.16.0.137',\r
+                    'user': 'cirros',\r
+                    'password': "root"\r
+                },\r
+        }\r
+\r
+        self.result = {}\r
+\r
+    def test_capacity_successful_setup(self, mock_ssh):\r
+        c = networkcapacity.NetworkCapacity({}, self.ctx)\r
+        mock_ssh.SSH().execute.return_value = (0, '', '')\r
+        c.setup()\r
+        self.assertIsNotNone(c.client)\r
+        self.assertTrue(c.setup_done)\r
+\r
+    def test_capacity_successful(self, mock_ssh):\r
+        c = networkcapacity.NetworkCapacity({}, self.ctx)\r
+\r
+        mock_ssh.SSH().execute.return_value = (0, SAMPLE_OUTPUT, '')\r
+        c.run(self.result)\r
+        expected_result = json.loads(SAMPLE_OUTPUT)\r
+        self.assertEqual(self.result, expected_result)\r
+\r
+    def test_capacity_unsuccessful_script_error(self, mock_ssh):\r
+        c = networkcapacity.NetworkCapacity({}, self.ctx)\r
+\r
+        mock_ssh.SSH().execute.return_value = (1, '', 'FOOBAR')\r
+        self.assertRaises(RuntimeError, c.run, self.result)\r
diff --git a/tests/unit/benchmark/scenarios/networking/test_pktgen_dpdk.py b/tests/unit/benchmark/scenarios/networking/test_pktgen_dpdk.py
new file mode 100644 (file)
index 0000000..afc87ab
--- /dev/null
@@ -0,0 +1,173 @@
+#!/usr/bin/env python
+
+##############################################################################
+# Copyright (c) 2015 ZTE and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Unittest for yardstick.benchmark.scenarios.networking.pktgen.Pktgen
+
+import mock
+import unittest
+import json
+
+from yardstick.benchmark.scenarios.networking import pktgen_dpdk
+
+@mock.patch('yardstick.benchmark.scenarios.networking.pktgen_dpdk.ssh')
+class PktgenDPDKLatencyTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.ctx = {
+            'host': {
+                'ip': '172.16.0.137',
+                'user': 'root',
+                'key_filename': 'mykey.key'
+            },
+            'target': {
+                'ip': '172.16.0.138',
+                'user': 'root',
+                'key_filename': 'mykey.key',
+                'ipaddr': '172.16.0.138'
+            }
+        }
+
+    def test_pktgen_dpdk_successful_setup(self, mock_ssh):
+
+        args = {
+            'options': {'packetsize': 60},
+        }
+        p = pktgen_dpdk.PktgenDPDKLatency(args, self.ctx)
+        p.setup()
+
+        mock_ssh.SSH().execute.return_value = (0, '', '')
+        self.assertIsNotNone(p.server)
+        self.assertIsNotNone(p.client)
+        self.assertEqual(p.setup_done, True)
+
+    def test_pktgen_dpdk_successful_get_port_ip(self, mock_ssh):
+
+        args = {
+            'options': {'packetsize': 60},
+        }
+        p = pktgen_dpdk.PktgenDPDKLatency(args, self.ctx)
+        p.server = mock_ssh.SSH()
+
+        mock_ssh.SSH().execute.return_value = (0, '', '')
+
+        p.get_port_ip(p.server, "eth1")
+
+        mock_ssh.SSH().execute.assert_called_with(
+            "ifconfig eth1 |grep 'inet addr' |awk '{print $2}' \
+            |cut -d ':' -f2 ")
+
+    def test_pktgen_dpdk_unsuccessful_get_port_ip(self, mock_ssh):
+
+        args = {
+            'options': {'packetsize': 60},
+        }
+
+        p = pktgen_dpdk.PktgenDPDKLatency(args, self.ctx)
+        p.server = mock_ssh.SSH()
+
+        mock_ssh.SSH().execute.return_value = (1, '', 'FOOBAR')
+        self.assertRaises(RuntimeError, p.get_port_ip, p.server, "eth1")
+
+    def test_pktgen_dpdk_successful_get_port_mac(self, mock_ssh):
+
+        args = {
+            'options': {'packetsize': 60},
+        }
+        p = pktgen_dpdk.PktgenDPDKLatency(args, self.ctx)
+        p.server = mock_ssh.SSH()
+
+        mock_ssh.SSH().execute.return_value = (0, '', '')
+
+        p.get_port_mac(p.server, "eth1")
+
+        mock_ssh.SSH().execute.assert_called_with(
+            "ifconfig |grep HWaddr |grep eth1 |awk '{print $5}' ")
+
+    def test_pktgen_dpdk_unsuccessful_get_port_mac(self, mock_ssh):
+
+        args = {
+            'options': {'packetsize': 60},
+        }
+
+        p = pktgen_dpdk.PktgenDPDKLatency(args, self.ctx)
+        p.server = mock_ssh.SSH()
+
+        mock_ssh.SSH().execute.return_value = (1, '', 'FOOBAR')
+        self.assertRaises(RuntimeError, p.get_port_mac, p.server, "eth1")
+
+    def test_pktgen_dpdk_successful_no_sla(self, mock_ssh):
+
+        args = {
+            'options': {'packetsize': 60},
+        }
+
+        result = {}
+        p = pktgen_dpdk.PktgenDPDKLatency(args, self.ctx)
+
+        sample_output = '100\n110\n112\n130\n149\n150\n90\n150\n200\n162\n'
+        mock_ssh.SSH().execute.return_value = (0, sample_output, '')
+
+        p.run(result)
+        self.assertEqual(result, {"avg_latency": 132})
+
+    def test_pktgen_dpdk_successful_sla(self, mock_ssh):
+
+        args = {
+            'options': {'packetsize': 60},
+            'sla': {'max_latency': 100}
+        }
+        result = {}
+
+        p = pktgen_dpdk.PktgenDPDKLatency(args, self.ctx)
+
+        sample_output = '100\n100\n100\n100\n100\n100\n100\n100\n100\n100\n'
+        mock_ssh.SSH().execute.return_value = (0, sample_output, '')
+
+        p.run(result)
+
+        self.assertEqual(result, {"avg_latency": 100})
+
+    def test_pktgen_dpdk_unsuccessful_sla(self, mock_ssh):
+
+        args = {
+            'options': {'packetsize': 60},
+            'sla': {'max_latency': 100}
+        }
+        result = {}
+
+        p = pktgen_dpdk.PktgenDPDKLatency(args, self.ctx)
+
+        p.server = mock_ssh.SSH()
+        p.client = mock_ssh.SSH()
+
+        sample_output = '100\n110\n112\n130\n149\n150\n90\n150\n200\n162\n'
+        mock_ssh.SSH().execute.return_value = (0, sample_output, '')
+        self.assertRaises(AssertionError, p.run, result)
+
+    def test_pktgen_dpdk_unsuccessful_script_error(self, mock_ssh):
+
+        args = {
+            'options': {'packetsize': 60},
+            'sla': {'max_latency': 100}
+        }
+        result = {}
+
+        p = pktgen_dpdk.PktgenDPDKLatency(args, self.ctx)
+
+        mock_ssh.SSH().execute.return_value = (1, '', 'FOOBAR')
+        self.assertRaises(RuntimeError, p.run, result)
+
+
+def main():
+    unittest.main()
+
+if __name__ == '__main__':
+    main()
diff --git a/tests/unit/benchmark/scenarios/storage/test_storagecapacity.py b/tests/unit/benchmark/scenarios/storage/test_storagecapacity.py
new file mode 100644 (file)
index 0000000..ace0ca3
--- /dev/null
@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Unittest for yardstick.benchmark.scenarios.storage.storagecapacity.StorageCapacity
+
+import mock
+import unittest
+import os
+import json
+
+from yardstick.benchmark.scenarios.storage import storagecapacity
+
+DISK_SIZE_SAMPLE_OUTPUT = '{"Numberf of devides": "2", "Total disk size in bytes": "1024000000"}'
+BLOCK_SIZE_SAMPLE_OUTPUT = '{"/dev/sda": 1024, "/dev/sdb": 4096}'
+DISK_UTIL_RAW_OUTPUT = "vda 10.00\nvda 0.00"
+DISK_UTIL_SAMPLE_OUTPUT = '{"vda": {"avg_util": 5.0, "max_util": 10.0, "min_util": 0.0}}'
+
+@mock.patch('yardstick.benchmark.scenarios.storage.storagecapacity.ssh')
+class StorageCapacityTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.scn = {
+               "options": {
+                   'test_type': 'disk_size'
+               }
+        }
+        self.ctx = {
+                "host": {
+                    'ip': '172.16.0.137',
+                    'user': 'cirros',
+                    'password': "root"
+                }
+        }
+        self.result = {}
+
+    def test_capacity_successful_setup(self, mock_ssh):
+        c = storagecapacity.StorageCapacity(self.scn, self.ctx)
+
+        mock_ssh.SSH().execute.return_value = (0, '', '')
+        c.setup()
+        self.assertIsNotNone(c.client)
+        self.assertTrue(c.setup_done)
+
+    def test_capacity_disk_size_successful(self, mock_ssh):
+        c = storagecapacity.StorageCapacity(self.scn, self.ctx)
+
+        mock_ssh.SSH().execute.return_value = (0, DISK_SIZE_SAMPLE_OUTPUT, '')
+        c.run(self.result)
+        expected_result = json.loads(DISK_SIZE_SAMPLE_OUTPUT)
+        self.assertEqual(self.result, expected_result)
+
+    def test_capacity_block_size_successful(self, mock_ssh):
+        args = {
+            "options": {
+                'test_type': 'block_size'
+            }
+        }
+        c = storagecapacity.StorageCapacity(args, self.ctx)
+
+        mock_ssh.SSH().execute.return_value = (0, BLOCK_SIZE_SAMPLE_OUTPUT, '')
+        c.run(self.result)
+        expected_result = json.loads(BLOCK_SIZE_SAMPLE_OUTPUT)
+        self.assertEqual(self.result, expected_result)
+
+    def test_capacity_disk_utilization_successful(self, mock_ssh):
+        args = {
+            "options": {
+                'test_type': 'disk_utilization',
+                'interval': 1,
+                'count': 2
+            }
+        }
+        c = storagecapacity.StorageCapacity(args, self.ctx)
+
+        mock_ssh.SSH().execute.return_value = (0, DISK_UTIL_RAW_OUTPUT, '')
+        c.run(self.result)
+        expected_result = json.loads(DISK_UTIL_SAMPLE_OUTPUT)
+        self.assertEqual(self.result, expected_result)
+
+    def test_capacity_unsuccessful_script_error(self, mock_ssh):
+        c = storagecapacity.StorageCapacity(self.scn, self.ctx)
+
+        mock_ssh.SSH().execute.return_value = (1, '', 'FOOBAR')
+        self.assertRaises(RuntimeError, c.run, self.result)
+
+def main():
+    unittest.main()
+
+if __name__ == '__main__':
+    main()
diff --git a/tests/unit/benchmark/scenarios/storage/test_storperf.py b/tests/unit/benchmark/scenarios/storage/test_storperf.py
new file mode 100644 (file)
index 0000000..d87ed73
--- /dev/null
@@ -0,0 +1,214 @@
+#!/usr/bin/env python
+
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Unittest for yardstick.benchmark.scenarios.storage.storperf.StorPerf
+
+import mock
+import unittest
+import requests
+import json
+
+from yardstick.benchmark.scenarios.storage import storperf
+
+
+def mocked_requests_config_post(*args, **kwargs):
+    class MockResponseConfigPost:
+        def __init__(self, json_data, status_code):
+            self.content = json_data
+            self.status_code = status_code
+
+    return MockResponseConfigPost('{"stack_id": "dac27db1-3502-4300-b301-91c64e6a1622","stack_created": "false"}', 200)
+
+
+def mocked_requests_config_get(*args, **kwargs):
+    class MockResponseConfigGet:
+        def __init__(self, json_data, status_code):
+            self.content = json_data
+            self.status_code = status_code
+
+    return MockResponseConfigGet('{"stack_id": "dac27db1-3502-4300-b301-91c64e6a1622","stack_created": "true"}', 200)
+
+
+def mocked_requests_job_get(*args, **kwargs):
+    class MockResponseJobGet:
+        def __init__(self, json_data, status_code):
+            self.content = json_data
+            self.status_code = status_code
+
+    return MockResponseJobGet('{"_ssd_preconditioning.queue-depth.8.block-size.16384.duration": 6}', 200)
+
+
+def mocked_requests_job_post(*args, **kwargs):
+    class MockResponseJobPost:
+        def __init__(self, json_data, status_code):
+            self.content = json_data
+            self.status_code = status_code
+
+    return MockResponseJobPost('{"job_id": \
+                                 "d46bfb8c-36f4-4a40-813b-c4b4a437f728"}', 200)
+
+
+def mocked_requests_job_delete(*args, **kwargs):
+    class MockResponseJobDelete:
+        def __init__(self, json_data, status_code):
+            self.content = json_data
+            self.status_code = status_code
+
+    return MockResponseJobDelete('{}', 200)
+
+
+def mocked_requests_delete(*args, **kwargs):
+    class MockResponseDelete:
+        def __init__(self, json_data, status_code):
+            self.json_data = json_data
+            self.status_code = status_code
+
+    return MockResponseDelete('{}', 200)
+
+
+def mocked_requests_delete_failed(*args, **kwargs):
+    class MockResponseDeleteFailed:
+        def __init__(self, json_data, status_code):
+            self.json_data = json_data
+            self.status_code = status_code
+
+    if args[0] == "http://172.16.0.137:5000/api/v1.0/configurations":
+        return MockResponseDeleteFailed('{"message": "Teardown failed"}', 400)
+
+    return MockResponseDeleteFailed('{}', 404)
+
+
+class StorPerfTestCase(unittest.TestCase):
+
+    def setUp(self):
+        self.ctx = {
+            'host': {
+                'ip': '172.16.0.137',
+                'user': 'cirros',
+                'key_filename': "mykey.key"
+            }
+        }
+
+        self.result = {}
+
+    @mock.patch('yardstick.benchmark.scenarios.storage.storperf.requests.post',
+                side_effect=mocked_requests_config_post)
+    @mock.patch('yardstick.benchmark.scenarios.storage.storperf.requests.get',
+                side_effect=mocked_requests_config_get)
+    def test_successful_setup(self, mock_post, mock_get):
+        options = {
+            "agent_count": 8,
+            "public_network": 'ext-net',
+            "volume_size": 10,
+            "block_sizes": 4096,
+            "queue_depths": 4,
+            "workload": "rs",
+            "StorPerf_ip": "192.168.23.2",
+            "query_interval": 10,
+            "timeout": 60
+        }
+
+        args = {
+            "options": options
+        }
+
+        s = storperf.StorPerf(args, self.ctx)
+
+        s.setup()
+
+        self.assertTrue(s.setup_done)
+
+    @mock.patch('yardstick.benchmark.scenarios.storage.storperf.requests.post',
+                side_effect=mocked_requests_job_post)
+    @mock.patch('yardstick.benchmark.scenarios.storage.storperf.requests.get',
+                side_effect=mocked_requests_job_get)
+    @mock.patch('yardstick.benchmark.scenarios.storage.storperf.requests.delete',
+                side_effect=mocked_requests_job_delete)
+    def test_successful_run(self, mock_post, mock_get, mock_delete):
+        options = {
+            "agent_count": 8,
+            "public_network": 'ext-net',
+            "volume_size": 10,
+            "block_sizes": 4096,
+            "queue_depths": 4,
+            "workload": "rs",
+            "StorPerf_ip": "192.168.23.2",
+            "query_interval": 10,
+            "timeout": 60
+        }
+
+        args = {
+            "options": options
+        }
+
+        s = storperf.StorPerf(args, self.ctx)
+        s.setup_done = True
+
+        sample_output = '{"_ssd_preconditioning.queue-depth.8.block-size.16384.duration": 6}'
+
+        expected_result = json.loads(sample_output)
+
+        s.run(self.result)
+
+        self.assertEqual(self.result, expected_result)
+
+    @mock.patch('yardstick.benchmark.scenarios.storage.storperf.requests.delete', side_effect=mocked_requests_delete)
+    def test_successful_teardown(self, mock_delete):
+        options = {
+            "agent_count": 8,
+            "public_network": 'ext-net',
+            "volume_size": 10,
+            "block_sizes": 4096,
+            "queue_depths": 4,
+            "workload": "rs",
+            "StorPerf_ip": "192.168.23.2",
+            "query_interval": 10,
+            "timeout": 60
+        }
+
+        args = {
+            "options": options
+        }
+
+        s = storperf.StorPerf(args, self.ctx)
+
+        s.teardown()
+
+        self.assertFalse(s.setup_done)
+
+    @mock.patch('yardstick.benchmark.scenarios.storage.storperf.requests.delete', side_effect=mocked_requests_delete_failed)
+    def test_failed_teardown(self, mock_delete):
+        options = {
+            "agent_count": 8,
+            "public_network": 'ext-net',
+            "volume_size": 10,
+            "block_sizes": 4096,
+            "queue_depths": 4,
+            "workload": "rs",
+            "StorPerf_ip": "192.168.23.2",
+            "query_interval": 10,
+            "timeout": 60
+        }
+
+        args = {
+            "options": options
+        }
+
+        s = storperf.StorPerf(args, self.ctx)
+
+        self.assertRaises(AssertionError, s.teardown(), self.result)
+
+
+def main():
+    unittest.main()
+
+if __name__ == '__main__':
+    main()
index 4260b39..a270524 100644 (file)
@@ -108,7 +108,9 @@ class SSHTestCase(unittest.TestCase):
             mock.call.set_missing_host_key_policy("autoadd"),
             mock.call.connect("example.net", username="admin",
                               port=22, pkey="key", key_filename=None,
-                              password=None, timeout=1),
+                              password=None,
+                              allow_agent=False, look_for_keys=False,
+                              timeout=1),
         ]
         self.assertEqual(client_calls, client.mock_calls)
 
@@ -156,6 +158,15 @@ class SSHTestCase(unittest.TestCase):
         self.assertEqual([mock.call("uname")] * 3,
                          self.test_client.execute.mock_calls)
 
+    @mock.patch("yardstick.ssh.paramiko")
+    def test_send_command(self, mock_paramiko):
+        paramiko_sshclient = self.test_client._get_client()
+        with mock.patch.object(paramiko_sshclient, "exec_command") \
+            as mock_paramiko_exec_command:
+            self.test_client.send_command('cmd')
+        mock_paramiko_exec_command.assert_called_once_with('cmd',
+                                                            get_pty=True)
+
 
 class SSHRunTestCase(unittest.TestCase):
     """Test SSH.run method in different aspects.
diff --git a/tools/dpdk_install.yml b/tools/dpdk_install.yml
new file mode 100644 (file)
index 0000000..12c83e1
--- /dev/null
@@ -0,0 +1,124 @@
+heat_template_version: 2015-04-30
+
+description: >
+  Used to run VMs with DPDK pktgen
+
+parameters:
+  image:
+    type: string
+    description: Name of the image
+    default: yardstick-wily-server
+
+  timeout:
+    type: number
+    description: Timeout in seconds for WaitCondition, depends on your image and environment
+    default: 900
+
+  external_net_name:
+    type: string
+    description: Name of the external network which management network will connect to
+    default: admin_floating_net
+
+resources:
+  flavor:
+    type: OS::Nova::Flavor
+    properties:
+      ram: 4096
+      vcpus: 4
+      disk: 4
+
+  network:
+    type: OS::Neutron::Net
+    properties:
+      name: dpdk_net
+
+  subnet:
+    type: OS::Neutron::Subnet
+    properties:
+      name: dpdk_subnet
+      ip_version: 4
+      cidr: 192.168.0.0/24
+      network: { get_resource: network }
+
+  management_router:
+    type: OS::Neutron::Router
+    properties:
+      name: management_router
+      external_gateway_info:
+        network: { get_param: external_net_name }
+
+  management_router_interface:
+    type: OS::Neutron::RouterInterface
+    properties:
+      router: { get_resource: management_router }
+      subnet: { get_resource: subnet }
+
+  floating_ip:
+    type: OS::Neutron::FloatingIP
+    properties:
+      floating_network: { get_param: external_net_name }
+
+  floating_ip_association:
+    type: OS::Nova::FloatingIPAssociation
+    properties:
+      floating_ip: { get_resource: floating_ip }
+      server_id: {get_resource: dpdk_vm}
+
+  keypair:
+    type: OS::Nova::KeyPair
+    properties:
+      name: yardstick-key
+      public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0RkXfW6pksd1cZmXuvXZF/Mlqqq3ahIGcGoULOC97XMpu0vdxMpcUwdjwGqMwEXTVyfHidu0l99bLqOCpSUKCmbWx3ONJ+1kqFx4HwsKEWLiyDYqsuMrDeZT1eFjC5avCoTcrIw2wq5NaBb00lDGagNZOeopaL5YIa4+PizEY23+cir24D67NU21Fg3JE92AIeGlNa4j66L3a+lL0hZq74Dilmp42wm4GsbplRO6KJfyaraowHb1X+TmhCjBgHk6M/OJ9yPAroZyJNcwjMAuuxhAYWRuT3SdbnoUR0RG2VhfDh0qNid7vOqLbhKPeaLLFmzkN+9w3WdCp6LbSYt87 yardstick@yardstick.opnfv.org
+
+  wait_handle:
+    type: OS::Heat::WaitConditionHandle
+
+  wait_condition:
+    type: OS::Heat::WaitCondition
+    properties:
+      handle: { get_resource: wait_handle }
+      count: 1
+      timeout: { get_param: timeout }
+
+  dpdk_vm:
+    type: OS::Nova::Server
+    depends_on: [subnet, keypair, flavor]
+    properties:
+      name: { get_param: "OS::stack_name" }
+      image: { get_param: image }
+      flavor: { get_resource: flavor }
+      key_name: {get_resource: keypair}
+      networks:
+        - network: { get_resource: network }
+      config_drive: True
+      user_data_format : RAW
+      user_data:
+        str_replace:
+          template: |
+            #!/bin/sh
+            cat <<'CEOF' > /tmp/dpdk_post_build.sh
+            export RTE_SDK=/dpdk
+            export RTE_TARGET=x86_64-native-linuxapp-gcc
+            cd /dpdk
+            make install T=x86_64-native-linuxapp-gcc DESTDIR=destdir
+            modprobe uio
+            insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
+            insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/rte_kni.ko
+            cd /pktgen-dpdk
+            make RTE_SDK=/dpdk
+            echo "PCKTGEN BUILT"
+            rm -rf /var/lib/cloud/instances
+            echo "rm succesfull"
+            ls /dpdk/x86_64-native-linuxapp-gcc/kmod/
+            $NOTIFY --data-binary '{"status": "SUCCESS"}'
+            CEOF
+            chmod +x /tmp/dpdk_post_build.sh
+            echo "chmod"
+            nohup /tmp/dpdk_post_build.sh &
+          params:
+            $NOTIFY: { get_attr: ['wait_handle', 'curl_cli'] }
+
+outputs:
+  vm_uuid:
+    description: uuid of the VM
+    value: { get_attr: [ dpdk_vm, show,id ] }
diff --git a/tools/ubuntu-server-cloudimg-dpdk-modify.sh b/tools/ubuntu-server-cloudimg-dpdk-modify.sh
new file mode 100755 (executable)
index 0000000..aa4e252
--- /dev/null
@@ -0,0 +1,98 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# installs required packages
+# must be run from inside the image (either chrooted or running)
+
+set -ex
+
+if [ $# -eq 1 ]; then
+    nameserver_ip=$1
+
+    # /etc/resolv.conf is a symbolic link to /run, restore at end
+    rm /etc/resolv.conf
+    echo "nameserver $nameserver_ip" > /etc/resolv.conf
+    echo "nameserver 8.8.8.8" >> /etc/resolv.conf
+    echo "nameserver 8.8.4.4" >> /etc/resolv.conf
+fi
+
+# iperf3 only available for wily in backports
+grep wily /etc/apt/sources.list && \
+    echo "deb http://archive.ubuntu.com/ubuntu/ wily-backports main restricted universe multiverse" >> /etc/apt/sources.list
+
+# Workaround for building on CentOS (apt-get is not working with http sources)
+# sed -i 's/http/ftp/' /etc/apt/sources.list
+
+# Force apt to use ipv4 due to build problems on LF POD.
+echo 'Acquire::ForceIPv4 "true";' > /etc/apt/apt.conf.d/99force-ipv4
+
+echo 'GRUB_CMDLINE_LINUX="resume=/dev/sda1 default_hugepagesz=1G hugepagesz=1G hugepages=2 iommu=on iommu=pt intel_iommu=on"' >> /etc/default/grub
+echo 'vm.nr_hugepages=1024' >> /etc/sysctl.conf
+echo 'huge /mnt/huge hugetlbfs defaults 0 0' >> vi /etc/fstab
+
+mkdir /mnt/huge
+chmod 777 /mnt/huge
+
+for i in {1..2}
+do
+    touch /etc/network/interfaces.d/eth$i.cfg
+    chmod 777 /etc/network/interfaces.d/eth$i.cfg
+    echo "auto eth$i" >> /etc/network/interfaces.d/eth$i.cfg
+    echo "iface eth$i inet dhcp" >> /etc/network/interfaces.d/eth$i.cfg
+done
+
+# this needs for checking dpdk status, adding interfaces to dpdk, bind, unbind etc..
+
+# Add hostname to /etc/hosts.
+# Allow console access via pwd
+cat <<EOF >/etc/cloud/cloud.cfg.d/10_etc_hosts.cfg
+manage_etc_hosts: True
+password: RANDOM
+chpasswd: { expire: False }
+ssh_pwauth: True
+EOF
+
+linuxheadersversion=`echo ls boot/vmlinuz* | cut -d- -f2-`
+
+apt-get update
+apt-get install -y \
+    fio \
+    gcc \
+    git \
+    iperf3 \
+    linux-tools-common \
+    linux-tools-generic \
+    lmbench \
+    make \
+    netperf \
+    patch \
+    perl \
+    rt-tests \
+    stress \
+    sysstat \
+    linux-headers-$linuxheadersversion \
+    libpcap-dev \
+    lua5.2
+
+git clone http://dpdk.org/git/dpdk
+git clone http://dpdk.org/git/apps/pktgen-dpdk
+
+git clone https://github.com/kdlucas/byte-unixbench.git /opt/tempT
+make --directory /opt/tempT/UnixBench/
+
+git clone https://github.com/beefyamoeba5/ramspeed.git /opt/tempT/RAMspeed
+cd /opt/tempT/RAMspeed/ramspeed-2.6.0
+mkdir temp
+bash build.sh
+
+git clone https://github.com/beefyamoeba5/cachestat.git /opt/tempT/Cachestat
+
+# restore symlink
+ln -sf /run/resolvconf/resolv.conf /etc/resolv.conf
diff --git a/tools/yardstick-img-dpdk-finalize.sh b/tools/yardstick-img-dpdk-finalize.sh
new file mode 100644 (file)
index 0000000..7a450e2
--- /dev/null
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# installs dpdk and pktgen packages on modified image
+
+# PREREQUISITES
+# modified image (yardstick-wily-server) must be uploaded to OpenStack
+# heat must be installed: apt-get install python-heatclient, python-glanceclient, python-nova
+# must have a public yardstick-key uploaded in openstack
+# must have a proper flavor for the image (i.e. m1.small)
+
+
+stackname="yardstick-modify-stack"
+template=dpdk_install.yml
+new_image_name="yardstick-image-pktgen-ready"
+
+openstack stack create $stackname -f yaml -t $template
+progress="WARMING_UP"
+
+while [ "$progress" != "CREATE_COMPLETE" ]
+do
+  sleep 10
+  echo "check stack status......."
+  show_output=$(openstack stack show $stackname)
+  progress=$(echo $show_output | sed 's/^.*stack_status . \([^ ]*\).*$/\1/')
+  echo "$progress"
+  if [ "$progress" == "CREATE_FAILED" ];then
+    echo "create $stackname failed"
+    exit 1
+  fi
+done
+
+# workaround: Without wait time, the file size of pktgen is zero in the snapshot.
+sleep 60
+
+status=$(nova image-create --poll $stackname $new_image_name)
+if [[ "$status" =~ "Finished" ]];then
+  echo "$new_image_name finished"
+fi
+
+nova delete $stackname
+sleep 10
+openstack stack delete --yes $stackname
diff --git a/tools/yardstick-img-dpdk-modify b/tools/yardstick-img-dpdk-modify
new file mode 100644 (file)
index 0000000..ec2672d
--- /dev/null
@@ -0,0 +1,162 @@
+#!/bin/bash
+
+##############################################################################
+# Copyright (c) 2015 Ericsson AB and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# yardstick-img-dpdk-modify - download and modify a Ubuntu cloud image
+#
+# The actual customization is done by a script passed with an absolute path as
+# the only single argument. The command needs to be invoked as sudo
+#
+# Example invocation:
+# yardstick-img-dpdk-modify /home/yardstick/tools/ubuntu-server-cloudimg-dpdk-modify.sh
+#
+# Warning: the script will create files by default in:
+#   /tmp/workspace/yardstick
+# the files will be owned by root!
+#
+# TODO: image resize is needed if the base image is too small
+#
+
+set -e
+set -x
+
+die() {
+    echo "error: $1" >&2
+    exit 1
+}
+
+test $# -eq 1 || die "no image specific script as argument"
+test $(id -u) -eq 0 || die "should invoke using sudo"
+
+cmd=$1
+test -x $cmd
+mountdir="/mnt/yardstick"
+
+workspace=${WORKSPACE:-"/tmp/workspace/yardstick"}
+host=${HOST:-"cloud-images.ubuntu.com"}
+release=${RELEASE:-"wily"}
+image_path="${release}/current/${release}-server-cloudimg-amd64-disk1.img"
+image_url=${IMAGE_URL:-"https://${host}/${image_path}"}
+md5sums_path="${release}/current/MD5SUMS"
+md5sums_url=${MD5SUMS_URL:-"https://${host}/${md5sums_path}"}
+
+imgfile="${workspace}/yardstick-${release}-server"
+raw_imgfile="${workspace}/yardstick-${release}-server.raw"
+filename=$(basename $image_url)
+
+# download and checksum base image, conditionally if local copy is outdated
+download() {
+    test -d $workspace || mkdir -p $workspace
+    cd $workspace
+    rm -f MD5SUMS # always download the checksum file to a detect stale image
+    wget $md5sums_url
+    test -e $filename || wget -nc $image_url
+    grep $filename MD5SUMS | md5sum -c ||
+    if [ $? -ne 0 ]; then
+        rm $filename
+        wget -nc $image_url
+        grep $filename MD5SUMS | md5sum -c
+    fi
+    qemu-img convert $filename $raw_imgfile
+    cd -
+}
+
+# mount image
+setup() {
+    mkdir -p $mountdir
+
+    for i in $(seq 0 9); do
+        [ -a /dev/loop$i ] || mknod -m 660 /dev/loop$i b 7 $i
+    done
+
+    loopdevice=$(kpartx -l $raw_imgfile | head -1 | cut -f1 -d ' ')
+
+    kpartx -a $raw_imgfile
+
+    mount /dev/mapper/$loopdevice $mountdir
+    mount -t proc none $mountdir/proc
+
+    echo $loopdevice
+
+    sudo resize2fs /dev/mapper/$loopdevice
+
+    cp $cmd $mountdir/$(basename $cmd)
+}
+
+# modify image running a script using in a chrooted environment
+modify() {
+    # resolv.conf does not exist in base image, pass nameserver value from host
+    nameserver_ip=$(grep -m 1 '^nameserver' \
+        /etc/resolv.conf | awk '{ print $2 '})
+
+    # prevent init scripts from running during install
+    echo $'#!/bin/sh\nexit 101' >$mountdir/usr/sbin/policy-rc.d
+    chmod a+x $mountdir/usr/sbin/policy-rc.d
+
+    chroot $mountdir /$(basename $cmd) $nameserver_ip
+
+    rm -rf $mountdir/usr/sbin/policy-rc.d
+
+    umount -f $mountdir/proc
+    umount $mountdir
+
+    qemu-img convert -c -o compat=0.10 -O qcow2 $raw_imgfile $imgfile
+#    qemu-img convert -O vmdk $raw_imgfile $imgfile
+
+    if dmsetup table | grep $loopdevice; then
+       dmsetup clear $loopdevice || true
+    fi
+}
+
+# cleanup (umount) the image
+cleanup() {
+    # designed to be idempotent
+    mount | grep $mountdir/proc && umount $mountdir/proc
+    mount | grep $mountdir && umount $mountdir
+    if [ -f $raw_imgfile ]; then
+        kpartx -dv $raw_imgfile || true
+    fi
+    rm -f $raw_imgfile
+    rm -rf $mountdir
+}
+
+exitcode=""
+error_trap()
+{
+    local rc=$?
+
+    set +e
+
+    if [ -z "$exitcode" ]; then
+        exitcode=$rc
+    fi
+
+    cleanup
+
+    echo "Image build failed with $exitcode"
+
+    exit $exitcode
+}
+
+main() {
+    cleanup
+
+    trap "error_trap" EXIT SIGTERM
+
+    download
+    setup
+    modify
+    trap - EXIT SIGTERM
+    cleanup
+
+    echo "the modified image is found here: $imgfile"
+}
+
+main
index 2cf31f6..d31f4af 100644 (file)
@@ -201,12 +201,12 @@ class Server(Object):
                                              port_name,
                                              network.router.stack_if_name,
                                              self.secgroup_name)
-                self.floating_ip_assoc["stack_name"] = \
-                    server_name + "-fip-assoc"
-                template.add_floating_ip_association(
-                    self.floating_ip_assoc["stack_name"],
-                    self.floating_ip["stack_name"],
-                    port_name)
+                    self.floating_ip_assoc["stack_name"] = \
+                        server_name + "-fip-assoc"
+                    template.add_floating_ip_association(
+                        self.floating_ip_assoc["stack_name"],
+                        self.floating_ip["stack_name"],
+                        port_name)
 
         template.add_server(server_name, self.image, self.flavor,
                             ports=port_name_list,
index e5d1b9f..d37d669 100644 (file)
@@ -15,3 +15,15 @@ bare-metal-down:
 stop-service:
   inject_script: ha_tools/stop_service.bash
   recovery_script: ha_tools/start_service.bash
+
+close-interface:
+ inject_script: ha_tools/network/close_interface.bash
+ recovery_script: ha_tools/network/open_interface.bash
+
+stress-cpu:
+ inject_script: ha_tools/node/stress_cpu.bash
+ recovery_script: ha_tools/node/release_cpu.bash
+
+block-io:
+  inject_script: ha_tools/disk/block_io.bash
+  recovery_script: ha_tools/disk/recovery_disk_io.bash
\ No newline at end of file
diff --git a/yardstick/benchmark/scenarios/availability/ha_tools/disk/block_io.bash b/yardstick/benchmark/scenarios/availability/ha_tools/disk/block_io.bash
new file mode 100644 (file)
index 0000000..2ccf7ee
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+##############################################################################
+# (c) OPNFV, Yin Kanglin and others.
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# make a disk IO jam
+
+sudo dd if=/dev/zero of=/test.dbf bs=8k count=30000000 &
diff --git a/yardstick/benchmark/scenarios/availability/ha_tools/disk/recovery_disk_io.bash b/yardstick/benchmark/scenarios/availability/ha_tools/disk/recovery_disk_io.bash
new file mode 100644 (file)
index 0000000..dbe8519
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+##############################################################################
+# (c) OPNFV, Yin Kanglin and others.
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# recover a node from disk io block status
+
+sudo kill `pidof dd`
+
diff --git a/yardstick/benchmark/scenarios/availability/ha_tools/network/close_interface.bash b/yardstick/benchmark/scenarios/availability/ha_tools/network/close_interface.bash
new file mode 100644 (file)
index 0000000..02c8d47
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+##############################################################################
+# (c) OPNFV, Yin Kanglin and others.
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# close a network interface.
+# parameter: $1 - interface-name
+
+ifconfig $1 down
\ No newline at end of file
diff --git a/yardstick/benchmark/scenarios/availability/ha_tools/network/open_interface.bash b/yardstick/benchmark/scenarios/availability/ha_tools/network/open_interface.bash
new file mode 100644 (file)
index 0000000..953d5d3
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+##############################################################################
+# (c) OPNFV, Yin Kanglin and others.
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# open a network interface.
+# parameter: $1 - interfaced-name
+
+ifconfig $1 up
\ No newline at end of file
diff --git a/yardstick/benchmark/scenarios/availability/ha_tools/node/release_cpu.bash b/yardstick/benchmark/scenarios/availability/ha_tools/node/release_cpu.bash
new file mode 100644 (file)
index 0000000..8e25fae
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+##############################################################################
+# (c) OPNFV, Yin Kanglin and others.
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# release CPU stress.
+
+ps -ef|grep "dd if=/dev/zero of=/dev/null"|awk '{print$2}'|xargs kill -9
\ No newline at end of file
diff --git a/yardstick/benchmark/scenarios/availability/ha_tools/node/stress_cpu.bash b/yardstick/benchmark/scenarios/availability/ha_tools/node/stress_cpu.bash
new file mode 100644 (file)
index 0000000..30aa707
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+##############################################################################
+# (c) OPNFV, Yin Kanglin and others.
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# stress CPU usage to 100%.
+
+for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done
\ No newline at end of file
diff --git a/yardstick/benchmark/scenarios/availability/ha_tools/nova/create_flavor.bash b/yardstick/benchmark/scenarios/availability/ha_tools/nova/create_flavor.bash
new file mode 100644 (file)
index 0000000..5c2d6d7
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+##############################################################################
+# (c) OPNFV, Yin Kanglin and others.
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# create flavor
+# parameter: $1-name $2-id $3-ram $4-disk $5-vcpus
+
+set -e
+
+source /root/openrc
+
+nova flavor-create $1 $2 $3 $4 $5
diff --git a/yardstick/benchmark/scenarios/availability/ha_tools/nova/delete_flavor.bash b/yardstick/benchmark/scenarios/availability/ha_tools/nova/delete_flavor.bash
new file mode 100644 (file)
index 0000000..67d0c90
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+##############################################################################
+# (c) OPNFV, Yin Kanglin and others.
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# delete a flavor
+# parameter: $1 - flavor name/id
+
+set -e
+
+source /root/openrc
+
+nova flavor-delete $1
\ No newline at end of file
diff --git a/yardstick/benchmark/scenarios/availability/ha_tools/nova/show_flavors.bash b/yardstick/benchmark/scenarios/availability/ha_tools/nova/show_flavors.bash
new file mode 100644 (file)
index 0000000..0b1a9f0
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+##############################################################################
+# (c) OPNFV, Yin Kanglin and others.
+# 14_ykl@tongji.edu.cn
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# show all of the flavors
+
+set -e
+
+source /root/openrc
+
+nova flavor-list
\ No newline at end of file
index 1e67463..309a03d 100644 (file)
@@ -14,3 +14,7 @@ swift-upload-file:
 swift-download-file:
   action_script: ha_tools/swift/download.bash
   rollback_script: ha_tools/file/remove_file.bash
+
+nova-create-flavor:
+  action_script: ha_tools/nova/create_flavor.bash
+  rollback_script: ha_tools/nova/delete_flavor.bash
\ No newline at end of file
index 638c39a..faa4eb5 100644 (file)
@@ -8,4 +8,6 @@ process-checker:
 service-checker:
   verify_script: ha_tools/check_service.bash
 nova-instance-checker:
-  verify_script: ha_tools/nova/show_instances.bash
\ No newline at end of file
+  verify_script: ha_tools/nova/show_instances.bash
+nova-flavor-checker:
+  verify_script: ha_tools/nova/show_flavors.bash
\ No newline at end of file
index aee94ee..10f2c4f 100755 (executable)
@@ -66,6 +66,10 @@ class ServiceHA(base.Scenario):
         LOG.info("monitor stop!")
 
         sla_pass = self.monitorMgr.verify_SLA()
+        if sla_pass:
+            result['sla_pass'] = 1
+        else:
+            result['sla_pass'] = 0
         assert sla_pass is True, "the test cases is not pass the SLA"
 
         return
diff --git a/yardstick/benchmark/scenarios/networking/networkcapacity.bash b/yardstick/benchmark/scenarios/networking/networkcapacity.bash
new file mode 100644 (file)
index 0000000..a18f97e
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Measure compute capacity and scale of a host
+
+set -e
+OUTPUT_FILE=/tmp/netperf-out.log
+
+# run capacity test
+run_capacity()
+{
+    netstat -s > $OUTPUT_FILE
+}
+
+# write the result to stdout in json format
+output_json()
+{
+    CONNECTIONS=$(awk '/active/{print $1}' $OUTPUT_FILE)
+    FRAMES=$(awk '/total\ packets\ received/{print $1}' $OUTPUT_FILE)
+    echo -e "{ \
+        \"Number of connections\":\"$CONNECTIONS\", \
+        \"Number of frames received\": \"$FRAMES\" \
+    }"
+}
+
+main()
+{
+    run_capacity
+
+    output_json
+}
+
+main
diff --git a/yardstick/benchmark/scenarios/networking/networkcapacity.py b/yardstick/benchmark/scenarios/networking/networkcapacity.py
new file mode 100644 (file)
index 0000000..57d3b50
--- /dev/null
@@ -0,0 +1,69 @@
+##############################################################################\r
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.\r
+#\r
+# All rights reserved. This program and the accompanying materials\r
+# are made available under the terms of the Apache License, Version 2.0\r
+# which accompanies this distribution, and is available at\r
+# http://www.apache.org/licenses/LICENSE-2.0\r
+##############################################################################\r
+import pkg_resources\r
+import logging\r
+import json\r
+\r
+import yardstick.ssh as ssh\r
+from yardstick.benchmark.scenarios import base\r
+\r
+LOG = logging.getLogger(__name__)\r
+\r
+\r
+class NetworkCapacity(base.Scenario):\r
+    """Measure Network capacity and scale.\r
+\r
+    This scenario reads network status including number of connections,\r
+    number of frames sent/received.\r
+    """\r
+    __scenario_type__ = "NetworkCapacity"\r
+    TARGET_SCRIPT = "networkcapacity.bash"\r
+\r
+    def __init__(self, scenario_cfg, context_cfg):\r
+        self.scenario_cfg = scenario_cfg\r
+        self.context_cfg = context_cfg\r
+        self.setup_done = False\r
+\r
+    def setup(self):\r
+        """scenario setup"""\r
+        self.target_script = pkg_resources.resource_filename(\r
+            "yardstick.benchmark.scenarios.networking",\r
+            NetworkCapacity.TARGET_SCRIPT)\r
+\r
+        host = self.context_cfg['host']\r
+        if host is None:\r
+            raise RuntimeError('No right node.please check the configuration')\r
+        host_user = host.get('user', 'ubuntu')\r
+        host_ip = host.get('ip', None)\r
+        host_pwd = host.get('password', None)\r
+\r
+        LOG.debug("user:%s, host:%s", host_user, host_ip)\r
+        self.client = ssh.SSH(host_user, host_ip, password=host_pwd)\r
+        self.client.wait(timeout=600)\r
+\r
+        # copy script to host\r
+        self.client.run("cat > ~/networkcapacity.sh",\r
+                        stdin=open(self.target_script, 'rb'))\r
+\r
+        self.setup_done = True\r
+\r
+    def run(self, result):\r
+        """execute the benchmark"""\r
+\r
+        if not self.setup_done:\r
+            self.setup()\r
+\r
+        cmd = "sudo bash networkcapacity.sh"\r
+\r
+        LOG.debug("Executing command: %s", cmd)\r
+        status, stdout, stderr = self.client.execute(cmd)\r
+        if status:\r
+            raise RuntimeError(stderr)\r
+\r
+        result.update(json.loads(stdout))\r
diff --git a/yardstick/benchmark/scenarios/networking/pktgen_dpdk.py b/yardstick/benchmark/scenarios/networking/pktgen_dpdk.py
new file mode 100644 (file)
index 0000000..86585ec
--- /dev/null
@@ -0,0 +1,162 @@
+##############################################################################
+# Copyright (c) 2016 ZTE corporation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import pkg_resources
+import logging
+import time
+
+import yardstick.ssh as ssh
+from yardstick.benchmark.scenarios import base
+
+LOG = logging.getLogger(__name__)
+
+
+class PktgenDPDKLatency(base.Scenario):
+    """Execute pktgen-dpdk on one vm and execute testpmd on the other vm
+
+  Parameters
+    packetsize - packet size in bytes without the CRC
+        type:    int
+        unit:    bytes
+        default: 64
+    """
+    __scenario_type__ = "PktgenDPDKLatency"
+
+    PKTGEN_DPDK_SCRIPT = 'pktgen_dpdk_latency_benchmark.bash'
+    TESTPMD_SCRIPT = 'testpmd_fwd.bash'
+
+    def __init__(self, scenario_cfg, context_cfg):
+        self.scenario_cfg = scenario_cfg
+        self.context_cfg = context_cfg
+        self.setup_done = False
+
+    def setup(self):
+        '''scenario setup'''
+        self.pktgen_dpdk_script = pkg_resources.resource_filename(
+            'yardstick.benchmark.scenarios.networking',
+            PktgenDPDKLatency.PKTGEN_DPDK_SCRIPT)
+        self.testpmd_script = pkg_resources.resource_filename(
+            'yardstick.benchmark.scenarios.networking',
+            PktgenDPDKLatency.TESTPMD_SCRIPT)
+        host = self.context_cfg['host']
+        host_user = host.get('user', 'ubuntu')
+        host_ip = host.get('ip', None)
+        host_key_filename = host.get('key_filename', '~/.ssh/id_rsa')
+        target = self.context_cfg['target']
+        target_user = target.get('user', 'ubuntu')
+        target_ip = target.get('ip', None)
+        target_key_filename = target.get('key_filename', '~/.ssh/id_rsa')
+        LOG.info("user:%s, target:%s", target_user, target_ip)
+        self.server = ssh.SSH(target_user, target_ip,
+                              key_filename=target_key_filename)
+        self.server.wait(timeout=600)
+
+        # copy script to host
+        self.server.run("cat > ~/testpmd_fwd.sh",
+                        stdin=open(self.testpmd_script, "rb"))
+
+        LOG.info("user:%s, host:%s", host_user, host_ip)
+        self.client = ssh.SSH(host_user, host_ip,
+                              key_filename=host_key_filename)
+        self.client.wait(timeout=600)
+
+        # copy script to host
+        self.client.run("cat > ~/pktgen_dpdk.sh",
+                        stdin=open(self.pktgen_dpdk_script, "rb"))
+
+        self.setup_done = True
+        self.testpmd_args = ''
+        self.pktgen_args = []
+
+    @staticmethod
+    def get_port_mac(sshclient, port):
+        cmd = "ifconfig |grep HWaddr |grep %s |awk '{print $5}' " % port
+        LOG.debug("Executing command: %s", cmd)
+        status, stdout, stderr = sshclient.execute(cmd)
+
+        if status:
+            raise RuntimeError(stderr)
+        else:
+            return stdout.rstrip()
+
+    @staticmethod
+    def get_port_ip(sshclient, port):
+        cmd = "ifconfig %s |grep 'inet addr' |awk '{print $2}' \
+            |cut -d ':' -f2 " % port
+        LOG.debug("Executing command: %s", cmd)
+        status, stdout, stderr = sshclient.execute(cmd)
+
+        if status:
+            raise RuntimeError(stderr)
+        else:
+            return stdout.rstrip()
+
+    def run(self, result):
+        """execute the benchmark"""
+
+        if not self.setup_done:
+            self.setup()
+
+        if not self.testpmd_args:
+            self.testpmd_args = self.get_port_mac(self.client, 'eth2')
+
+        if not self.pktgen_args:
+            server_rev_mac = self.get_port_mac(self.server, 'eth1')
+            server_send_mac = self.get_port_mac(self.server, 'eth2')
+            client_src_ip = self.get_port_ip(self.client, 'eth1')
+            client_dst_ip = self.get_port_ip(self.client, 'eth2')
+
+            self.pktgen_args = [client_src_ip, client_dst_ip,
+                                server_rev_mac, server_send_mac]
+
+        options = self.scenario_cfg['options']
+        packetsize = options.get("packetsize", 64)
+        rate = options.get("rate", 100)
+
+        cmd = "screen sudo -E bash ~/testpmd_fwd.sh %s " % (self.testpmd_args)
+        LOG.debug("Executing command: %s", cmd)
+        self.server.send_command(cmd)
+
+        time.sleep(1)
+
+        cmd = "screen sudo -E bash ~/pktgen_dpdk.sh %s %s %s %s %s %s" % \
+            (self.pktgen_args[0], self.pktgen_args[1], self.pktgen_args[2],
+             self.pktgen_args[3], rate, packetsize)
+        LOG.debug("Executing command: %s", cmd)
+        self.client.send_command(cmd)
+
+        # wait for finishing test
+        time.sleep(1)
+
+        cmd = "cat ~/result.log -vT \
+               |awk '{match($0,/\[8;40H +[0-9]+/)} \
+               {print substr($0,RSTART,RLENGTH)}' \
+               |grep -v ^$ |awk '{if ($2 != 0) print $2}'"
+        client_status, client_stdout, client_stderr = self.client.execute(cmd)
+
+        if client_status:
+            raise RuntimeError(client_stderr)
+
+        avg_latency = 0
+        if client_stdout:
+            latency_list = client_stdout.split('\n')[0:-2]
+            LOG.info("10 samples of latency: %s", latency_list)
+            latency_sum = 0
+            for i in latency_list:
+                latency_sum += int(i)
+            avg_latency = latency_sum/len(latency_list)
+
+        result.update({"avg_latency": avg_latency})
+
+        if avg_latency and "sla" in self.scenario_cfg:
+            sla_max_latency = int(self.scenario_cfg["sla"]["max_latency"])
+            LOG.info("avg_latency : %d ", avg_latency)
+            LOG.info("sla_max_latency: %d", sla_max_latency)
+            debug_info = "avg_latency %d > sla_max_latency %d" \
+                % (avg_latency, sla_max_latency)
+            assert avg_latency <= sla_max_latency, debug_info
diff --git a/yardstick/benchmark/scenarios/networking/pktgen_dpdk_latency_benchmark.bash b/yardstick/benchmark/scenarios/networking/pktgen_dpdk_latency_benchmark.bash
new file mode 100644 (file)
index 0000000..f6f361e
--- /dev/null
@@ -0,0 +1,147 @@
+!/bin/sh
+
+set -e
+
+# Commandline arguments
+SRC_IP=$1         # source IP address of sender in VM A
+DST_IP=$2         # destination IP address of receiver in VM A
+FWD_REV_MAC=$3    # MAC address of forwarding receiver in VM B
+FWD_SEND_MAC=$4   # MAC address of forwarding sender in VM B
+RATE=$5           # packet rate in percentage
+PKT_SIZE=$6       # packet size
+
+
+load_modules()
+{
+    if lsmod | grep "uio" &> /dev/null ; then
+    echo "uio module is loaded"
+    else
+    modprobe uio
+    fi
+
+    if lsmod | grep "igb_uio" &> /dev/null ; then
+    echo "igb_uio module is loaded"
+    else
+    insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
+    fi
+
+    if lsmod | grep "rte_kni" &> /dev/null ; then
+    echo "rte_kni module is loaded"
+    else
+    insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/rte_kni.ko
+    fi
+}
+
+change_permissions()
+{
+    chmod 777 /sys/bus/pci/drivers/virtio-pci/*
+    chmod 777 /sys/bus/pci/drivers/igb_uio/*
+}
+
+add_interface_to_dpdk(){
+    interfaces=$(lspci |grep Eth |tail -n +2 |awk '{print $1}')
+    /dpdk/tools/dpdk-devbind.py --bind=igb_uio $interfaces
+
+}
+
+create_pktgen_config_lua()
+{
+    touch /home/ubuntu/pktgen_latency.lua
+    lua_file="/home/ubuntu/pktgen_latency.lua"
+    chmod 777 $lua_file
+    echo $lua_file
+
+    cat << EOF > "/home/ubuntu/pktgen_latency.lua"
+package.path = package.path ..";?.lua;test/?.lua;app/?.lua;"
+
+ -- require "Pktgen";
+function pktgen_config()
+
+  pktgen.screen("off");
+
+  pktgen.set_ipaddr("0", "dst", "$DST_IP");
+  pktgen.set_ipaddr("0", "src", "$SRC_IP/24");
+  pktgen.set_mac("0", "$FWD_REV_MAC");
+  pktgen.set_ipaddr("1", "dst", "$SRC_IP");
+  pktgen.set_ipaddr("1", "src", "$DST_IP/24");
+  pktgen.set_mac("1", "$FWD_SEND_MAC");
+  pktgen.set(0, "rate", $RATE);
+  pktgen.set(0, "size", $PKT_SIZE);
+  pktgen.set_proto("all", "udp");
+  pktgen.latency("all","enable");
+  pktgen.latency("all","on");
+
+  pktgen.start(0);
+  end
+
+pktgen_config()
+EOF
+}
+
+
+create_expect_file()
+{
+    touch /home/ubuntu/pktgen.exp
+    expect_file="/home/ubuntu/pktgen.exp"
+    chmod 777 $expect_file
+    echo $expect_file
+
+    cat << 'EOF' > "/home/ubuntu/pktgen.exp"
+#!/usr/bin/expect
+
+set blacklist  [lindex $argv 0]
+set log [lindex $argv 1]
+set result {}
+set timeout 15
+spawn ./app/app/x86_64-native-linuxapp-gcc/pktgen -c 0x07 -n 4 -b $blacklist -- -P -m "1.0, 2.1" -f /home/ubuntu/pktgen_latency.lua
+expect "Pktgen>"
+send "\n"
+expect "Pktgen>"
+send "screen on\n"
+expect "Pktgen>"
+set count 10
+while { $count } {
+    send "page latency\n"
+    expect {
+        timeout { send "\n" }
+        -regexp {..*} {
+            set result "${result}$expect_out(0,string)"
+            set timeout 1
+            exp_continue
+         }
+        "Pktgen>"
+    }
+    set count [expr $count-1]
+}
+send "stop 0\n"
+expect "Pktgen>"
+send "quit\n"
+expect "#"
+
+set file [ open $log w ]
+puts $file $result
+EOF
+
+}
+
+run_pktgen()
+{
+    blacklist=$(lspci |grep Eth |awk '{print $1}'|head -1)
+    cd /pktgen-dpdk
+    touch /home/ubuntu/result.log
+    result_log="/home/ubuntu/result.log"
+    sudo expect /home/ubuntu/pktgen.exp $blacklist $result_log
+}
+
+main()
+{
+    load_modules
+    change_permissions
+    create_pktgen_config_lua
+    create_expect_file
+    add_interface_to_dpdk
+    run_pktgen
+}
+
+main
+
diff --git a/yardstick/benchmark/scenarios/networking/testpmd_fwd.bash b/yardstick/benchmark/scenarios/networking/testpmd_fwd.bash
new file mode 100644 (file)
index 0000000..ac18db4
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+set -e
+
+# Commandline arguments
+DST_MAC=$1         # MAC address of the peer port
+
+load_modules()
+{
+    if lsmod | grep "uio" &> /dev/null ; then
+    echo "uio module is loaded"
+    else
+    modprobe uio
+    fi
+
+    if lsmod | grep "igb_uio" &> /dev/null ; then
+    echo "igb_uio module is loaded"
+    else
+    insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
+    fi
+
+    if lsmod | grep "rte_kni" &> /dev/null ; then
+    echo "rte_kni module is loaded"
+    else
+    insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/rte_kni.ko
+    fi
+}
+
+change_permissions()
+{
+    chmod 777 /sys/bus/pci/drivers/virtio-pci/*
+    chmod 777 /sys/bus/pci/drivers/igb_uio/*
+}
+
+add_interface_to_dpdk(){
+    interfaces=$(lspci |grep Eth |tail -n +2 |awk '{print $1}')
+    /dpdk/tools/dpdk-devbind.py --bind=igb_uio $interfaces
+}
+
+run_testpmd()
+{
+    blacklist=$(lspci |grep Eth |awk '{print $1}'|head -1)
+    cd /dpdk
+    sudo ./destdir/bin/testpmd -c 0x07 -n 4 -b $blacklist -- -a --eth-peer=1,$DST_MAC --forward-mode=mac
+}
+
+main()
+{
+    load_modules
+    change_permissions
+    add_interface_to_dpdk
+    run_testpmd
+}
+
+main
diff --git a/yardstick/benchmark/scenarios/storage/storagecapacity.bash b/yardstick/benchmark/scenarios/storage/storagecapacity.bash
new file mode 100644 (file)
index 0000000..f963782
--- /dev/null
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Measure storage capacity and scale of a host
+
+set -e
+OUTPUT_FILE=/tmp/storagecapacity-out.log
+
+# run disk_size test
+run_disk_size()
+{
+    fdisk -l | grep '^Disk.*bytes$' | awk -F [:,\ ] '{print $2,$7}' > $OUTPUT_FILE
+}
+
+# write the disk size to stdout in json format
+output_disk_size()
+{
+    DEVICENUM=`awk 'END{print NR}' $OUTPUT_FILE`
+    DISKSIZE=`awk 'BEGIN{cnt=0;} {cnt=cnt+$2} END{print cnt}' $OUTPUT_FILE`
+    echo -e "{\
+         \"Number of devices\":\"$DEVICENUM\", \
+         \"Total disk size in bytes\":\"$DISKSIZE\" \
+    }"
+}
+
+# run block_size test
+run_block_size()
+{
+    echo -n "" > $OUTPUT_FILE
+    blkdevices=`fdisk -l | grep '^Disk.*bytes$' | awk -F [:,\ ] '{print $2}'`
+    blkdevices=($blkdevices)
+    for bd in "${blkdevices[@]}";do
+        blk_size=`blockdev --getbsz $bd`
+        echo '"'$bd'" '$blk_size >> $OUTPUT_FILE
+    done
+}
+
+# write the block size to stdout in json format
+output_block_size()
+{
+    BLK_SIZE_STR=`awk 'BEGIN{r="{";} {r=r""$1":"$2","} END{print r}' $OUTPUT_FILE`
+    BLK_SIZE_STR=${BLK_SIZE_STR%,}"}"
+    echo $BLK_SIZE_STR
+}
+
+main()
+{
+    test_type=$1
+    case $test_type in
+        "disk_size" )
+            run_disk_size
+            output_disk_size
+        ;;
+        "block_size" )
+            run_block_size
+            output_block_size
+        ;;
+    esac
+}
+
+main $1
diff --git a/yardstick/benchmark/scenarios/storage/storagecapacity.py b/yardstick/benchmark/scenarios/storage/storagecapacity.py
new file mode 100644 (file)
index 0000000..49e3a03
--- /dev/null
@@ -0,0 +1,133 @@
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd and other.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import pkg_resources
+import logging
+import json
+
+import yardstick.ssh as ssh
+from yardstick.benchmark.scenarios import base
+
+LOG = logging.getLogger(__name__)
+
+
+class StorageCapacity(base.Scenario):
+    """Measure storage capacity and scale.
+
+    Parameters:
+        test_type - specified whether to measure.
+        valid test type are disk_size, block_size, disk_utilization
+            type: string
+            unit: na
+            default: "disk_size"
+        interval - specified how ofter to stat disk utilization
+            type: int
+            unit: seconds
+            default: 1
+        count - specified how many times to stat disk utilization
+            type: int
+            unit: na
+            default: 15
+
+    This scenario reads hardware specification,
+    disk size, block size and disk utilization.
+    """
+    __scenario_type__ = "StorageCapacity"
+    TARGET_SCRIPT = "storagecapacity.bash"
+
+    def __init__(self, scenario_cfg, context_cfg):
+        self.scenario_cfg = scenario_cfg
+        self.context_cfg = context_cfg
+        self.setup_done = False
+
+    def setup(self):
+        """scenario setup"""
+        self.target_script = pkg_resources.resource_filename(
+            "yardstick.benchmark.scenarios.storage",
+            StorageCapacity.TARGET_SCRIPT)
+        host = self.context_cfg['host']
+        if host is None:
+            raise RuntimeError('No right node.Please check the configuration')
+        host_user = host.get('user', 'ubuntu')
+        host_ip = host.get('ip', None)
+        host_pwd = host.get('password', 'root')
+        LOG.debug("user:%s, host:%s", host_user, host_ip)
+
+        self.client = ssh.SSH(host_user, host_ip, password=host_pwd)
+        self.client.wait(timeout=600)
+
+        # copy script to host
+        self.client.run("cat > ~/storagecapacity.sh",
+                        stdin=open(self.target_script, 'rb'))
+
+        self.setup_done = True
+
+    def _get_disk_utilization(self):
+        """Get disk utilization using iostat."""
+        options = self.scenario_cfg["options"]
+        interval = options.get('interval', 1)
+        count = options.get('count', 15)
+
+        cmd = "sudo iostat -dx %d %d | awk 'NF==14 && \
+               $1 !~ /Device/ {print $1,$14}'" % (interval, count)
+
+        LOG.debug("Executing command: %s", cmd)
+        status, stdout, stderr = self.client.execute(cmd)
+        if status:
+            raise RuntimeError(stderr)
+
+        device_name_arr = []
+        min_util_arr = []
+        max_util_arr = []
+        avg_util_arr = []
+        for row in stdout.split('\n'):
+            kv = row.split(' ')
+            if len(kv) != 2:
+                continue
+            name = kv[0]
+            util = float(kv[1])
+            if name not in device_name_arr:
+                device_name_arr.append(name)
+                min_util_arr.append(util)
+                max_util_arr.append(util)
+                avg_util_arr.append(util)
+            else:
+                i = device_name_arr.index(name)
+                min_util_arr[i] = min_util_arr[i] \
+                    if min_util_arr[i] < util else util
+                max_util_arr[i] = max_util_arr[i] \
+                    if max_util_arr[i] > util else util
+                avg_util_arr[i] += util
+        r = {}
+        for i in range(len(device_name_arr)):
+            r[device_name_arr[i]] = {"min_util": min_util_arr[i],
+                                     "max_util": max_util_arr[i],
+                                     "avg_util": avg_util_arr[i]/count}
+        return r
+
+    def run(self, result):
+        """execute the benchmark"""
+
+        if not self.setup_done:
+            self.setup()
+
+        options = self.scenario_cfg["options"]
+        test_type = options.get('test_type', 'disk_size')
+
+        if test_type == "disk_utilization":
+            r = self._get_disk_utilization()
+            result.update(r)
+        else:
+            cmd = "sudo bash storagecapacity.sh " + test_type
+
+            LOG.debug("Executing command: %s", cmd)
+            status, stdout, stderr = self.client.execute(cmd)
+            if status:
+                raise RuntimeError(stderr)
+
+            result.update(json.loads(stdout))
diff --git a/yardstick/benchmark/scenarios/storage/storperf.py b/yardstick/benchmark/scenarios/storage/storperf.py
new file mode 100644 (file)
index 0000000..d39c23a
--- /dev/null
@@ -0,0 +1,208 @@
+##############################################################################
+# Copyright (c) 2016 Huawei Technologies Co.,Ltd.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+import logging
+import json
+import requests
+import time
+
+from yardstick.benchmark.scenarios import base
+
+LOG = logging.getLogger(__name__)
+
+
+class StorPerf(base.Scenario):
+    """Execute StorPerf benchmark.
+    Once the StorPerf container has been started and the ReST API exposed,
+    you can interact directly with it using the ReST API. StorPerf comes with a
+    Swagger interface that is accessible through the exposed port at:
+    http://StorPerf:5000/swagger/index.html
+
+  Command line options:
+    target = [device or path] (Optional):
+    The path to either an attached storage device (/dev/vdb, etc) or a
+    directory path (/opt/storperf) that will be used to execute the performance
+    test. In the case of a device, the entire device will be used.
+    If not specified, the current directory will be used.
+
+    workload = [workload module] (Optional):
+    If not specified, the default is to run all workloads.
+    The workload types are:
+        rs: 100% Read, sequential data
+        ws: 100% Write, sequential data
+        rr: 100% Read, random access
+        wr: 100% Write, random access
+        rw: 70% Read / 30% write, random access
+
+    nossd (Optional):
+    Do not perform SSD style preconditioning.
+
+    nowarm (Optional):
+    Do not perform a warmup prior to measurements.
+
+    report = [job_id] (Optional):
+    Query the status of the supplied job_id and report on metrics.
+    If a workload is supplied, will report on only that subset.
+
+    """
+    __scenario_type__ = "StorPerf"
+
+    def __init__(self, scenario_cfg, context_cfg):
+        """Scenario construction."""
+        self.scenario_cfg = scenario_cfg
+        self.context_cfg = context_cfg
+        self.options = self.scenario_cfg["options"]
+
+        self.target = self.options.get("StorPerf_ip", None)
+        self.query_interval = self.options.get("query_interval", 10)
+        # Maximum allowed job time
+        self.timeout = self.options.get('timeout', 3600)
+
+        self.setup_done = False
+        self.job_completed = False
+
+    def _query_setup_state(self):
+        """Query the stack status."""
+        LOG.info("Querying the stack state...")
+        setup_query = requests.get('http://%s:5000/api/v1.0/configurations'
+                                   % self.target)
+
+        setup_query_content = json.loads(setup_query.content)
+        if setup_query_content["stack_created"]:
+            self.setup_done = True
+            LOG.debug("stack_created: %s"
+                      % setup_query_content["stack_created"])
+
+    def setup(self):
+        """Set the configuration."""
+        env_args = {}
+        env_args_payload_list = ["agent_count", "public_network",
+                                 "agent_image", "volume_size"]
+
+        for env_argument in env_args_payload_list:
+            if env_argument in self.options:
+                env_args[env_argument] = self.options[env_argument]
+
+        LOG.info("Creating a stack on node %s with parameters %s" %
+                 (self.target, env_args))
+        setup_res = requests.post('http://%s:5000/api/v1.0/configurations'
+                                  % self.target, json=env_args)
+
+        setup_res_content = json.loads(setup_res.content)
+
+        if setup_res.status_code == 400:
+            raise RuntimeError("Failed to create a stack, error message:",
+                               setup_res_content["message"])
+        elif setup_res.status_code == 200:
+            LOG.info("stack_id: %s" % setup_res_content["stack_id"])
+
+            while not self.setup_done:
+                self._query_setup_state()
+                time.sleep(self.query_interval)
+
+    # TODO: Support Storperf job status.
+
+    # def _query_job_state(self, job_id):
+    #     """Query the status of the supplied job_id and report on metrics"""
+    #     LOG.info("Fetching report for %s..." % job_id)
+    #     report_res = requests.get('http://%s:5000/api/v1.0/jobs?id=%s' %
+    #                               (self.target, job_id))
+
+    #     report_res_content = json.loads(report_res.content)
+
+    #     if report_res.status_code == 400:
+    #         raise RuntimeError("Failed to fetch report, error message:",
+    #                            report_res_content["message"])
+    #     else:
+    #         job_status = report_res_content["status"]
+
+    #     LOG.debug("Job is: %s..." % job_status)
+    #     if job_status == "completed":
+    #         self.job_completed = True
+
+        # TODO: Support using StorPerf ReST API to read Job ETA.
+
+        # if job_status == "completed":
+        #     self.job_completed = True
+        #     ETA = 0
+        # elif job_status == "running":
+        #     ETA = report_res_content['time']
+        #
+        # return ETA
+
+    def run(self, result):
+        """Execute StorPerf benchmark"""
+        if not self.setup_done:
+            self.setup()
+
+        job_args = {}
+        job_args_payload_list = ["block_sizes", "queue_depths", "deadline",
+                                 "target", "nossd", "nowarm", "workload"]
+
+        for job_argument in job_args_payload_list:
+            if job_argument in self.options:
+                job_args[job_argument] = self.options[job_argument]
+
+        LOG.info("Starting a job with parameters %s" % job_args)
+        job_res = requests.post('http://%s:5000/api/v1.0/jobs' % self.target,
+                                json=job_args)
+
+        job_res_content = json.loads(job_res.content)
+
+        if job_res.status_code == 400:
+            raise RuntimeError("Failed to start a job, error message:",
+                               job_res_content["message"])
+        elif job_res.status_code == 200:
+            job_id = job_res_content["job_id"]
+            LOG.info("Started job id: %s..." % job_id)
+
+            time.sleep(self.timeout)
+            terminate_res = requests.delete('http://%s:5000/api/v1.0/jobs' %
+                                            self.target)
+
+            if terminate_res.status_code == 400:
+                terminate_res_content = json.loads(terminate_res.content)
+                raise RuntimeError("Failed to start a job, error message:",
+                                   terminate_res_content["message"])
+
+        # TODO: Support Storperf job status.
+
+        #   while not self.job_completed:
+        #       self._query_job_state(job_id)
+        #       time.sleep(self.query_interval)
+
+        # TODO: Support using ETA to polls for completion.
+        #       Read ETA, next poll in 1/2 ETA time slot.
+        #       If ETA is greater than the maximum allowed job time,
+        #       then terminate job immediately.
+
+        #   while not self.job_completed:
+        #       esti_time = self._query_state(job_id)
+        #       if esti_time > self.timeout:
+        #           terminate_res = requests.delete('http://%s:5000/api/v1.0
+        #                                           /jobs' % self.target)
+        #       else:
+        #           time.sleep(int(est_time)/2)
+
+            result_res = requests.get('http://%s:5000/api/v1.0/jobs?id=%s' %
+                                      (self.target, job_id))
+            result_res_content = json.loads(result_res.content)
+
+            result.update(result_res_content)
+
+    def teardown(self):
+        """Deletes the agent configuration and the stack"""
+        teardown_res = requests.delete('http://%s:5000/api/v1.0/\
+                                       configurations' % self.target)
+
+        if teardown_res.status_code == 400:
+            teardown_res_content = json.loads(teardown_res.content)
+            raise RuntimeError("Failed to reset environment, error message:",
+                               teardown_res_content['message'])
+
+        self.setup_done = False
index 8e3ddb5..9936942 100644 (file)
@@ -9,6 +9,7 @@
 
 """ Handler for yardstick command 'plugin' """
 
+import os
 import sys
 import yaml
 import time
@@ -40,8 +41,10 @@ class PluginCommands(object):
         plugin_name = plugins.get("name")
         print("Installing plugin: %s" % plugin_name)
 
+        LOG.info("Executing _install_setup()")
         self._install_setup(plugin_name, deployment)
 
+        LOG.info("Executing _run()")
         self._run(plugin_name)
 
         total_end_time = time.time()
@@ -60,10 +63,12 @@ class PluginCommands(object):
 
         plugins, deployment = parser.parse_plugin()
         plugin_name = plugins.get("name")
-        print("Remove plugin: %s" % plugin_name)
+        print("Removing plugin: %s" % plugin_name)
 
+        LOG.info("Executing _remove_setup()")
         self._remove_setup(plugin_name, deployment)
 
+        LOG.info("Executing _run()")
         self._run(plugin_name)
 
         total_end_time = time.time()
@@ -80,15 +85,25 @@ class PluginCommands(object):
 
         deployment_user = deployment.get("user")
         deployment_ip = deployment.get("ip")
-
         deployment_password = deployment.get("password")
-        LOG.debug("user:%s, host:%s", deployment_user, deployment_ip)
-        self.client = ssh.SSH(deployment_user, deployment_ip,
-                              password=deployment_password)
-        self.client.wait(timeout=600)
+
+        if deployment_ip == "local":
+            installer_ip = os.environ.get("INSTALLER_IP", None)
+
+            LOG.info("user:%s, host:%s", deployment_user, installer_ip)
+            self.client = ssh.SSH(deployment_user, installer_ip,
+                                  password=deployment_password)
+            self.client.wait(timeout=600)
+        else:
+            LOG.info("user:%s, host:%s", deployment_user, deployment_ip)
+            self.client = ssh.SSH(deployment_user, deployment_ip,
+                                  password=deployment_password)
+            self.client.wait(timeout=600)
 
         # copy script to host
         cmd = "cat > ~/%s.sh" % plugin_name
+
+        LOG.info("copying script to host: %s", cmd)
         self.client.run(cmd, stdin=open(self.script, 'rb'))
 
     def _remove_setup(self, plugin_name, deployment):
@@ -99,22 +114,32 @@ class PluginCommands(object):
 
         deployment_user = deployment.get("user")
         deployment_ip = deployment.get("ip")
-
         deployment_password = deployment.get("password")
-        LOG.debug("user:%s, host:%s", deployment_user, deployment_ip)
-        self.client = ssh.SSH(deployment_user, deployment_ip,
-                              password=deployment_password)
-        self.client.wait(timeout=600)
+
+        if deployment_ip == "local":
+            installer_ip = os.environ.get("INSTALLER_IP", None)
+
+            LOG.info("user:%s, host:%s", deployment_user, installer_ip)
+            self.client = ssh.SSH(deployment_user, installer_ip,
+                                  password=deployment_password)
+            self.client.wait(timeout=600)
+        else:
+            LOG.info("user:%s, host:%s", deployment_user, deployment_ip)
+            self.client = ssh.SSH(deployment_user, deployment_ip,
+                                  password=deployment_password)
+            self.client.wait(timeout=600)
 
         # copy script to host
         cmd = "cat > ~/%s.sh" % plugin_name
+
+        LOG.info("copying script to host: %s", cmd)
         self.client.run(cmd, stdin=open(self.script, 'rb'))
 
     def _run(self, plugin_name):
         '''Run installation script '''
         cmd = "sudo bash %s" % plugin_name + ".sh"
 
-        LOG.debug("Executing command: %s", cmd)
+        LOG.info("Executing command: %s", cmd)
         status, stdout, stderr = self.client.execute(cmd)
 
 
index 18b72e7..b38e084 100644 (file)
@@ -206,7 +206,7 @@ class TaskParser(object):
             test_cases_dir += os.sep
 
         cur_pod = os.environ.get('NODE_NAME', None)
-        cur_installer = os.environ.get('INSTALL_TYPE', None)
+        cur_installer = os.environ.get('INSTALLER_TYPE', None)
 
         valid_task_files = []
         valid_task_args = []
@@ -275,10 +275,16 @@ class TaskParser(object):
         for cfg_attrs in context_cfgs:
             context_type = cfg_attrs.get("type", "Heat")
             if "Heat" == context_type and "networks" in cfg_attrs:
+                # bugfix: if there are more than one network,
+                # only add "external_network" on first one.
+                # the name of netwrok should follow this rule:
+                # test, test2, test3 ...
+                # sort network with the length of network's name
+                sorted_networks = sorted(cfg_attrs["networks"].keys())
                 # config external_network based on env var
-                for _, attrs in cfg_attrs["networks"].items():
-                    attrs["external_network"] = os.environ.get(
-                        'EXTERNAL_NETWORK', 'net04_ext')
+                cfg_attrs["networks"][sorted_networks[0]]["external_network"] \
+                    = os.environ.get("EXTERNAL_NETWORK", "net04_ext")
+
             context = Context.get(context_type)
             context.init(cfg_attrs)
 
index 339f834..cf890df 100644 (file)
@@ -121,7 +121,9 @@ class SSH(object):
             self._client.connect(self.host, username=self.user,
                                  port=self.port, pkey=self.pkey,
                                  key_filename=self.key_filename,
-                                 password=self.password, timeout=1)
+                                 password=self.password,
+                                 allow_agent=False, look_for_keys=False,
+                                 timeout=1)
             return self._client
         except Exception as e:
             message = ("Exception %(exception_type)s was raised "
@@ -261,3 +263,8 @@ class SSH(object):
 
         with SCPClient(client.get_transport()) as scp:
             scp.put(files, remote_path, recursive)
+
+    # keep shell running in the background, e.g. screen
+    def send_command(self, command):
+        client = self._get_client()
+        client.exec_command(command, get_pty=True)