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 Node List"
4 from monitor.util import diff_time
5 from time import mktime
9 <html py:layout="'sitemenu.kid'"
10 xmlns:py="http://purl.org/kid/ns#"
11 xmlns:mochi="http://www.mochi.org">
13 <div py:match="item.tag == 'content'">
15 <script type="text/javascript">
16 function nodelist_paginator(opts) { plekit_table_paginator(opts, "nodelist"); }
19 <table id="nodelist" cellpadding="0" border="0" class="plekit_table sortable-onload-2 colstyle-alt no-arrow paginationcallback-nodelist_paginator max-pages-10 paginate-25">
21 <tr class='pagesize_area'><td class='pagesize_area' colspan='10'>
22 <form class='pagesize' action='satisfy_xhtml_validator'><fieldset>
23 <input class='pagesize_input' type='text' id="nodelist_pagesize" value='25'
24 onkeyup='plekit_pagesize_set("nodelist","nodelist_pagesize", 25);'
25 size='3' maxlength='3' />
26 <label class='pagesize_label'> items/page </label>
27 <img class='reset' src="/planetlab/icons/clear.png" alt="reset visible size"
28 onmousedown='plekit_pagesize_reset("nodelist","nodelist_pagesize", 999);' />
29 </fieldset></form></td></tr>
31 <tr class='search_area'><td class='search_area' colspan='10'>
32 <div class='search'><fieldset>
33 <label class='search_label'> Search </label>
34 <input class='search_input' type='text' id='nodelist_search'
35 onkeyup='plekit_table_filter("nodelist","nodelist_search","nodelist_search_and");'
36 size='self.search_width' maxlength='256' />
38 <input id='nodelist_search_and' class='search_and'
39 type='checkbox' checked='checked'
40 onchange='plekit_table_filter("nodelist","nodelist_search","nodelist_search_and");' />
41 <img class='reset' src="/planetlab/icons/clear.png" alt="reset search"
42 onmousedown='plekit_table_filter_reset("nodelist","nodelist_search","nodelist_search_and");' />
43 </fieldset></div></td></tr>
46 <th nowrap="true" class="sortable plekit_table">Date Checked</th>
47 <th class="sortable plekit_table">Hostname</th>
48 <th class="sortable plekit_table">Ping</th>
49 <th class="sortable plekit_table">SSH</th>
50 <th class="sortable plekit_table">Stat</th>
51 <th class="sortable plekit_table">kernel</th>
52 <th class="sortable plekit_table">BootCD</th>
53 <th class="sortable plekit_table">Last_contact</th>
57 <tr py:for="i,node in enumerate(query)">
58 <span py:if="node is not None">
59 <td nowrap="true" py:content="node.node.date_checked">date_checked</td>
61 <a target="_top" href="${link('pcuview', hostname=node.node.hostname)}" py:content="node.node.hostname">your.host.org</a></td>
62 <td py:content="node.node.ping_status">ping</td>
63 <td py:content="node.node.ssh_status">ssh</td>
64 <td py:content="node.node.plc_node_stats['boot_state']">boot</td>
65 <td nowrap="true" py:content="node.kernel"></td>
66 <td nowrap="true" py:content="node.node.bootcd_version"></td>
67 <td id="node-${node.node.observed_status}" py:content="diff_time(node.node.plc_node_stats['last_contact'])"></td>