from PLC.NodeTypes import NodeTypes
from PLC.BootStates import BootStates
from PLC.Interfaces import Interface, Interfaces
+from PLC.TagTypes import TagType, TagTypes
def valid_hostname(hostname):
# 1. Each part begins and ends with a letter or number.
'last_download': Parameter(int, "Date and time when node boot image was created", ro = True),
'last_pcu_reboot': Parameter(int, "Date and time when PCU reboot was attempted", ro = True),
'last_pcu_confirmation': Parameter(int, "Date and time when PCU reboot was confirmed", ro = True),
+ 'last_time_spent_online': Parameter(int, "Length of time the node was last online before shutdown/failure", ro = True),
+ 'last_time_spent_offline': Parameter(int, "Length of time the node was last offline after failure and before reboot", ro = True),
'verified': Parameter(bool, "Whether the node configuration is verified correct", ro=False),
'key': Parameter(str, "(Admin only) Node key", max = 256),
'session': Parameter(str, "(Admin only) Node session value", max = 256, ro = True),
validate_last_pcu_reboot = Row.validate_timestamp
validate_last_pcu_confirmation = Row.validate_timestamp
+ def update_readonly_int(self, col_name, commit = True):
+
+ assert 'node_id' in self
+ assert self.table_name
+
+ self.api.db.do("UPDATE %s SET %s = %s" % (self.table_name, col_name, self[col_name]) + \
+ " where node_id = %d" % (self['node_id']) )
+ self.sync(commit)
+
def update_timestamp(self, col_name, commit = True):
"""
Update col_name field with current time
self['deleted'] = True
self.sync(commit)
-
class Nodes(Table):
"""
Representation of row(s) from the nodes table in the