last_changed = Field(DateTime,default=datetime.now)
status = Field(String,default="unknown")
haspcu = Field(Boolean,default=False)
+ plc_nodeid = Field(Int,default=1)
+
acts_as_versioned(ignore=['last_changed', 'last_checked'])
@classmethod
class HistorySiteRecord(Entity):
loginbase = Field(String(250),primary_key=True)
+ plc_siteid = Field(Int,default=1)
last_checked = Field(DateTime,default=datetime.now)
last_changed = Field(DateTime,default=datetime.now)
print rec.plc_node_stats
boot_state = rec.plc_node_stats['boot_state']
last_contact = rec.plc_node_stats['last_contact']
+ node.plc_nodeid = rec.plc_node_stats['node_id']
else:
boot_state = "unknown"
last_contact = None
else:
node.haspcu = False
+
# NOTE: 'DOWN' and 'DEBUG' are temporary states, so only need
# 'translations' into the node.status state
# 'BOOT' is a permanent state, but we want it to have a bit of
'penalty_level' : 0})
sitehist.last_checked = datetime.now()
+ sitehist.plc_siteid = d_site['site_id']
sitehist.slices_total = d_site['max_slices']
sitehist.slices_used = len(d_site['slice_ids'])
sitehist.nodes_total = len(lb2hn[sitename])
return config.RT_WEB_SERVER + "/Ticket/Display.html?id=" + str(ticketid)
def plc_node_uri(hostname):
return "https://" + config.PLC_WWW_HOSTNAME + "/db/nodes/index.php?nodepattern=" + str(hostname)
+def plc_node_uri_id(node_id):
+ return "https://" + config.PLC_WWW_HOSTNAME + "/db/nodes/index.php?id=" + str(node_id)
def plc_site_uri(loginbase):
return "https://" + config.PLC_WWW_HOSTNAME + "/db/sites/index.php?site_pattern=" + str(loginbase)
def plc_site_uri_id(site_id):
<span class="icon">${node.loginbase}</span></a>
</td>
<td id="node-${node.observed_status}" nowrap="true" >
- <a class="ext-link" href="${plc_node_uri(node.hostname)}">
+ <a class="ext-link" href="${plc_node_uri_id(node.plc_nodeid)}">
<span class="icon">${node.hostname}</span></a>
</td>
<td py:content="node.ping_status"></td>
<td nowrap='true'>
<div class='oneline'>
<a class='left' href="${link('pcuview', loginbase=node.loginbase)}">${node.loginbase}</a>
- <a class='right' href="${plc_site_uri(node.loginbase)}">
+ <a class='right' href="${plc_site_uri_id(node.plc_pcu_stats['site_id'])}">
<img style='display: inline' border='0' src="static/images/extlink.gif" align='right'/></a>
</div>
</td>
<tbody>
<tr py:for="i,site in enumerate(sitequery)" class="${i%2 and 'odd' or 'even'}" >
<td><a href="sitehistory?loginbase=${site.loginbase}">history</a></td>
- <td nowrap="true"><a class="ext-link" href="${plc_site_uri(site.loginbase)}">
+ <td nowrap="true"><a class="ext-link" href="${plc_site_uri_id(site.plc_siteid)}">
<span class="icon">${site.loginbase}</span></a>
</td>
<td py:content="site.enabled"></td>
<td></td>
<td><a href="nodehistory?hostname=${node.hostname}">history</a></td>
<td id="node-${node.observed_status}" nowrap="true" >
- <a class="ext-link" href="${plc_node_uri(node.hostname)}">
+ <a class="ext-link" href="${plc_node_uri_id(node.plc_node_stats['node_id'])}">
<span class="icon">${node.hostname}</span></a>
</td>
<td py:content="diff_time(node.plc_node_stats['last_contact'])"></td>
<td nowrap="true">
<div class='oneline'>
<a class='left' href="${link('pcuview', loginbase=site.loginbase)}">${site.loginbase}</a>
- <a class='right' href="${plc_site_uri(site.loginbase)}">
+ <a class='right' href="${plc_site_uri_id(site.plc_siteid)}">
<img style='display: inline' border='0' src="static/images/extlink.gif" align='right'/></a>
</div>
</td>
<td nowrap="true">
<div class='oneline'>
<a class='left' href="${link('pcuview', loginbase=site.loginbase)}">${site.loginbase}</a>
- <a class='right' href="${plc_site_uri(site.loginbase)}">
+ <a class='right' href="${plc_site_uri_id(site.plc_siteid)}">
<img style='display: inline' border='0' src="static/images/extlink.gif" align='right'/></a>
</div>
</td>
</thead>
<tbody>
<tr py:for="i,site in enumerate(sitequery)">
- <td nowrap="true"><a class="ext-link" href="${plc_site_uri(site.loginbase)}">
+ <td nowrap="true"><a class="ext-link" href="${plc_site_uri_id(site.plc_siteid)}">
<span class="icon">${site.loginbase}</span></a>
</td>
<td py:content="site.enabled"></td>