added 'redir_port' attribute
[tests.git] / qaapi / qa / Nodes.py
1 import utils
2 import os
3 from Remote import Remote
4 from Table import Table
5
6
7 class Node(dict, Remote):
8
9     fields = {
10         'plc': None,
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
19         }
20
21     def __init__(self, config, fields = {}):
22
23         # XX Filter out fields not specified in fields
24         dict.__init__(self, self.fields)
25         
26         # Merge defined fields with defaults
27         self.update(fields)
28         self.config = config    
29     
30 class Nodes(list, Table):
31
32     def __init__(self, config, nodes):
33         nodelist = [Node(config, node) for node in nodes]
34         list.__init__(self, nodelist)
35         self.config = config
36