Merge "update versions under scenario"
authorSerena Feng <feng.xiaowei@zte.com.cn>
Mon, 28 Aug 2017 07:50:12 +0000 (07:50 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Mon, 28 Aug 2017 07:50:12 +0000 (07:50 +0000)
19 files changed:
jjb/apex/apex-deploy.sh
jjb/apex/apex.yml
jjb/apex/apex.yml.j2
jjb/armband/armband-ci-jobs.yml
jjb/bottlenecks/bottlenecks-run-suite.sh
jjb/compass4nfv/compass-dovetail-jobs.yml
jjb/doctor/doctor.yml
jjb/dovetail/dovetail-ci-jobs.yml
jjb/dovetail/dovetail-run.sh
jjb/functest/functest-alpine.sh
jjb/functest/functest-daily-jobs.yml
jjb/functest/set-functest-env.sh
jjb/global/slave-params.yml
jjb/yardstick/yardstick-daily-jobs.yml
utils/push-test-logs.sh
utils/test/reporting/docker/Dockerfile
utils/test/reporting/docker/web_server.sh
utils/test/reporting/reporting/functest/template/index-status-tmpl.html
utils/test/reporting/setup.py

index ed02714..4244f44 100755 (executable)
@@ -56,7 +56,9 @@ else
   BASE=$CONFIG
   IMAGES=$RESOURCES
   LIB="/var/opt/opnfv/lib"
-
+  sudo mkdir -p /var/log/apex
+  sudo chmod 777 /var/log/apex
+  cd /var/log/apex
 fi
 
 # Install Dependencies
index f0e0535..51f59f7 100644 (file)
                     branch-pattern: '**/{branch}'
                 file-paths:
                   - compare-type: ANT
-                    pattern: 'tests/**'
+                    pattern: 'apex/tests/**'
     properties:
         - logrotate-default
         - throttle:
                     pattern: 'lib/**'
                   - compare-type: ANT
                     pattern: 'config/**'
+                  - compare-type: ANT
+                    pattern: 'apex/**'
 
     properties:
         - logrotate-default
index 5a44dbc..99076fb 100644 (file)
@@ -92,7 +92,7 @@
                     branch-pattern: '**/{branch}'
                 file-paths:
                   - compare-type: ANT
-                    pattern: 'tests/**'
+                    pattern: 'apex/tests/**'
     properties:
         - logrotate-default
         - throttle:
                     pattern: 'lib/**'
                   - compare-type: ANT
                     pattern: 'config/**'
+                  - compare-type: ANT
+                    pattern: 'apex/**'
 
     properties:
         - logrotate-default
index cdc14e4..f1bff07 100644 (file)
             slave-label: arm-pod2
             installer: fuel
             <<: *euphrates
-        - arm-pod3:
-            slave-label: arm-pod3
+        - arm-pod5:
+            slave-label: arm-pod5
             installer: fuel
             <<: *euphrates
         - arm-pod4:
             slave-label: arm-pod4
             installer: fuel
             <<: *euphrates
-        - arm-virtual1:
-            slave-label: arm-virtual1
+        - arm-virtual2:
+            slave-label: arm-virtual2
             installer: fuel
             <<: *euphrates
 #--------------------------------
             slave-label: arm-pod2
             installer: fuel
             <<: *master
-        - arm-pod3:
-            slave-label: arm-pod3
+        - arm-pod5:
+            slave-label: arm-pod5
             installer: fuel
             <<: *master
         - arm-pod4:
             slave-label: arm-pod4
             installer: fuel
             <<: *master
-        - arm-virtual1:
-            slave-label: arm-virtual1
+        - arm-virtual2:
+            slave-label: arm-virtual2
             installer: fuel
             <<: *master
 #--------------------------------
 # Enea Armband Non CI Virtual Triggers running against euphrates branch
 #--------------------------------------------------------------------
 - trigger:
-    name: 'fuel-os-odl_l2-nofeature-ha-arm-virtual1-euphrates-trigger'
+    name: 'fuel-os-odl_l2-nofeature-ha-arm-virtual2-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-arm-virtual1-euphrates-trigger'
+    name: 'fuel-os-nosdn-nofeature-ha-arm-virtual2-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l3-nofeature-ha-arm-virtual1-euphrates-trigger'
+    name: 'fuel-os-odl_l3-nofeature-ha-arm-virtual2-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-bgpvpn-ha-arm-virtual1-euphrates-trigger'
+    name: 'fuel-os-odl_l2-bgpvpn-ha-arm-virtual2-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-nofeature-noha-arm-virtual1-euphrates-trigger'
+    name: 'fuel-os-odl_l2-nofeature-noha-arm-virtual2-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-sfc-ha-arm-virtual1-euphrates-trigger'
+    name: 'fuel-os-odl_l2-sfc-ha-arm-virtual2-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-sfc-noha-arm-virtual1-euphrates-trigger'
+    name: 'fuel-os-odl_l2-sfc-noha-arm-virtual2-euphrates-trigger'
     triggers:
         - timed: ''
 
 # Enea Armband Non CI Virtual Triggers running against master branch
 #--------------------------------------------------------------------
 - trigger:
-    name: 'fuel-os-odl_l2-nofeature-ha-arm-virtual1-master-trigger'
+    name: 'fuel-os-odl_l2-nofeature-ha-arm-virtual2-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-arm-virtual1-master-trigger'
+    name: 'fuel-os-nosdn-nofeature-ha-arm-virtual2-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l3-nofeature-ha-arm-virtual1-master-trigger'
+    name: 'fuel-os-odl_l3-nofeature-ha-arm-virtual2-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-bgpvpn-ha-arm-virtual1-master-trigger'
+    name: 'fuel-os-odl_l2-bgpvpn-ha-arm-virtual2-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-nofeature-noha-arm-virtual1-master-trigger'
+    name: 'fuel-os-odl_l2-nofeature-noha-arm-virtual2-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-sfc-ha-arm-virtual1-master-trigger'
+    name: 'fuel-os-odl_l2-sfc-ha-arm-virtual2-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-sfc-noha-arm-virtual1-master-trigger'
+    name: 'fuel-os-odl_l2-sfc-noha-arm-virtual2-master-trigger'
     triggers:
         - timed: ''
 
 # Enea Armband POD 3 Triggers running against master branch
 #----------------------------------------------------------
 - trigger:
-    name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-master-trigger'
+    name: 'fuel-os-odl_l2-nofeature-ha-arm-pod5-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-master-trigger'
+    name: 'fuel-os-nosdn-nofeature-ha-arm-pod5-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-master-trigger'
+    name: 'fuel-os-odl_l3-nofeature-ha-arm-pod5-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-master-trigger'
+    name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod5-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-master-trigger'
+    name: 'fuel-os-odl_l2-nofeature-noha-arm-pod5-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-master-trigger'
+    name: 'fuel-os-odl_l2-sfc-ha-arm-pod5-master-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-master-trigger'
+    name: 'fuel-os-odl_l2-sfc-noha-arm-pod5-master-trigger'
     triggers:
         - timed: ''
 #---------------------------------------------------------------
 # Enea Armband POD 3 Triggers running against euphrates branch
 #---------------------------------------------------------------
 - trigger:
-    name: 'fuel-os-odl_l2-nofeature-ha-arm-pod3-euphrates-trigger'
+    name: 'fuel-os-odl_l2-nofeature-ha-arm-pod5-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-nosdn-nofeature-ha-arm-pod3-euphrates-trigger'
+    name: 'fuel-os-nosdn-nofeature-ha-arm-pod5-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l3-nofeature-ha-arm-pod3-euphrates-trigger'
+    name: 'fuel-os-odl_l3-nofeature-ha-arm-pod5-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod3-euphrates-trigger'
+    name: 'fuel-os-odl_l2-bgpvpn-ha-arm-pod5-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-nofeature-noha-arm-pod3-euphrates-trigger'
+    name: 'fuel-os-odl_l2-nofeature-noha-arm-pod5-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-sfc-ha-arm-pod3-euphrates-trigger'
+    name: 'fuel-os-odl_l2-sfc-ha-arm-pod5-euphrates-trigger'
     triggers:
         - timed: ''
 - trigger:
-    name: 'fuel-os-odl_l2-sfc-noha-arm-pod3-euphrates-trigger'
+    name: 'fuel-os-odl_l2-sfc-noha-arm-pod5-euphrates-trigger'
     triggers:
         - timed: ''
 #--------------------------------------------------------------------------
index 341aab5..a757043 100644 (file)
@@ -16,6 +16,10 @@ RELENG_REPO=${WORKSPACE}/releng
 [ -d ${RELENG_REPO} ] && rm -rf ${RELENG_REPO}
 git clone https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO} >${redirect}
 
+YARDSTICK_REPO=${WORKSPACE}/yardstick
+[ -d ${YARDSTICK_REPO} ] && rm -rf ${YARDSTICK_REPO}
+git clone https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO} >${redirect}
+
 OPENRC=/tmp/admin_rc.sh
 OS_CACERT=/tmp/os_cacert
 
@@ -85,11 +89,18 @@ if [[ $SUITE_NAME == *posca* ]]; then
         echo "Don't support to generate pod.yaml on ${INSTALLER_TYPE} currently."
     fi
 
-    cmd="sudo python ${RELENG_REPO}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
+    if [[ ${INSTALLER_TYPE} != compass ]]; then
+        cmd="sudo python ${RELENG_REPO}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
          -i ${INSTALLER_IP} ${options} -f ${BOTTLENECKS_CONFIG}/pod.yaml \
          -s ${BOTTLENECKS_CONFIG}/id_rsa"
-    echo ${cmd}
-    ${cmd}
+        echo ${cmd}
+        ${cmd}
+    else
+        cmd="sudo cp ${YARDSTICK_REPO}/etc/yardstick/nodes/compass_sclab_virtual/pod.yaml \
+        ${BOTTLENECKS_CONFIG}"
+        echo ${cmd}
+        ${cmd}
+    fi
 
     deactivate
 
index 67d1e4e..101db82 100644 (file)
@@ -19,7 +19,7 @@
 #------------------------------------
     pod:
         - baremetal:
-            slave-label: compass-baremetal
+            slave-label: compass-baremetal-branch
             os-version: 'xenial'
             <<: *danube
 #-----------------------------------
index 23d12de..d535d61 100644 (file)
@@ -39,7 +39,7 @@
     pod:
         - arm-pod2:
             slave-label: '{pod}'
-        - arm-pod3:
+        - arm-pod5:
             slave-label: '{pod}'
 
     jobs:
index 42e1ad5..92b1db3 100644 (file)
             SUT: fuel
             auto-trigger-name: 'daily-trigger-disabled'
             <<: *master
-        - arm-pod3:
+        - arm-pod5:
             slave-label: '{pod}'
             SUT: fuel
             auto-trigger-name: 'daily-trigger-disabled'
             <<: *master
-        - arm-virtual1:
+        - arm-virtual2:
             slave-label: '{pod}'
             SUT: fuel
             auto-trigger-name: 'daily-trigger-disabled'
index 346a1ef..7dd6a2d 100755 (executable)
@@ -122,13 +122,26 @@ if [ "$INSTALLER_TYPE" == "apex" ]; then
     sudo scp $ssh_options stack@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa
 fi
 
+image_path=${HOME}/opnfv/dovetail/images
+if [[ ! -d ${image_path} ]]; then
+    mkdir -p ${image_path}
+fi
 # sdnvpn test case needs to download this image first before running
-echo "Download image ubuntu-16.04-server-cloudimg-amd64-disk1.img ..."
-wget -q -nc http://artifacts.opnfv.org/sdnvpn/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P ${DOVETAIL_CONFIG}
+ubuntu_image=${image_path}/ubuntu-16.04-server-cloudimg-amd64-disk1.img
+if [[ ! -f ${ubuntu_image} ]]; then
+    echo "Download image ubuntu-16.04-server-cloudimg-amd64-disk1.img ..."
+    wget -q -nc http://artifacts.opnfv.org/sdnvpn/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P ${image_path}
+fi
+sudo cp ${ubuntu_image} ${DOVETAIL_CONFIG}
 
 # functest needs to download this image first before running
-echo "Download image cirros-0.3.5-x86_64-disk.img ..."
-wget -q -nc http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img -P ${DOVETAIL_CONFIG}
+cirros_image=${image_path}/cirros-0.3.5-x86_64-disk.img
+if [[ ! -f ${cirros_image} ]]; then
+    echo "Download image cirros-0.3.5-x86_64-disk.img ..."
+    wget -q -nc http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img -P ${image_path}
+fi
+sudo cp ${cirros_image} ${DOVETAIL_CONFIG}
+
 
 opts="--privileged=true -id"
 
index da09886..f0e08e1 100644 (file)
@@ -66,6 +66,7 @@ fi
 
 volumes="${images_vol} ${results_vol} ${sshkey_vol} ${rc_file_vol} ${cacert_file_vol}"
 
+set +e
 
 tiers=(healthcheck smoke features vnf)
 for tier in ${tiers[@]}; do
index f14ca75..23649fc 100644 (file)
             slave-label: '{pod}'
             installer: fuel
             <<: *master
-        - arm-pod3:
+        - arm-pod5:
             slave-label: '{pod}'
             installer: fuel
             <<: *master
             slave-label: '{pod}'
             installer: fuel
             <<: *master
-        - arm-virtual1:
+        - arm-virtual2:
             slave-label: '{pod}'
             installer: fuel
             <<: *master
             slave-label: '{pod}'
             installer: fuel
             <<: *danube
-        - arm-pod3:
+        - arm-pod5:
             slave-label: '{pod}'
             installer: fuel
             <<: *danube
             slave-label: '{pod}'
             installer: fuel
             <<: *danube
-        - arm-virtual1:
+        - arm-virtual2:
             slave-label: '{pod}'
             installer: fuel
             <<: *danube
                 - ./functest-env-presetup.sh
                 - ../../utils/fetch_os_creds.sh
                 - ./functest-alpine.sh
+                - ../../utils/push-test-logs.sh
 
 - builder:
     name: functest-daily
index 7d9e737..e54c3bf 100755 (executable)
@@ -33,7 +33,7 @@ if [ "$BRANCH" != 'stable/danube' ]; then
   echo "Functest: Download images that will be used by test cases"
   images_dir="${HOME}/opnfv/functest/images"
   chmod +x ${WORKSPACE}/functest/ci/download_images.sh
-  ${WORKSPACE}/functest/ci/download_images.sh ${images_dir}
+  ${WORKSPACE}/functest/ci/download_images.sh ${images_dir} > ${redirect} 2>&1
   images_vol="-v ${images_dir}:/home/opnfv/functest/images"
   echo "Functest: Images successfully downloaded"
 fi
index f5de021..9234206 100644 (file)
             default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab
             description: 'Base URI to the configuration directory'
 - parameter:
-    name: 'arm-pod3-defaults'
+    name: 'arm-pod5-defaults'
     parameters:
         - node:
             name: SLAVE_NAME
             description: 'Slave name on Jenkins'
             allowed-slaves:
-                - arm-pod3
+                - arm-pod5
             default-slaves:
-                - arm-pod3
+                - arm-pod5
         - string:
             name: GIT_BASE
             default: https://gerrit.opnfv.org/gerrit/$PROJECT
             default: ssh://jenkins-enea@gerrit.opnfv.org:29418/securedlab
             description: 'Base URI to the configuration directory'
 - parameter:
-    name: 'arm-virtual1-defaults'
+    name: 'arm-virtual2-defaults'
     parameters:
         - node:
             name: SLAVE_NAME
             description: 'Slave name on Jenkins'
             allowed-slaves:
-                - arm-virtual1
+                - arm-virtual2
             default-slaves:
-                - arm-virtual1
+                - arm-virtual2
         - string:
             name: GIT_BASE
             default: https://gerrit.opnfv.org/gerrit/$PROJECT
index 007384b..39935ab 100644 (file)
             installer: fuel
             auto-trigger-name: 'daily-trigger-disabled'
             <<: *danube
-        - arm-pod3:
+        - arm-pod5:
             slave-label: '{pod}'
             installer: fuel
             auto-trigger-name: 'daily-trigger-disabled'
             <<: *master
-        - arm-pod3:
+        - arm-pod5:
             slave-label: '{pod}'
             installer: fuel
             auto-trigger-name: 'daily-trigger-disabled'
             <<: *danube
-        - arm-virtual1:
+        - arm-virtual2:
             slave-label: '{pod}'
             installer: fuel
             auto-trigger-name: 'daily-trigger-disabled'
             <<: *master
-        - arm-virtual1:
+        - arm-virtual2:
             slave-label: '{pod}'
             installer: fuel
             auto-trigger-name: 'daily-trigger-disabled'
             default: '-i 104.197.68.199:8086'
             description: 'Arguments to use in order to choose the backend DB'
 - parameter:
-    name: 'yardstick-params-arm-virtual1'
+    name: 'yardstick-params-arm-virtual2'
     parameters:
         - string:
             name: YARDSTICK_DB_BACKEND
             description: 'Arguments to use in order to choose the backend DB'
 
 - parameter:
-    name: 'yardstick-params-arm-pod3'
+    name: 'yardstick-params-arm-pod5'
     parameters:
         - string:
             name: YARDSTICK_DB_BACKEND
 - trigger:
     name: 'yardstick-daily-huawei-pod4-trigger'
     triggers:
-        - timed: '0 1 * * *'
+        - timed: ''
\ No newline at end of file
index 79190ec..518d20a 100644 (file)
@@ -27,7 +27,7 @@ node_list=(\
 'ericsson-pod1' 'ericsson-pod2' \
 'ericsson-virtual1' 'ericsson-virtual2'  'ericsson-virtual3' \
 'ericsson-virtual4' 'ericsson-virtual5' 'ericsson-virtual12' \
-'arm-pod1' 'arm-pod3' \
+'arm-pod1' 'arm-pod5' \
 'huawei-pod1' 'huawei-pod2' 'huawei-pod3' 'huawei-pod4' 'huawei-pod5' \
 'huawei-pod6' 'huawei-pod7' 'huawei-pod12' \
 'huawei-virtual1' 'huawei-virtual2' 'huawei-virtual3' 'huawei-virtual4' \
index f5168d1..f235790 100644 (file)
@@ -27,19 +27,28 @@ ENV CONFIG_REPORTING_YAML ${working_dir}/reporting.yaml
 WORKDIR ${HOME}
 # Packaged dependencies
 RUN apt-get update && apt-get install -y \
+build-essential \
 ssh \
+curl \
+gnupg \
 python-pip \
+python-dev \
+python-setuptools \
 git-core \
-nodejs \
-npm \
 supervisor \
 --no-install-recommends
 
-RUN pip install --upgrade pip
+RUN pip install --upgrade pip && easy_install -U setuptools==30.0.0
 
-RUN git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng ${HOME}/releng
+RUN git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng /home/opnfv/releng
 RUN pip install -r ${working_dir}/requirements.txt
 
+RUN sh -c 'curl -sL https://deb.nodesource.com/setup_8.x | bash -' \
+    && apt-get install -y nodejs \
+    && npm install -g bower \
+    && npm install -g grunt \
+    && npm install -g grunt-cli
+
 WORKDIR ${working_dir}
 RUN python setup.py install
 RUN docker/reporting.sh
index a34c11d..0dd8df7 100755 (executable)
@@ -9,8 +9,6 @@ echo "daemon off;" >> /etc/nginx/nginx.conf
 # supervisor config
 cp /home/opnfv/releng/utils/test/reporting/docker/supervisor.conf /etc/supervisor/conf.d/
 
-ln -s /usr/bin/nodejs /usr/bin/node
-
 # Manage Angular front end
 cd pages && /bin/bash angular.sh
 
index 74d410e..50fc648 100644 (file)
@@ -90,7 +90,7 @@ $(document).ready(function (){
             <div class="panel-heading"><h4><b>List of last scenarios ({{version}}) run over the last {{period}} days </b></h4></div>
                 <table class="table">
                     <tr>
-                        <th width="40%">Scenario</th>
+                        <th width="40%">HA Scenario</th>
                         <th width="20%">Status</th>
                         <th width="20%">Trend</th>
                         <th width="10%">Score</th>
@@ -98,14 +98,39 @@ $(document).ready(function (){
                     </tr>
                         {% for scenario,iteration in scenario_stats.iteritems() -%}
                             <tr class="tr-ok">
+                            {% if '-ha' in scenario -%}
                                 <td><a href={{scenario_results[scenario].getUrlLastRun()}}>{{scenario}}</a></td>
                                 <td><div id="gaugeScenario{{loop.index}}"></div></td>
                                 <td><div id="trend_svg{{loop.index}}"></div></td>
                                 <td>{{scenario_results[scenario].getScore()}}</td>
                                 <td>{{iteration}}</td>
+                            {%- endif %}
+                            </tr>
+                            {%- endfor %}
+                            <br>
+                </table>
+                <br>
+               <table class="table">
+                    <tr>
+                        <th width="40%">NOHA Scenario</th>
+                        <th width="20%">Status</th>
+                        <th width="20%">Trend</th>
+                        <th width="10%">Score</th>
+                        <th width="10%">Iteration</th>
+                    </tr>
+                        {% for scenario,iteration in scenario_stats.iteritems() -%}
+                            <tr class="tr-ok">
+                            {% if '-noha' in scenario -%}
+                                <td><a href={{scenario_results[scenario].getUrlLastRun()}}>{{scenario}}</a></td>
+                                <td><div id="gaugeScenario{{loop.index}}"></div></td>
+                                <td><div id="trend_svg{{loop.index}}"></div></td>
+                                <td>{{scenario_results[scenario].getScore()}}</td>
+                                <td>{{iteration}}</td>
+                            {%- endif %}
                             </tr>
                             {%- endfor %}
-                        </table>
+                </table>
+
         </div>
 
 
index a52d905..17849f6 100644 (file)
@@ -8,7 +8,6 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 
 # pylint: disable=missing-docstring
-
 import setuptools
 
 # In python < 2.7.4, a lazy loading of package `pbr` will break