no change - pretty printed mostly
[tests.git] / system / LocalSubstrate.inria.py
1 #!/usr/bin/python -u
2 # Thierry Parmentelat <thierry.parmentelat@inria.fr>
3 # Copyright (C) 2010 INRIA 
4 #
5 # this is only an example file
6 # the actual file is installed in your testmaster box as /root/LocalTestResources.py
7
8
9 if __name__ == '__main__':
10    import sys, os.path
11    sys.path.append(os.path.expanduser("~/git-tests/system"))
12
13 from Substrate import Substrate
14
15 # domain name .pl.sophia.inria.fr is implicit on our network
16 class OnelabSubstrate (Substrate):
17
18    def test_box_spec (self):
19       return 'testmaster'
20
21    # the experimental lxc-based build box
22    def build_lxc_boxes_spec (self):
23 # velvet needs attention
24 #      return [ 'liquid', 'reed', 'velvet' ]
25 # reed out of the pool, liquid only used for the last f18 build      
26       return [ 'buzzcocks', 'liquid' ]
27
28    # the lxc-capable box for PLCs
29    def plc_lxc_boxes_spec (self):
30       return [ 
31 # gotan looks in bad shape and I can't use its drac from the US
32 #         ('gotan', 20),         # how many plcs max in this box 
33          ('deathvegas', 12),    
34          ]  
35
36    # vplc01 to 40
37    def vplc_ips (self):
38       return [  ( 'vplc%02d'%i,                 # DNS name
39                   'unused')                     # MAC address 
40                 for i in range(1,41) ] 
41
42    def qemu_boxes_spec (self):
43       return [ # (hostname, how many qemus max in this box)
44          ('boxtops', 12),
45          ]
46
47 # these boxes are going on a well deserved retirement
48 # as of jan 2014 this is renumbered so that 1 is preferred
49 # speedball (1) - old school but robust and a big disk
50 #         ('speedball', 2), # 4 cores, 4Gb, 840 Gb
51 # used to have kruder too, but it is broken/dead
52 # dorfmeister (2)
53 #         ('dorfmeister', 2), # 4 cores, 4Gb
54 # enfoui - L119 as it won't work well under the KVM in L102A
55 # use F10 to enter BIOS setup
56 # nodes spawned in this box won't get network connectivity
57 #         ('enfoui', 4), # 4 cores, 8Gb
58 # estran (4) - big mem but small disk
59 # take it out because it takes much of the load and then gets full..
60 #         ('estran', 2), # 4 cores, 8Gb
61 # lodos (5) - rather old/small
62 #         ('lodos', 1), # 2 cores, 4Gb
63 # cyblok (6)        
64 #         ('cyblok', 1), # 2 cores, 4Gb
65
66    # the nodes pool has a MAC address as user-data (3rd elt in tuple)
67    def vnode_ips (self):
68       return [ ( 'vnode%02d'%i,                 # DNS name               
69                  '02:34:56:00:00:%02d'%i)       # MAC address
70                for i in range(1,21) ] 
71    
72    # local network settings
73    def domain (self):
74       return 'pl.sophia.inria.fr'
75
76    def network_settings (self):
77       return { 'interface_fields:gateway':      '138.96.112.250',
78                'route_fields:next_hop':         '138.96.112.250',
79                'interface_fields:network':      '138.96.112.0',
80                'interface_fields:broadcast':    '138.96.119.255',
81                'interface_fields:netmask':      '255.255.248.0',
82                'interface_fields:dns1':         '138.96.112.1',
83                'interface_fields:dns2':         '138.96.112.2',
84                'node_fields_nint:dns':          '138.96.112.1,138.96.112.2',
85                'ipaddress_fields:netmask':      '255.255.248.0',
86                }
87
88 # the hostname for the testmaster - in case we'd like to run this remotely
89    def testmaster (self): 
90       return 'testmaster'
91
92 local_substrate = OnelabSubstrate ()
93
94 if __name__ == '__main__':
95    local_substrate.main()