Deploy-Stackviz spec

Spec for the deployment of Stackviz on the Nodepool build images and
Devstack-gate. More information on efforts at
https://etherpad.openstack.org/p/stackviz-deployment

Change-Id: Ibe62a2ec5b636b5ae1e815441b2152982c76fae2
Story:2000498
This commit is contained in:
Austin Clark 2016-03-02 08:31:55 -07:00
parent 95613fa92b
commit 95f26cefde
2 changed files with 135 additions and 0 deletions

View File

@ -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

134
specs/deploy-stackviz.rst Normal file
View File

@ -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