elastic-recheck/web/share/templates/integrated_gate.html
Sean Dague a5192cf8c4 highlight when integrated_gate data is out of date
Change-Id: I2f37ddf7612f3771e34a287dd061c67a4008e680
2016-08-24 10:49:18 -04:00

124 lines
3.9 KiB
HTML

{% extends "base.html" %}
{% block body %}
{{ super() }}
<style>
.menu {
float: right;
padding-top: 1em;
}
.jobs {
padding-top: 1em;
}
</style>
<script type="text/javascript">
function filter_log_age(ev, days) {
ev.preventDefault();
var generated = $('#generated-date').text();
var gen_date = Date.parse(generated);
$("div.job").each(function () {
$(this).show();
});
$( "li.log-link" ).each(function() {
if (! $( this ).hasClass("dated") ) {
var timestamp = $( this ).text().substr(0,16);
var item_date = Date.parse(timestamp);
var date_delta = (gen_date - item_date) / 86400000;
$( this ).addClass("dated");
$( this ).attr("age", date_delta);
}
if ($( this ).attr("age") > days ) {
$( this ).hide();
} else {
$( this ).show();
}
});
$("div.job").each(function () {
var visible = $('ul li:visible', $(this)).size()
if (visible == 0) $(this).hide();
else $(this).show();
});
$("#menu li").each(function () {
var h = $("a", this).attr('href').substring(1);
if ($('a[name="' + h + '"]').closest("div").is(":visible")){
$(this).show();
}else{
$(this).hide();
}
});
}
$(function() {
$("#24hours").click(function(e) {
filter_log_age(e, 1);
});
$("#2days").click(function(e) {
filter_log_age(e, 2);
});
$("#7days").click(function(e) {
filter_log_age(e, 7);
});
$("#10days").click(function(e) {
filter_log_age(e, 10);
});
});
</script>
<div class="container">
<ul class="nav nav-tabs">
<li><a href="../index.html">All Pipelines</a></li>
<li><a href="../gate.html">Gate Pipeline</a></li>
<li class="active"><a href="integrated_gate.html">Integrated Gate Uncategorized</a></li>
<li><a href="others.html">Other Projects Uncategorized</a></li>
</ul>
</div>
<div class="menu" id="menu">
<a name="top"></a>
{% for job in jobs %}
<li><a href="#{{job[0]}}">{{job[0]}} ({{job[1]}})</a></li>
{% endfor %}
</div>
<div class='crm114-verbiage'>
Failures on this page are collected from all voting gate failures on projects running the integrated-gate job templates that don't match current elastic-recheck bug fingerprints.<br>
The crm114 links are logstash queries showing log messages that have been flagged as potential errors.<br>
More information on the system can be found <a href="http://docs.openstack.org/infra/system-config/logstash.html#crm114">here</a>
</div>
<div class="jobs">
<h1>Unclassified failed integrated gate jobs</h1>
Overall Categorization Rate: {{ rate['overall'] }}%
<p>
Total: {{ total }} - Found: {{ count }} = Unclassified: {{ uncounted }}
</p>
<p>
Generated at: <span id="generated-date">{{ generated_at }}</span>
(View: <a id="24hours" href="#">24 hours</a>,
<a id="2days" href="#">2 days</a>,
<a id="7days" href="#">7 days</a>,
<a id="10days" href="#">10 days</a>)
</p>
{% for job in jobs %}
<div class="job">
<a name="{{job[0]}}"></a>
<a href="#top"><i>back to top</i></a>
<h2>{{ job[0] }} : {{ job[1] }} Uncategorized Fails. {{rate[job[0]]}}% Classification Rate ({{total_job_failures[job[0]]}} Total Fails)</h2>
<ul>
{% for url in urls[job[0]] %}
{% if url['crm114'] %}
<li class="log-link">{{url['timestamp']}}: <a href="{{ url['log'] }}">{{ url['log'] }}</a> : <a href="{{ url['crm114'] }}">crm114</a></li>
{% else %}
<li class="log-link">{{url['timestamp']}}: <a href="{{ url['log'] }}">{{ url['log'] }}</a></li>
{% endif %}
{% endfor %}
</ul>
</div>
{% endfor %}
{% endblock %}
</div>
<script type="text/javascript">
alert_old_generated_date();
</script>