1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 layout_params['page_title'] = "MyOps PCU List"
4 from pcucontrol.reboot import pcu_name, model_to_object
5 from monitor import config
8 <html py:layout="'sitemenu.kid'"
9 xmlns:py="http://purl.org/kid/ns#"
10 xmlns:mochi="http://www.mochi.org">
12 <div py:match="item.tag == 'content'">
16 <script type="text/javascript">
17 function pculist_paginator(opts) { plekit_table_paginator(opts, "pculist"); }
20 <table id="pculist" cellpadding="0" border="0" class="plekit_table sortable-onload-0 colstyle-alt no-arrow paginationcallback-pculist_paginator max-pages-10 paginate-25">
23 <tr class='pagesize_area'><td class='pagesize_area' colspan='5'>
24 <form class='pagesize' action='satisfy_xhtml_validator'><fieldset>
25 <input class='pagesize_input' type='text' id="pculist_pagesize" value='25'
26 onkeyup='plekit_pagesize_set("pculist","pculist_pagesize", 25);'
27 size='3' maxlength='3' />
28 <label class='pagesize_label'> items/page </label>
29 <img class='reset' src="/planetlab/icons/clear.png" alt="reset visible size"
30 onmousedown='plekit_pagesize_reset("pculist","pculist_pagesize", 999);' />
31 </fieldset></form></td></tr>
33 <tr class='search_area'><td class='search_area' colspan='5'>
34 <div class='search'><fieldset>
35 <label class='search_label'> Refine List</label>
36 <input class='search_input' type='text' id='pculist_search'
37 onkeyup='plekit_table_filter("pculist","pculist_search","pculist_search_and");'
38 size='self.search_width' maxlength='256' />
40 <input id='pculist_search_and' class='search_and'
41 type='checkbox' checked='checked'
42 onchange='plekit_table_filter("pculist","pculist_search","pculist_search_and");' />
43 <img class='reset' src="/planetlab/icons/clear.png" alt="reset search"
44 onmousedown='plekit_table_filter_reset("pculist","pculist_search","pculist_search_and");' />
45 </fieldset></div></td></tr>
48 <th class="sortable plekit_table">Site</th>
49 <th class="sortable plekit_table">PCU Name</th>
50 <th class="sortable plekit_table">Port Status</th>
51 <th class="sortable plekit_table">Test Results</th>
52 <th class="sortable plekit_table">Model</th>
53 <th class="sortable plekit_table">Nodes</th>
57 <tr py:for="i,node in enumerate(query)">
60 <a class='left' href="${link('simpleview', loginbase=node.loginbase)}">${node.loginbase}</a>
61 <a class='right' href="${plc_site_uri_id(node.pcu.plc_pcu_stats['site_id'])}">
62 <img style='display: inline' border='0' src="static/images/extlink.gif" align='right'/></a>
67 <a class='left' href="${link('simpleview', pcuid=node.pcu.plc_pcuid)}">${pcu_name(node.pcu.plc_pcu_stats)}</a>
68 <a class='right' href="${plc_pcu_uri_id(node.pcu.plc_pcu_stats['pcu_id'])}">
69 <img style='display: inline' border='0' src="static/images/extlink.gif" align='right'/></a>
73 <span py:for="port,state in node.ports"
74 id="port${state}" py:content="'%s, ' % port">80</span>
76 <td width="20%" nowrap='true' align='center' id="status-${node.status}">
78 <a class="info" py:if="'error' in node.status"
79 href="${link('simpleview', pcuid=node.pcu.plc_pcuid)}">
80 Error<span><pre>${node.pcu.reboot_trial_status}</pre></span></a>
81 <a py:if="'error' not in node.status"
82 href="${link('simpleview', pcuid=node.pcu.plc_pcuid)}"
83 py:content="node.status">Reboot Status</a>
86 <td py:content="node.pcu.plc_pcu_stats['model']"></td>
87 <td py:content="len(node.pcu.plc_pcu_stats['node_ids'])"></td>