3 from Remote import Remote
4 from Table import Table
7 class Node(dict, Remote):
11 'hostname': None, # Node Hostname
12 'host': 'localhost', # host where node lives
13 'redir_port': None, # Port on host where ssh is redirected to virtual node
14 'vserver': None, # vserver where this node lives
15 'type': 'vm', # type of node
16 'nodenetworks': [], # node networks
17 'homedir': '/var/VirtualMachines/',
18 'rootkey': None # path to root ssh key
21 def __init__(self, config, fields = {}):
23 # XX Filter out fields not specified in fields
24 dict.__init__(self, self.fields)
26 # Merge defined fields with defaults
30 class Nodes(list, Table):
32 def __init__(self, config, nodes):
33 nodelist = [Node(config, node) for node in nodes]
34 list.__init__(self, nodelist)