48862a4e3f250c14e4492fd2bb124d37b05b0595
[tests.git] / system / config_1vnodes.py
1 # map all nodes onto the avail. pool
2
3 from TestMapper import TestMapper
4 from TestPool import TestPool
5
6 onelab_plcs_pool = [ 
7     ( 'vnode%02d.inria.fr'%i, '138.96.255.%d'%(220+i), '02:34:56:00:00:%02d'%i) for i in range(1,10) ]
8 site_dict = {
9     'interface_fields:gateway':'138.96.248.250',
10     'interface_fields:network':'138.96.0.0',
11     'interface_fields:broadcast':'138.96.255.255',
12     'interface_fields:netmask':'255.255.0.0',
13     'interface_fields:dns1': '138.96.0.10',
14     'interface_fields:dns2': '138.96.0.11',
15 }
16
17 def config (plcs, options):
18     
19     test_pool = TestPool (onelab_plcs_pool,options)
20     test_mapper = TestMapper (plcs, options)
21
22     all_nodenames = test_mapper.node_names()
23     maps = []
24     for nodename in all_nodenames:
25         if len(options.ips_node) != 0:
26             ip=options.ips_node[0]
27             options.ips_node=options.ips_node[1:]
28             (hostname,ip,mac)=test_pool.locate(ip)
29         else:
30             (hostname,ip,mac) = test_pool.next_free()
31         node_dict= {'node_fields:hostname':hostname,
32                     'interface_fields:ip':ip, 
33                     'interface_fields:mac':mac,
34                     }
35     
36         node_dict.update(site_dict)
37         maps.append ( ( nodename, node_dict) )
38
39     plc_map = [ ( '*' , { 'PLC_NET_DNS1' : site_dict [ 'interface_fields:dns1' ],
40                         'PLC_NET_DNS2' : site_dict [ 'interface_fields:dns2' ], } ) ]
41
42     return test_mapper.map ({'node': maps, 'plc' : plc_map } )