diff options
20 files changed, 100 insertions, 93 deletions
@@ -13,6 +13,7 @@ Committers: mark.beierl@emc.com jose.lausuch@ericsson.com taseer94@gmail.com +shrenik.jain@research.iiit.ac.in Link to TSC approval of the project: http://meetbot.opnfv.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-09-15-13.59.log.html diff --git a/ci/create_glance_image.sh b/ci/create_glance_image.sh index 9181a05..bb2a869 100755 --- a/ci/create_glance_image.sh +++ b/ci/create_glance_image.sh @@ -13,7 +13,7 @@ mkdir -p job ARCH="${ARCH:-$(uname -m)}" -IMAGE_NAME="Ubuntu 17.04 ${ARCH}" +IMAGE_NAME="Ubuntu 16.04 ${ARCH}" echo "Checking for ${IMAGE_NAME} in Glance" @@ -24,14 +24,14 @@ then case "${ARCH}" in aarch64) - FILE=ubuntu-17.04-server-cloudimg-arm64.img + FILE=ubuntu-16.04-server-cloudimg-arm64-disk1.img PROPERTIES="--property hw_firmware_type=uefi --property hw_video_model=vga" ;; armhf) - FILE=ubuntu-17.04-server-cloudimg-armhf.img + FILE=ubuntu-16.04-server-cloudimg-armhf-disk1.img ;; x86_64) - FILE=ubuntu-17.04-server-cloudimg-amd64.img + FILE=ubuntu-16.04-server-cloudimg-amd64-disk1.img ;; *) echo "Unsupported architecture: ${ARCH}" @@ -39,7 +39,12 @@ then ;; esac - wget --continue -q "https://cloud-images.ubuntu.com/releases/17.04/release/${FILE}" + echo wget --continue -q "https://cloud-images.ubuntu.com/releases/16.04/release/${FILE}" + wget --continue -q "https://cloud-images.ubuntu.com/releases/16.04/release/${FILE}" + if [ ! -e "${FILE}" ] ; then + echo https://cloud-images.ubuntu.com/releases/16.04/release/${FILE} not found + exit 1 + fi openstack image create "${IMAGE_NAME}" --disk-format qcow2 --public \ ${PROPERTIES} \ --container-format bare --file "${FILE}" diff --git a/ci/daily.sh b/ci/daily.sh index 0cafbe8..956b6e6 100755 --- a/ci/daily.sh +++ b/ci/daily.sh @@ -23,6 +23,8 @@ fi rm -rf "${WORKSPACE}/ci/job/releng" git clone --depth 1 https://gerrit.opnfv.org/gerrit/releng "${WORKSPACE}/ci/job/releng" +rm -rf "${WORKSPACE}/ci/job/joid" +git clone --depth 1 https://gerrit.opnfv.org/gerrit/joid "${WORKSPACE}/ci/job/joid" virtualenv "${WORKSPACE}/ci/job/storperf_daily_venv" # shellcheck source=/dev/null diff --git a/ci/generate-admin-rc.sh b/ci/generate-admin-rc.sh index 6767fab..1a7ffed 100755 --- a/ci/generate-admin-rc.sh +++ b/ci/generate-admin-rc.sh @@ -17,16 +17,15 @@ CA_CERT="" INSTALLER="$(./detect_installer.sh)" case $INSTALLER in joid) - OS_AUTH_URL=http://$(juju status keystone | grep public | awk '{print $2}'):5000/v2.0 - OS_USERNAME=admin - OS_PASSWORD=openstack - cat << EOF > job/openstack.rc -export OS_AUTH_URL=$OS_AUTH_URL -export OS_USERNAME=$OS_USERNAME -export OS_PASSWORD=$OS_PASSWORD -export OS_TENANT_NAME=admin -export OS_PROJECT_NAME=admin -EOF + CUR_DIR="$(pwd)" + set -x + export JOB_DIR="${CUR_DIR}/job" + sed -i '/echo_info "Creating external network with neutron"/i \ +exit 0' job/joid/ci/openstack.sh + sed -i "s|~/joid_config/admin-openrc|${JOB_DIR}/openstack.rc|g" job/joid/ci/openstack.sh + cd job/joid/ci + ./openstack.sh + cd "${CUR_DIR}" ;; fuel) INSTALLER_IP=$(sudo virsh net-dumpxml mcpcontrol | grep 'cfg01' | cut -d"'" -f6) diff --git a/docker/storperf-httpfrontend/html/css/bootstrap.min.css b/docker/storperf-httpfrontend/html/3rd_party/css/bootstrap.min.css index ed3905e..ed3905e 100644 --- a/docker/storperf-httpfrontend/html/css/bootstrap.min.css +++ b/docker/storperf-httpfrontend/html/3rd_party/css/bootstrap.min.css diff --git a/docker/storperf-httpfrontend/html/index.html b/docker/storperf-httpfrontend/html/index.html index 3b41653..d07ec97 100644 --- a/docker/storperf-httpfrontend/html/index.html +++ b/docker/storperf-httpfrontend/html/index.html @@ -17,7 +17,7 @@ StorPerf Home <head> <title>Storperf</title> <!-- Latest compiled and minified CSS --> -<link rel="stylesheet" href="./css/bootstrap.min.css"> +<link rel="stylesheet" href="./3rd_party/css/bootstrap.min.css"> </head> @@ -47,4 +47,4 @@ elaboration about Storperf. Open to Suggestions.</p> </body> -</html>
\ No newline at end of file +</html> diff --git a/docker/storperf-master/rest_server.py b/docker/storperf-master/rest_server.py index 67d2d05..7f38ab6 100644 --- a/docker/storperf-master/rest_server.py +++ b/docker/storperf-master/rest_server.py @@ -192,6 +192,7 @@ class Configure(Resource): 'stack_id': storperf.stack_id}) except Exception as e: + self.logger.exception(e) abort(400, str(e)) @swagger.operation( diff --git a/docker/storperf-master/storperf/storperf_master.py b/docker/storperf-master/storperf/storperf_master.py index da8a05e..7244b66 100644 --- a/docker/storperf-master/storperf/storperf_master.py +++ b/docker/storperf-master/storperf/storperf_master.py @@ -40,10 +40,19 @@ class StorPerfMaster(object): name='StorPerfAgentGroup', template_path='storperf/resources/hot/agent-group.yaml') - self.os_creds = OSCreds(username=os.environ.get('OS_USERNAME'), - password=os.environ.get('OS_PASSWORD'), - auth_url=os.environ.get('OS_AUTH_URL'), - project_name=os.environ.get('OS_PROJECT_NAME')) + self.os_creds = OSCreds( + username=os.environ.get('OS_USERNAME'), + password=os.environ.get('OS_PASSWORD'), + auth_url=os.environ.get('OS_AUTH_URL'), + identity_api_version=os.environ.get('OS_IDENTITY_API_VERSION'), + user_domain_name=os.environ.get('OS_USER_DOMAIN_NAME'), + user_domain_id=os.environ.get('OS_USER_DOMAIN_ID'), + region_name=os.environ.get('OS_REGION_NAME'), + project_domain_name=os.environ.get('OS_PROJECT_DOMAIN_NAME'), + project_domain_id=os.environ.get('OS_PROJECT_DOMAIN_ID'), + project_name=os.environ.get('OS_PROJECT_NAME')) + + self.logger.debug("OSCreds: %s" % self.os_creds) self.heat_stack = OpenStackHeatStack(self.os_creds, self.stack_settings) @@ -265,12 +274,23 @@ class StorPerfMaster(object): res = heat_utils.get_resources(heat_cli, self.heat_stack.get_stack().id) self.logger.error("Stack creation failed") + reason = "" + failed = False for resource in res: - status = resource.status - self.logger.error("%s: %s" % (resource.name, status)) - if status == u'CREATE_FAILED': - self.delete_stack() - raise Exception(resource.status_reason) + if resource.status == u'CREATE_FAILED': + failed = True + reason += "%s: %s " % (resource.name, + resource.status_reason) + self.logger.error("%s - %s: %s" % (resource.name, + resource.status, + resource.status_reason)) + + if failed: + try: + self.heat_stack.clean() + except Exception: + pass + raise Exception(reason) def delete_stack(self): if self._test_executor is not None: diff --git a/docker/storperf-reporting/src/app.py b/docker/storperf-reporting/src/app.py index 79baa33..9bd1a04 100644 --- a/docker/storperf-reporting/src/app.py +++ b/docker/storperf-reporting/src/app.py @@ -128,12 +128,12 @@ def file_not_found(): return redirect(url_for('index')) -@app.route('/reporting/js/<path:path>') +@app.route('/reporting/3rd_party/js/<path:path>') def js(path): return send_from_directory('static/js/', path) -@app.route('/reporting/css/<path:path>') +@app.route('/reporting/3rd_party/css/<path:path>') def css(path): return send_from_directory('static/css/', path) diff --git a/docker/storperf-reporting/src/static/css/bootstrap.min.css b/docker/storperf-reporting/src/static/3rd_party/css/bootstrap.min.css index cd1c616..cd1c616 100644 --- a/docker/storperf-reporting/src/static/css/bootstrap.min.css +++ b/docker/storperf-reporting/src/static/3rd_party/css/bootstrap.min.css diff --git a/docker/storperf-reporting/src/static/js/Chart.min.js b/docker/storperf-reporting/src/static/3rd_party/js/Chart.min.js index 3e93936..3e93936 100644 --- a/docker/storperf-reporting/src/static/js/Chart.min.js +++ b/docker/storperf-reporting/src/static/3rd_party/js/Chart.min.js diff --git a/docker/storperf-reporting/src/static/js/bootstrap.min.js b/docker/storperf-reporting/src/static/3rd_party/js/bootstrap.min.js index c8f82e5..c8f82e5 100644 --- a/docker/storperf-reporting/src/static/js/bootstrap.min.js +++ b/docker/storperf-reporting/src/static/3rd_party/js/bootstrap.min.js diff --git a/docker/storperf-reporting/src/static/js/jquery-2.1.3.min.js b/docker/storperf-reporting/src/static/3rd_party/js/jquery-2.1.3.min.js index 25714ed..25714ed 100644 --- a/docker/storperf-reporting/src/static/js/jquery-2.1.3.min.js +++ b/docker/storperf-reporting/src/static/3rd_party/js/jquery-2.1.3.min.js diff --git a/docker/storperf-reporting/src/static/js/jquery.bootpag.min.js b/docker/storperf-reporting/src/static/3rd_party/js/jquery.bootpag.min.js index 324b1a3..324b1a3 100644 --- a/docker/storperf-reporting/src/static/js/jquery.bootpag.min.js +++ b/docker/storperf-reporting/src/static/3rd_party/js/jquery.bootpag.min.js diff --git a/docker/storperf-reporting/src/static/js/plotly-latest.min.js b/docker/storperf-reporting/src/static/3rd_party/js/plotly-latest.min.js index 753a7ba..753a7ba 100644 --- a/docker/storperf-reporting/src/static/js/plotly-latest.min.js +++ b/docker/storperf-reporting/src/static/3rd_party/js/plotly-latest.min.js diff --git a/docker/storperf-reporting/src/templates/index.html b/docker/storperf-reporting/src/templates/index.html index ab4e539..65da38d 100644 --- a/docker/storperf-reporting/src/templates/index.html +++ b/docker/storperf-reporting/src/templates/index.html @@ -4,10 +4,10 @@ <head> <title>Graphing Module | Storperf</title> <link rel="icon" href="/reporting/images/OPNVF_ProjectIcons_2400x2400_Storperf.png"> - <link rel="stylesheet" href="/reporting/css/bootstrap.min.css"> - <script src="/reporting/js/jquery-2.1.3.min.js"></script> - <script src="/reporting/js/bootstrap.min.js"></script> - <script src="/reporting/js/jquery.bootpag.min.js"></script> + <link rel="stylesheet" href="/reporting/3rd_party/css/bootstrap.min.css"> + <script src="/reporting/3rd_party/js/jquery-2.1.3.min.js"></script> + <script src="/reporting/3rd_party/js/bootstrap.min.js"></script> + <script src="/reporting/3rd_party/js/jquery.bootpag.min.js"></script> </head> <body> @@ -37,4 +37,4 @@ </div> </body> -</html>
\ No newline at end of file +</html> diff --git a/docker/storperf-reporting/src/templates/plot_jobs.html b/docker/storperf-reporting/src/templates/plot_jobs.html index d2d3613..f10dd6c 100644 --- a/docker/storperf-reporting/src/templates/plot_jobs.html +++ b/docker/storperf-reporting/src/templates/plot_jobs.html @@ -4,12 +4,12 @@ <head> <meta charset="utf-8" /> <title>Chart | Storperf</title> - <link rel="stylesheet" href="/reporting/css/bootstrap.min.css"> - <script src="/reporting/js/jquery-2.1.3.min.js"></script> - <script src="/reporting/js/bootstrap.min.js"></script> - <script src="/reporting/js/jquery.bootpag.min.js"></script> - <script src="/reporting/js/plotly-latest.min.js"></script> - <script src="/reporting/js/Chart.min.js"></script> + <link rel="stylesheet" href="/reporting/3rd_party/css/bootstrap.min.css"> + <script src="/reporting/3rd_party/js/jquery-2.1.3.min.js"></script> + <script src="/reporting/3rd_party/js/bootstrap.min.js"></script> + <script src="/reporting/3rd_party/js/jquery.bootpag.min.js"></script> + <script src="/reporting/3rd_party/js/plotly-latest.min.js"></script> + <script src="/reporting/3rd_party/js/Chart.min.js"></script> <style> /* The Modal (background) */ .modal { @@ -88,8 +88,8 @@ ul { text += "<div class='row well' id='row-" + key[i] + "'>"; text += "<h4> Job ID: " + key[i] + "</h4>"; text += "<button type='button' class='btn btn-default btn-lg' id='para-"+ key[i] + - "' onclick=add_info('" + key[i] + "')> Click here to view details </button>"; - text += "</div>"; + "' onclick=add_info('" + key[i] + "')> Click here to view details </button>"; + text += "</div>"; } $("#content").html(text); } @@ -112,8 +112,8 @@ ul { text += "<h4 onclick=add_test('" + keys[i] + "')>" + keys[i] + "</h4>"; text += "</div>"; } - } - $("#content").html(text); + } + $("#content").html(text); } function add_test(key){ if(document.getElementById("test-" + key) == null){ @@ -264,4 +264,4 @@ ul { </script> </body> -</html>
\ No newline at end of file +</html> diff --git a/docker/storperf-reporting/src/templates/plot_multi_data.html b/docker/storperf-reporting/src/templates/plot_multi_data.html index 9a81599..f35c368 100644 --- a/docker/storperf-reporting/src/templates/plot_multi_data.html +++ b/docker/storperf-reporting/src/templates/plot_multi_data.html @@ -4,12 +4,12 @@ <head> <meta charset="utf-8" /> <title>Chart | Storperf</title> - <link rel="stylesheet" href="/reporting/css/bootstrap.min.css"> - <script src="/reporting/js/jquery-2.1.3.min.js"></script> - <script src="/reporting/js/bootstrap.min.js"></script> - <script src="/reporting/js/jquery.bootpag.min.js"></script> - <script src="/reporting/js/plotly-latest.min.js"></script> - <script src="/reporting/js/Chart.min.js"></script> + <link rel="stylesheet" href="/reporting/3rd_party/css/bootstrap.min.css"> + <script src="/reporting/3rd_party/js/jquery-2.1.3.min.js"></script> + <script src="/reporting/3rd_party/js/bootstrap.min.js"></script> + <script src="/reporting/3rd_party/js/jquery.bootpag.min.js"></script> + <script src="/reporting/3rd_party/js/plotly-latest.min.js"></script> + <script src="/reporting/3rd_party/js/Chart.min.js"></script> </head> <body> diff --git a/docker/storperf-reporting/src/templates/plot_tables.html b/docker/storperf-reporting/src/templates/plot_tables.html index ecdf764..536bb42 100644 --- a/docker/storperf-reporting/src/templates/plot_tables.html +++ b/docker/storperf-reporting/src/templates/plot_tables.html @@ -4,12 +4,12 @@ <head> <meta charset="utf-8" /> <title>Chart | Storperf</title> - <link rel="stylesheet" href="/reporting/css/bootstrap.min.css"> - <script src="/reporting/js/jquery-2.1.3.min.js"></script> - <script src="/reporting/js/bootstrap.min.js"></script> - <script src="/reporting/js/jquery.bootpag.min.js"></script> - <script src="/reporting/js/plotly-latest.min.js"></script> - <script src="/reporting/js/Chart.min.js"></script> + <link rel="stylesheet" href="/reporting/3rd_party/css/bootstrap.min.css"> + <script src="/reporting/3rd_party/js/jquery-2.1.3.min.js"></script> + <script src="/reporting/3rd_party/js/bootstrap.min.js"></script> + <script src="/reporting/3rd_party/js/jquery.bootpag.min.js"></script> + <script src="/reporting/3rd_party/js/plotly-latest.min.js"></script> + <script src="/reporting/3rd_party/js/Chart.min.js"></script> <style> </style> </head> @@ -41,8 +41,8 @@ text += "<h4> Start Date : " + results["start_date"] + "</h4>"; text += "<h4> Criteria : " + results["criteria"] + "</h4>"; text += "<h4> Build Tag : " + results["build_tag"] + "</h4>"; - text += "<button type='button' class='btn btn-default btn-lg' onclick=add_info()> Click here to view details </button>"; - text += "</div>"; + text += "<button type='button' class='btn btn-default btn-lg' onclick=add_info()> Click here to view details </button>"; + text += "</div>"; text += "<div id='info'></div>"; $("#content").html(text); } @@ -55,7 +55,7 @@ text += "<h4> Build Tag : " + results["build_tag"] + "</h4>"; text += "<button type='button' class='btn btn-default btn-lg' onclick=create_block_report()> Steady State Convergence Report - All Block Sizes </button>"; text += "<div class='row' id='block_report'></div>" - text += "</div>"; + text += "</div>"; text += "<div id='info'></div>"; for (var i = 0; i < keys.length; i++ ){ text += "<div class='row' id='row-"+ keys[i] +"'>"; @@ -89,7 +89,7 @@ for( item in report_data[key][test] ){ var state = report_data[key][test][item]["steady_state"]; text += "<li onclick=create_modal('" + key + "','" + test + "','" + item + "') id='"; - text += key + "-" + test + "-" + item + "'>" + item + " (steady state: " + state +")"; + text += key + "-" + test + "-" + item + "'>" + item + " (steady state: " + state +")"; text += "<br><div id='modal-" + key + "-" + test + "-" + item + "'>"; text += '<div class="modal-content-'+ key + '-' + test + '-' + item +'">'; text += '<div id="modal-text-'+ key + '-' + test + '-' + item +'"></div>'; @@ -280,7 +280,7 @@ for(i in report_data){ if(report_data[i][test] == undefined && test == 'lat_ns.mean') test = 'lat.mean'; - data[i] = report_data[i][test][key]; + data[i] = report_data[i][test][key]; } document.getElementById('close-block-report-'+key+'-'+test).style.display = 'block'; var modal = document.getElementById('modal-block-report-'+key+'-'+test); @@ -327,4 +327,4 @@ </script> </body> -</html>
\ No newline at end of file +</html> diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index 8611171..c0ad0b8 100644 --- a/docs/release/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -17,7 +17,7 @@ Version history | **Date** | **Ver.** | **Author** | **Comment** | | | | | | +--------------------+--------------------+--------------------+--------------------+ -| 2017-10-06 | Euphrates 1.0 | Mark Beierl | | +| 2018-04-18 | Fraser 1.0 | Mark Beierl | | | | | | | +--------------------+--------------------+--------------------+--------------------+ @@ -48,16 +48,16 @@ Release Data | **Project** | StorPerf | | | | +--------------------------------------+--------------------------------------+ -| **Repo/commit-ID** | storperf/euphrates.1.0 | +| **Repo/commit-ID** | storperf/fraser.1.0 | | | | +--------------------------------------+--------------------------------------+ -| **Release designation** | Euphrates base release | +| **Release designation** | Fraser base release | | | | +--------------------------------------+--------------------------------------+ | **Release date** | 2017-10-06 | | | | +--------------------------------------+--------------------------------------+ -| **Purpose of the delivery** | OPNFV Euphrates release 1.0 | +| **Purpose of the delivery** | OPNFV Fraser release 1.0 | | | | +--------------------------------------+--------------------------------------+ @@ -75,32 +75,11 @@ Reason for version Features additions ------------------- -* STORPERF-125 - StorPerf container decomposition -* STORPERF-141 - Create a series of graphs to support SNIA targers -* STORPERF-94 - Logs can now be viewed via the API. One has the choice to either view the complete length of logs, - or limit himself to just a few lines. -* STORPERF-193 - Support for ARM: StorPerf images for ARM and x86_64 - are published on docker hub with the architecture in the image tag. -* STORPERF-174 - Container base switched to Alpine -* STORPERF-92 - Allow flavor to be set in stack create -* STORPERF-178 - Add ability to specify availability zone -* STORPERF-175 - Support for different agent OS, such as Cirros - +* STORPERF-231 - Integration with SNAPS Bug Fixes ---------- -The following minor bugs have been fixed: - -* STORPERF-56 - Cannot delete stack if create failed -* STORPERF-180 - No details if stack create failed -* STORPERF-186 - Duplicate entries for _warm_up with status query -* STORPERF-197 - FIO 2.2.10 hangs when statically built -* STORPERF-216 - Incorrect key names posted to testresults DB - - -See JIRA for full `change log <https://jira.opnfv.org/jira/secure/ReleaseNote.jspa?projectId=11002&version=11227>`_ - Deliverables ============= @@ -108,19 +87,19 @@ Software --------- - `StorPerf master image <https://hub.docker.com/r/opnfv/storperf-master/>`_ - (tag: x86_64-euphrates.1.0 or aarch64-euphrates.1.0) + (tag: x86_64-fraser.1.0 or aarch64-fraser.1.0) - `StorPerf swaggerui <https://hub.docker.com/r/opnfv/storperf-swaggerui/>`_ - (tag: x86_64-euphrates.1.0 or aarch64-euphrates.1.0) + (tag: x86_64-fraser.1.0 or aarch64-fraser.1.0) - `StorPerf graphite image <https://hub.docker.com/r/opnfv/storperf-graphite/>`_ - (tag: x86_64-euphrates.1.0 or aarch64-euphrates.1.0) + (tag: x86_64-fraser.1.0 or aarch64-fraser.1.0) - `StorPerf reporting image <https://hub.docker.com/r/opnfv/storperf-reporting/>`_ - (tag: x86_64-euphrates.1.0 or aarch64-euphrates.1.0) + (tag: x86_64-fraser.1.0 or aarch64-fraser.1.0) - `StorPerf Http-Frontend image <https://hub.docker.com/r/opnfv/storperf-httpfrontend/>`_ - (tag: x86_64-euphrates.1.0 or aarch64-euphrates.1.0) + (tag: x86_64-fraser.1.0 or aarch64-fraser.1.0) Documentation -------------- |