255 lines
6.5 KiB
HTML
255 lines
6.5 KiB
HTML
<html xmlns="http://www.w3.org/1999/xhtml"
|
|
xmlns:py="http://genshi.edgewall.org/"
|
|
lang="en">
|
|
<HEAD>
|
|
<style type="text/css">
|
|
#pipeline-container {
|
|
max-width: 950px;
|
|
margin: 0 auto;
|
|
}
|
|
.change {
|
|
border: 1px solid #95c7db;
|
|
margin-top: 10px;
|
|
padding: 2px;
|
|
}
|
|
.change > .header {
|
|
background: #E2ECEF;
|
|
color: black;
|
|
margin: -2px -2px 2px -2px;
|
|
padding: 4px;
|
|
}
|
|
.change > .header > .changeid {
|
|
margin: 1em;
|
|
}
|
|
.change > .header > .time {
|
|
float: right;
|
|
}
|
|
.pipeline > .subhead > .count {
|
|
float: right;
|
|
margin-right: 1em;
|
|
color: #535353;
|
|
font-size: 11pt;
|
|
}
|
|
.job {
|
|
display: block;
|
|
}
|
|
.pipeline {
|
|
float: left;
|
|
width: 25em;
|
|
padding: 4px;
|
|
}
|
|
.pipeline > .header {
|
|
background: #0000cc;
|
|
color: white;
|
|
}
|
|
.arrow {
|
|
text-align: center;
|
|
font-size: 16pt;
|
|
line-height: 1.0;
|
|
}
|
|
.result {
|
|
float: right;
|
|
}
|
|
.result_success {
|
|
color: #007f00;
|
|
}
|
|
.result_failure {
|
|
color: #cf2f19;
|
|
}
|
|
.result_unstable {
|
|
color: #e39f00;
|
|
}
|
|
a:link {
|
|
color: #204A87;
|
|
}
|
|
#message p{
|
|
margin: 0;
|
|
}
|
|
.alertbox {
|
|
border: 1px solid #e5574d;
|
|
background: #ffaba5;
|
|
color: black;
|
|
padding: 1em;
|
|
font-size: 12pt;
|
|
margin: 0pt;
|
|
}
|
|
.change_progress {
|
|
width: 5em;
|
|
float: right;
|
|
/* because other wise this floats up off the line */
|
|
margin-top: 0.25em;
|
|
}
|
|
|
|
/** Theming for the progress bars to get them consisten across browers:
|
|
referenced from http://www.useragentman.com/blog/2012/01/03/cross-browser-html5-progress-bars-in-depth/
|
|
*/
|
|
|
|
progress, /* All HTML5 progress enabled browsers */
|
|
progress[role] /* polyfill */
|
|
{
|
|
/* Turns off styling - not usually needed, but good to know. */
|
|
appearance: none;
|
|
-moz-appearance: none;
|
|
-webkit-appearance: none;
|
|
|
|
/* gets rid of default border in Firefox and Opera. */
|
|
border: none;
|
|
|
|
/* Needs to be in here for Safari polyfill so background images work as expected. */
|
|
background-size: auto;
|
|
}
|
|
|
|
/* Polyfill */
|
|
progress[role]:after {
|
|
background-image: none; /* removes default background from polyfill */
|
|
}
|
|
|
|
/* Ensure fallback text doesn't appear in polyfill */
|
|
progress[role] strong {
|
|
display: none;
|
|
}
|
|
|
|
/** Background color */
|
|
progress, /* Firefox */
|
|
progress[role][aria-valuenow] { /* Polyfill */
|
|
background: #e6e6e6 !important; /* !important is needed by the polyfill */
|
|
}
|
|
|
|
/* Chrome */
|
|
progress::-webkit-progress-bar {
|
|
background: #e6e6e6;
|
|
}
|
|
|
|
/** Foreground color */
|
|
/* IE10 */
|
|
progress {
|
|
color: #6b81a2;
|
|
}
|
|
|
|
/* Firefox */
|
|
progress::-moz-progress-bar {
|
|
background: #6b81a2;
|
|
}
|
|
|
|
/* Chrome */
|
|
progress::-webkit-progress-value {
|
|
background: #6b81a2;
|
|
}
|
|
|
|
/* Polyfill */
|
|
progress[aria-valuenow]:before {
|
|
background: #6b81a2;
|
|
}
|
|
|
|
</style>
|
|
|
|
<TITLE>Zuul Status</TITLE>
|
|
|
|
<script type="text/javascript"
|
|
src="http://status.openstack.org/jquery.min.js"></script>
|
|
<script type="text/javascript"
|
|
src="http://status.openstack.org/jquery-visibility.min.js"></script>
|
|
<script type="text/javascript"
|
|
src="http://status.openstack.org/jquery-graphite.js"></script>
|
|
<script type="text/javascript"
|
|
src="http://status.openstack.org/common.js"></script>
|
|
<script type="text/javascript"
|
|
src="status.js"></script>
|
|
|
|
<!-- Google Fonts -->
|
|
<link href='http://fonts.googleapis.com/css?family=PT+Sans&subset=latin' rel='stylesheet' type='text/css'/>
|
|
|
|
<!-- Framework CSS -->
|
|
<link rel="stylesheet" href="http://www.openstack.org/themes/openstack/css/blueprint/screen.css" type="text/css" media="screen, projection"/>
|
|
<link rel="stylesheet" href="http://www.openstack.org/themes/openstack/css/blueprint/print.css" type="text/css" media="print"/>
|
|
|
|
<!-- IE CSS -->
|
|
<!--[if lt IE 8]><link rel="stylesheet" href="http://www.openstack.org/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
|
|
|
|
<!-- OpenStack Specific CSS -->
|
|
|
|
<link rel="stylesheet" href="http://www.openstack.org/themes/openstack/css/dropdown.css" type="text/css" media="screen, projection, print"/>
|
|
|
|
<!-- Page Specific CSS -->
|
|
<link rel="stylesheet" href="http://www.openstack.org/themes/openstack/css/home.css" type="text/css" media="screen, projection, print"/>
|
|
|
|
<link rel="stylesheet" type="text/css" href="http://www.openstack.org/themes/openstack/css/main.css" />
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
<script type="text/javascript">header('Zuul');</script>
|
|
|
|
<div class="container">
|
|
<h1> Zuul Status </h1>
|
|
<p> Zuul is a pipeline oriented project gating and automation
|
|
system. Each of the sections below is a separate pipeline
|
|
configured to automate some portion of the testing or
|
|
operation of the OpenStack project. For more information, please see
|
|
<a href="http://ci.openstack.org/zuul">the Zuul reference manual.</a>
|
|
</p>
|
|
|
|
<p>
|
|
Queue lengths: <span id="trigger_event_queue_length"></span> events,
|
|
<span id="result_event_queue_length"></span> results.
|
|
|
|
Filter projects: <input type="text" id="projects_filter" />
|
|
</p>
|
|
</div>
|
|
|
|
<div class="container">
|
|
<div id="message"/>
|
|
</div>
|
|
|
|
<div id="pipeline-container">
|
|
</div>
|
|
|
|
<div class="container" id="graph-container">
|
|
<h2> Job Stats </h2>
|
|
|
|
<script type="text/javascript">
|
|
$.fn.graphite.defaults.url = "http://graphite.openstack.org/render/";
|
|
|
|
$("#graph-container").append($(new Image()).addClass('graph').graphite({
|
|
from: "-24hours",
|
|
width: 310,
|
|
height: 170,
|
|
bgcolor: 'ffffff',
|
|
fgcolor: '000000',
|
|
target: [
|
|
"color(alias(sumSeries(stats.gauges.nodepool.target.*.devstack-precise.*.ready), 'devstack-precise'), 'green')",
|
|
],
|
|
title: "Available Test Nodes"
|
|
}));
|
|
|
|
$("#graph-container").append($(new Image()).addClass('graph').graphite({
|
|
from: "-24hours",
|
|
width: 310,
|
|
height: 170,
|
|
bgcolor: 'ffffff',
|
|
fgcolor: '000000',
|
|
target: [
|
|
"alias(summarize(sumSeries(stats_counts.zuul.pipeline.*.job.*.*),'1h'),'All Jobs')",
|
|
],
|
|
title: "Zuul Jobs Launched (per Hour)"
|
|
}));
|
|
|
|
$("#graph-container").append($(new Image()).addClass('graph').graphite({
|
|
from: "-24hours",
|
|
width: 310,
|
|
height: 170,
|
|
bgcolor: 'ffffff',
|
|
fgcolor: '000000',
|
|
target: [
|
|
"alias(summarize(stats_counts.gerrit.event.comment-added, '1h'), 'Comment added')",
|
|
"alias(summarize(stats_counts.gerrit.event.patchset-created, '1h'), 'Patchset created')",
|
|
"alias(summarize(stats_counts.gerrit.event.change-merged, '1h'), 'Change merged')",
|
|
],
|
|
title: "Gerrit Events (per Hour)"
|
|
}));
|
|
</script>
|
|
</div>
|
|
|
|
<script type="text/javascript">footer();</script>
|
|
</BODY>
|
|
</html>
|