Dashboard Spec
Spec for the CI Dashboard Comments (for reference) on infra-spec: https://review.openstack.org/#/c/135170/ Change-Id: I1bcc4783f602af7556dea4389853a8d331f748a7
This commit is contained in:
parent
2f56f33451
commit
ea5f72fc99
136
specs/third_party_ci_dashboard.rst
Normal file
136
specs/third_party_ci_dashboard.rst
Normal file
@ -0,0 +1,136 @@
|
||||
::
|
||||
|
||||
Copyright (c) 2015 Triniplex.
|
||||
|
||||
This work is licensed under a Creative Commons Attribution 3.0
|
||||
Unported License.
|
||||
http://creativecommons.org/licenses/by/3.0/legalcode
|
||||
|
||||
===============================
|
||||
CI Dashboard
|
||||
===============================
|
||||
|
||||
https://storyboard.openstack.org/#!/story/2000013
|
||||
|
||||
The goal of this project is to create a dashboard for the
|
||||
collection of statistics, monitoring, and usage information.
|
||||
|
||||
Problem Description
|
||||
===================
|
||||
|
||||
Currently, there is no single, unified tool for the collection
|
||||
and display of information which gives the developer the ability
|
||||
to see how a system is performing against Jenkins. The creation
|
||||
of a CI Dashboard was discussed at the Kilo Design
|
||||
Summit [#kilo-third-party-items]_.
|
||||
|
||||
Proposed Change
|
||||
===============
|
||||
|
||||
Implement a CI Dashboard system which would be used by operators
|
||||
cross-project to determine the health of a third party system. The Third Party
|
||||
CI Dashboard will collect statistics from Gerrit and generate reports which
|
||||
can be used by distributed project teams as an indicator of the state
|
||||
of a particular CI system, relative to other CI systems.
|
||||
|
||||
Initially, the Dashboard will be used to aggregate data for analysis, in order
|
||||
to aide the developer in making a determination as to whether a CI system is
|
||||
functioning as intended.
|
||||
|
||||
Alternatives
|
||||
------------
|
||||
|
||||
None
|
||||
|
||||
Implementation
|
||||
==============
|
||||
|
||||
The Dashboard will be modular in design in order to
|
||||
maximize the re-usability and portability of the individual components.
|
||||
The Dashboard will be composed of the following services:
|
||||
|
||||
#. The primary interface for the Dashboard will be a Pecan/WSME REST API
|
||||
service. The service will provide a single point through which
|
||||
operators may query the Dashboard data.
|
||||
|
||||
#. The API will be used by an AngularJS webclient, which may be built as
|
||||
a separate component to query the Dashboard data. A command line client
|
||||
(python-radar) will also allow the query and display of the data in
|
||||
textual form.
|
||||
|
||||
#. The data collected by the Dashboard will be stored in a MySQL database.
|
||||
The object relational mapper used for this will be SQLAlchemy, as
|
||||
this technology already has significant usage across OpenStack projects.
|
||||
|
||||
#. Data will be periodically collected from the Gerrit REST API by a
|
||||
python daemon. The initial frequency for the data collection has been
|
||||
set at five (5) minutes.
|
||||
|
||||
Discussion of the process of evaluation and the methods which the Dashboard
|
||||
will use to determine CI system health has begun on the third party mailing
|
||||
list and community members should contribute their ideas to the
|
||||
etherpad [#third-party-ci-dashboard-plan]_.
|
||||
|
||||
|
||||
Assignee(s)
|
||||
-----------
|
||||
|
||||
Primary assignee:
|
||||
- Steve Weston (steve.weston)
|
||||
|
||||
Work Items
|
||||
----------
|
||||
|
||||
TBD
|
||||
|
||||
Repositories
|
||||
------------
|
||||
|
||||
During the Kilo Design Summit the group discussed
|
||||
review of the Stackforge radar repository [#radar-stackforge-repo]_.
|
||||
|
||||
Servers
|
||||
-------
|
||||
|
||||
The server for the test environment is online and hosted at:
|
||||
http://dashboard.triniplex.com [#third-party-ci-dashboard-server]_.
|
||||
|
||||
DNS Entries
|
||||
-----------
|
||||
|
||||
TBD
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
The documentation should be created as part of the third-party
|
||||
manual.
|
||||
|
||||
Security
|
||||
--------
|
||||
|
||||
None
|
||||
|
||||
Testing
|
||||
-------
|
||||
|
||||
TBD
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
- This will require coordination from CI operators
|
||||
across all projects
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. [#kilo-third-party-items] Session Kilo Design Summit
|
||||
https://etherpad.openstack.org/p/kilo-third-party-items
|
||||
.. [#third-party-ci-dashboard-plan] CI Dashboard Planning
|
||||
https://etherpad.openstack.org/p/Third-Party-CI-Dashboard-InitialPlanning
|
||||
.. [#ci-dashboard-repo] CI Dashboard Github Repository
|
||||
https://github.com/Triniplex/third-party-ci-dashboard.git
|
||||
.. [#radar-stackforge-repo] https://github.com/stackforge/radar
|
||||
.. [#third-party-ci-dashboard-server] http://dashboard.triniplex.com
|
||||
|
Loading…
x
Reference in New Issue
Block a user