adonis.rb 8.41 KB
Newer Older
1 2
site :grenoble do |site_uid|

3 4
  cluster :adonis do |cluster_uid|
    model "Bull R422-E2 dual mobo + Tesla S1070"
5
    created_at Time.parse("2010-09-02").httpdate
Elodie Bertoncello's avatar
Elodie Bertoncello committed
6
    kavlan true
Pascal Morillon's avatar
Pascal Morillon committed
7
    production true
8

9 10
    10.times do |i|
      node "#{cluster_uid}-#{i+1}" do |node_uid|
11

12
        performance({
13 14 15 16 17 18 19
        :core_flops => 7139000000,
        :node_flops => 55510000000
      })

        supported_job_types({
          :deploy       => true,
          :besteffort   => true,
20
          :virtual      => lookup(node_uid, node_uid, 'supported_job_types', 'virtual')
21
        })
22

23
        architecture({
24 25 26
          :smp_size       => lookup(node_uid, node_uid, 'architecture', 'smp_size'),
          :smt_size       => lookup(node_uid, node_uid, 'architecture', 'smt_size'),
          :platform_type  => lookup(node_uid, node_uid, 'architecture', 'platform_type')
27
        })
28

29
        processor({
30 31 32 33 34 35 36 37 38 39 40
          :vendor             => lookup(node_uid, node_uid, 'processor', 'vendor'),
          :model              => lookup(node_uid, node_uid, 'processor', 'model'),
          :version            => lookup(node_uid, node_uid, 'processor', 'version'),
          :clock_speed        => lookup(node_uid, node_uid, 'processor', 'clock_speed'),
          :instruction_set    => lookup(node_uid, node_uid, 'processor', 'instruction_set'),
          :other_description  => lookup(node_uid, node_uid, 'processor', 'other_description'),
          :cache_l1           => lookup(node_uid, node_uid, 'processor', 'cache_l1'),
          :cache_l1i          => lookup(node_uid, node_uid, 'processor', 'cache_l1i'),
          :cache_l1d          => lookup(node_uid, node_uid, 'processor', 'cache_l1d'),
          :cache_l2           => lookup(node_uid, node_uid, 'processor', 'cache_l2'),
          :cache_l3           => lookup(node_uid, node_uid, 'processor', 'cache_l3')
41
        })
42

43
        main_memory({
44
          :ram_size     => lookup(node_uid, node_uid, 'main_memory', 'ram_size'),
45 46
          :virtual_size => nil
        })
47

48
        operating_system({
49 50 51 52
          :name     => "debian",
          :release  => "Wheezy",
          :version  => "7",
          :kernel   => "3.2.0-4-amd64"
53
        })
54

55
        storage_devices [{
56
          :interface  => 'SATA',
57
          :size       => lookup(node_uid, node_uid, 'block_devices', 'sda', 'size'),
58
          :driver     => "ahci",
59 60 61 62
          :device     => lookup(node_uid, node_uid, 'block_devices', 'sda', 'device'),
          :model      => lookup(node_uid, node_uid, 'block_devices', 'sda', 'model'),
          :vendor     => lookup(node_uid, node_uid, 'block_devices', 'sda', 'vendor'),
          :rev        => lookup(node_uid, node_uid, 'block_devices', 'sda', 'rev'),
63
          :storage    => 'HDD'
64
        }]
65

66
        network_adapters [{
67 68 69 70 71 72
          :interface        => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'interface'),
          :rate             => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'rate'),
          :enabled          => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'enabled'),
          :management       => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'management'),
          :mountable        => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'mountable'),
          :mounted          => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'mounted'),
73 74 75 76
          :bridged          => true,
          :device           => "eth0",
          :vendor           => 'Intel',
          :version          => "Device 10c9 (rev 01)",
77
          :driver           => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'driver'),
78
          :network_address  => "#{node_uid}.#{site_uid}.grid5000.fr",
79 80
          :ip               => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'ip'),
          :ip6              => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'ip6'),
81 82
          :switch           => net_switch_lookup('grenoble', 'adonis', node_uid, 'eth0'),
          :switch_port      => net_port_lookup('grenoble', 'adonis', node_uid, 'eth0'),
83
          :mac              => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'mac')
84 85
        },
        {
86
          :interface        => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'interface'),
87
          :rate             => 1.G,
88 89 90 91
          :enabled          => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'enabled'),
          :management       => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'management'),
          :mountable        => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'mountable'),
          :mounted          => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'mounted'),
92 93 94 95
          :bridged          => false,
          :device           => "eth1",
          :vendor           => 'Intel',
          :version          => "Device 10c9 (rev 01)",
96 97
          :driver           => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'driver'),
          :mac              => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'mac')
98 99
        },
        {
100 101
          :interface        => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'interface'),
          :rate             => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'rate'),
102
          :device           => "ib0",
103 104 105 106
          :enabled          => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'enabled'),
          :management       => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'management'),
          :mountable        => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'mountable'),
          :mounted          => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'mounted'),
107
          :vendor           => 'Mellanox',
108 109
          :version          => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'version'),
          :driver           => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'driver'),
110
          :network_address  => "#{node_uid}-ib0.#{site_uid}.grid5000.fr",
111 112 113
          :ip               => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'ip'),
          :ip6              => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'ip6'),
          :guid             => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'guid')
114 115
        },
        {
116 117 118 119 120 121 122 123
          :interface        => 'Ethernet',
          :rate             => 1.G,
          :enabled          => true,
          :management       => true,
          :mountable        => false,
          :mounted          => false,
          :device           => "bmc",
          :network_address  => "#{node_uid}-bmc.#{site_uid}.grid5000.fr",
124
          :ip               => lookup(node_uid, node_uid, 'network_interfaces', 'bmc', 'ip'),
125 126
          :vendor           => 'Super Micro Computer Inc.',
          :version          => "1.15",
127
          :mac              => lookup(node_uid, node_uid, 'network_interfaces', 'bmc', 'mac')
128
        }]
129 130

        chassis({
131 132 133
          :serial       => lookup(node_uid, node_uid, 'chassis', 'serial_number'),
          :name         => lookup(node_uid, node_uid, 'chassis', 'product_name'),
          :manufacturer => lookup(node_uid, node_uid, 'chassis', 'manufacturer')
134 135
        })

136
        bios({
137 138 139
          :version      => lookup(node_uid, node_uid, 'bios', 'version'),
          :vendor       => lookup(node_uid, node_uid, 'bios', 'vendor'),
          :release_date => lookup(node_uid, node_uid, 'bios', 'release_date')
140
        })
141

Vidal WATAT's avatar
Vidal WATAT committed
142
        gpu({
143
          :gpu         => true,
144
          :gpu_count   =>  lookup('adonis_manual', node_uid, 'gpu', 'gpu_count'),
145
          :gpu_vendor  =>  lookup('adonis_manual', node_uid, 'gpu', 'gpu_vendor'),
146
          :gpu_model   =>  lookup('adonis_manual', node_uid, 'gpu', 'gpu_model'),
147 148
        })

149 150 151 152 153
        sensors({
          :power => {
            :available => true,
            :via => {
              :pdu  => [
154
                [ { :port 	=>  lookup('adonis_manual', node_uid, 'sensors', 'measure1'),
155
                    :uid			=>  lookup('adonis_manual', node_uid, 'sensors', 'pdu')},
156
                  { :port	=> 	lookup('adonis_manual', node_uid, 'sensors', 'measure2'),
157
                    :uid			=>  lookup('adonis_manual', node_uid, 'sensors', 'pdu')}
158
                ],
159 160
                [ { :measure	=> 	lookup('adonis_manual', node_uid, 'sensors', 'block'),
                    :uid			=>	lookup('adonis_manual', node_uid, 'sensors', 'pdu')}
161 162 163 164
                ]
              ]
            }
          }
165
        })
166

167 168 169 170
      end
    end
  end
end