diff --git a/doc/source/index.rst b/doc/source/index.rst index 269e7df..d596560 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -40,6 +40,7 @@ permits. specs/artifact-signing specs/complete-reviewable-release-automation specs/deploy-ci-dashboard + specs/deploy-stackviz specs/doc-publishing specs/jenkins-job-builder_2.0.0-api-changes specs/nodepool-launch-workers diff --git a/specs/deploy-stackviz.rst b/specs/deploy-stackviz.rst new file mode 100644 index 0000000..9205806 --- /dev/null +++ b/specs/deploy-stackviz.rst @@ -0,0 +1,134 @@ +:: + + Copyright 2015 OpenStack Foundation + + This work is licensed under a Creative Commons Attribution 3.0 + Unported License. + http://creativecommons.org/licenses/by/3.0/legalcode + +=============================== +Stackviz Deployment +=============================== + +Story: https://storyboard.openstack.org/story/2000498 + +Stackviz is a tool for visualizing Tempest gate runs. Presently, the project is +in a stable state under openstack/stackviz. This spec details the process of +getting Stackviz integrated on the build images to run with live data. For the +most up to date information on this process, see: + +https://etherpad.openstack.org/p/BKgWlKIjgQ + +Problem Description +=================== + +Stackviz currently exists under openstack/stackviz, and can be downloaded, +built and run against local test run data. The tool provides a timeline, +detailed test view, and traceback logs to help developers easily debug runs +that went wrong. However, this does not provide much utility to OS developers +about their current patches in the gate. For Stackviz to be a truly useful +debugging tool, it must be available on-demand, with little to no config work +on the part of the developer. + +Proposed Change +=============== + +To solve this, we propose that Stackviz be integrated upstream with the +following two-pronged approach: + +First, download a copy of Stackviz onto the Nodepool images. The required +npm dependencies will be downloaded and installed, and the static site will +be built. To accomplish this, a new Nodepool DIB element will be made for +the creation of the repository and building of the static site. + +Second, copy and configure the static site on the logs server. Additional data +processing at this step will include installing the python processing module +(stackviz-export) and parsing subunit and dstat.csv logs. A configuration file +will be generated for each patch, which will allow the developer to browse a +Stackviz site on the logs server using their patch's data. + +Alternatives +------------ + +A puppet deployment is another option for consideration (puppet-stackviz). +Traditionally, infra has deployed software via puppet modules and not DIB +elements. Stackviz would be breaking the pattern in this case. + +A third-party Stackviz deployer is currently up for testing purposes at: +https://stackviz.timothyb89.org/ + +This demonstrates another possibility: creating a standalone server that pulls +logs from Gerrit at the request of a user to generate a Stackviz on-the-fly. +More details for this project can be viewed at: +https://etherpad.openstack.org/p/stackviz-deployment + +Implementation +============== + +Assignee(s) +----------- + +Primary assignee: + austin81 + +Secondary assignee: + timothyb89 + +Gerrit Topic +------------ + +Use Gerrit topic "deploy-stackviz" for all patches related to this spec. + +.. code-block:: bash + + git-review -t deploy-stackviz + +Work Items +---------- + +Currently, there are WIP patches for both parts of the process outlined above: +Nodepool element: https://review.openstack.org/279317/ +Devstack-gate patch: https://review.openstack.org/212207/ + +See https://etherpad.openstack.org/p/BKgWlKIjgQ for more details + +Repositories +------------ + +None + +Servers +------- + +The Nodepool images will need an additional DIB element to do pre-processing +work for Stackviz. The devstack-gate images will also require an additional +script for creating config files and hosting the sites. + +DNS Entries +----------- + +None + +Documentation +------------- + +If implemented correctly, Stackviz should fundamentally change the OS +developer workflow process. Checking the Stackviz site on the logs server +should become the first thing that the developers do once their patch goes +through the gate tests. http://docs.openstack.org/infra/manual/developers.html +will need to be updated. + +Security +-------- + +None + +Testing +------- + +None + +Dependencies +============ + +https://git.openstack.org/openstack/stackviz