d049de02c5943d4a64a55aa1c93d59f0e2023fd4
[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 build boxes we use 
22    def build_vs_boxes_spec (self):
23       return []
24
25    # the experimental lxc-based build box
26    def build_lxc_boxes_spec (self):
27       return [ 'liquid', 'reed', 'velvet' ]
28
29    # the vs-capable box for PLCs
30    def plc_vs_boxes_spec (self):
31       return [ ]
32
33    # the lxc-capable box for PLCs
34    def plc_lxc_boxes_spec (self):
35       return [ 
36          ('gotan', 10),         # how many plcs max in this box 
37          ('deathvegas', 10),    
38          ]  
39
40    # vplc01 to 40
41    def vplc_ips (self):
42       return [  ( 'vplc%02d'%i,                 # DNS name
43                   'unused')                     # MAC address 
44                 for i in range(1,41) ] 
45
46    def qemu_boxes_spec (self):
47       return [ # how many qemus max in this box
48 # enfoui runs f18 - also can't seem to enter BIOS on that one
49          ('kvm64-6', 4), # 4 cores, 8Gb
50 # this used to be kruder, which is broken/dead
51 # we now have speedball installed but it is reserved for manual trials of libvirt/qemu
52 # this one is down         ('kvm64-1', 3), # 4 cores, 4Gb
53          ('kvm64-2', 3), # 4 cores, 4Gb
54          ('kvm64-4', 2), # 4 cores, 8Gb
55          ('kvm64-3', 1), # 2 cores, 4Gb
56          ('kvm64-5', 1), # 2 cores, 4Gb
57          ]
58
59    # the nodes pool has a MAC address as user-data (3rd elt in tuple)
60    def vnode_ips (self):
61       return [ ( 'vnode%02d'%i,                 # DNS name               
62                  '02:34:56:00:00:%02d'%i)       # MAC address
63                for i in range(1,21) ] 
64    
65    # local network settings
66    def domain (self):
67       return 'pl.sophia.inria.fr'
68
69    def network_settings (self):
70       return { 'interface_fields:gateway':      '138.96.112.250',
71                'route_fields:next_hop':         '138.96.112.250',
72                'interface_fields:network':      '138.96.112.0',
73                'interface_fields:broadcast':    '138.96.119.255',
74                'interface_fields:netmask':      '255.255.248.0',
75                'interface_fields:dns1':         '138.96.112.1',
76                'interface_fields:dns2':         '138.96.112.2',
77                'node_fields_nint:dns':          '138.96.112.1,138.96.112.2',
78                'ipaddress_fields:netmask':      '255.255.248.0',
79                }
80
81 # the hostname for the testmaster - in case we'd like to run this remotely
82    def testmaster (self): 
83       return 'testmaster'
84
85 local_substrate = OnelabSubstrate ()
86
87 if __name__ == '__main__':
88    local_substrate.main()