third-party-ci-tools/specs/third_party_ci_dashboard.rst
Mikhail S Medvedev 29160e71d3 Change all instances stackforge to openstack
Stackforge namespace was deprecated, all projects are now under
openstack namespace.

Change-Id: I9982d65c5edfec634789d20fb0f85e98954eb625
2015-10-17 14:22:41 -05:00

3.7 KiB

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 Summit1.

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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 etherpad2.

Assignee(s)

Primary assignee:
  • Steve Weston (steve.weston)

Work Items

TBD

Repositories

During the Kilo Design Summit the group discussed review of the radar repository3.

Servers

The server for the test environment is online and hosted at: http://dashboard.triniplex.com4.

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


  1. Session Kilo Design Summit https://etherpad.openstack.org/p/kilo-third-party-items↩︎

  2. CI Dashboard Planning https://etherpad.openstack.org/p/Third-Party-CI-Dashboard-InitialPlanning↩︎

  3. https://github.com/openstack/radar↩︎

  4. http://dashboard.triniplex.com↩︎