other peering instances of myplc
"""
- table_name = 'foreign_nodes'
- primary_key = 'foreign_node_id'
+ table_name = 'nodes'
+ primary_key = 'node_id'
fields = {
- 'foreign_node_id': Parameter (int, "Foreign Node Id"),
+ 'node_id': Parameter (int, "Node Id"),
'hostname': Parameter (str, "Node name"),
- 'boot_state' : Parameter (str, "Boot state"),
'peer_id': Parameter (str, "Peer id"),
+ 'boot_state' : Parameter (str, "Boot state, see Node"),
+ 'model' : Parameter (str,"Model, see Node"),
+ 'version' : Parameter (str,"Version, see Node"),
+ 'date_created': Parameter(int, "Creation time, see Node"),
+ 'last_updated': Parameter(int, "Update time, see Node"),
}
def __init__(self,api,fields={},uptodate=True):
Row.__init__(self,api,fields)
self.uptodate=uptodate
+ def delete (self, commit=True):
+ """
+ Delete existing foreign node.
+ """
+ print 'in ForeignNode::delete',self
+ self['deleted']=True
+ self.sync(commit)
+
+
class ForeignNodes (Table):
def __init__ (self, api, foreign_node_id_or_hostname_list=None):
self.api=api
sql =""
- sql += "SELECT %s FROM foreign_nodes " % ", ".join(ForeignNode.fields)
- sql += "WHERE foreign_nodes.deleted IS False "
+ sql += "SELECT %s FROM view_foreign_nodes " % ", ".join(ForeignNode.fields)
+ sql += "WHERE view_foreign_nodes.deleted IS False "
if foreign_node_id_or_hostname_list:
foreign_node_id_list = [ str(x) for x in foreign_node_id_or_hostname_list
if isinstance(x, StringTypes)]
sql += " AND (False"
if foreign_node_id_list:
- sql += " OR foreign_node_id in (%s)" % ", ".join(foreign_node_id_list)
+ sql += " OR node_id in (%s)" % ", ".join(foreign_node_id_list)
if hostname_list:
## figure how to retrieve peer_id from the hostname(s)
sql += " OR hostname IN (%s)" % ", ".join(api.db.quote(hostname_list))