Attention une mise à jour du service Gitlab va être effectuée le mardi 30 novembre entre 17h30 et 18h00. Cette mise à jour va générer une interruption du service dont nous ne maîtrisons pas complètement la durée mais qui ne devrait pas excéder quelques minutes. Cette mise à jour intermédiaire en version 14.0.12 nous permettra de rapidement pouvoir mettre à votre disposition une version plus récente.

graphene.rb 10.2 KB
Newer Older
1 2 3 4 5
site :nancy do |site_uid|

  cluster :graphene do |cluster_uid|
    model "Carri System 5393"
    created_at Time.parse("2011-01-20").httpdate
6
    kavlan true
7
    queues ['default', 'admin']
8 9 10

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

12
        performance({
13 14
          :core_flops => 8.024.G,
          :node_flops => 31.01.G
15
        })
16 17 18 19

        supported_job_types({
          :deploy       => true,
          :besteffort   => true,
20
          :virtual      => lookup(node_uid, node_uid, 'supported_job_types', 'virtual'),
21 22
          :max_walltime => 0,
          :queues       => ['default', 'admin']
23 24
        })

25
        architecture({
26 27 28
          :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')
29 30
        })

31
        processor({
32 33 34 35 36 37 38 39 40 41 42
          :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')
43
        })
44

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

50
        operating_system({
51
          :name     => "debian",
52 53 54
          :release  => "Jessie",
          :version  => "8.2",
          :kernel   => "3.16.0-4-amd64"
55
        })
56

57
        storage_devices [{
58
          :interface  => 'SATA II',
59
          :size       => lookup(node_uid, node_uid, 'block_devices', 'sda', 'size'),
60
          :driver     => "ahci",
61 62 63 64
          :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'),
65
          :storage    => 'HDD'
66
        }]
67

68
        network_adapters [{
69 70 71 72 73 74
          :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'),
75 76 77 78
          :bridged          => true,
          :device           => "eth0",
          :vendor           => "intel",
          :version          => "82574L",
79
          :driver           => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'driver'),
80
          :network_address  => "#{node_uid}.#{site_uid}.grid5000.fr",
81 82
          :ip               => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'ip'),
          :ip6              => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'ip6'),
83 84
          :switch           => net_switch_lookup('nancy', 'graphene', node_uid),
          :switch_port      => net_port_lookup('nancy', 'graphene', node_uid),
85
          :mac              => lookup(node_uid, node_uid, 'network_interfaces', 'eth0', 'mac')
86 87
        },
        {
88 89 90 91 92 93
          :interface        => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'interface'),
          :rate             => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'rate'),
          :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'),
94 95 96 97
          :bridged          => false,
          :device           => "eth1",
          :vendor           => "intel",
          :version          => "82574L",
98 99
          :driver           => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'driver'),
          :mac              => lookup(node_uid, node_uid, 'network_interfaces', 'eth1', 'mac')
100
        },
Émile Morel's avatar
Émile Morel committed
101
        {
102 103 104 105 106
          :interface        => lookup(node_uid, node_uid, 'network_interfaces', 'eth2', 'interface'),
          :enabled          => lookup(node_uid, node_uid, 'network_interfaces', 'eth2', 'enabled'),
          :management       => lookup(node_uid, node_uid, 'network_interfaces', 'eth2', 'management'),
          :mountable        => lookup(node_uid, node_uid, 'network_interfaces', 'eth2', 'mountable'),
          :mounted          => lookup(node_uid, node_uid, 'network_interfaces', 'eth2', 'mounted'),
Émile Morel's avatar
Émile Morel committed
107 108 109 110
          :bridged          => false,
          :device           => "eth2",
          :vendor           => "intel",
          :version          => "82574L",
111 112
          :driver           => lookup(node_uid, node_uid, 'network_interfaces', 'eth2', 'driver'),
          :mac              => lookup(node_uid, node_uid, 'network_interfaces', 'eth2', 'mac')
Émile Morel's avatar
Émile Morel committed
113
        },
114
        {
115 116
          :interface        => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'interface'),
          :rate             => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'rate'),
117
          :device           => "ib0",
118 119 120 121
          :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'),
122 123
          :vendor           => 'Mellanox',
          :version          => "MT26418",
124
          :driver           => lookup(node_uid, node_uid, 'network_interfaces', 'ib0', 'driver'),
125
          :network_address  => "#{node_uid}-ib0.#{site_uid}.grid5000.fr",
126 127 128
          :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'),
129
          :switch           => "sgrapheneib",
130 131
        },
        {
132 133
          :interface        => lookup(node_uid, node_uid, 'network_interfaces', 'ib1', 'interface'),
          :rate             => lookup(node_uid, node_uid, 'network_interfaces', 'ib1', 'rate'),
134
          :device           => "ib1",
135 136 137 138
          :enabled          => lookup(node_uid, node_uid, 'network_interfaces', 'ib1', 'enabled'),
          :management       => lookup(node_uid, node_uid, 'network_interfaces', 'ib1', 'management'),
          :mountable        => lookup(node_uid, node_uid, 'network_interfaces', 'ib1', 'mountable'),
          :mounted          => lookup(node_uid, node_uid, 'network_interfaces', 'ib1', 'mounted'),
139 140
          :vendor           => 'Mellanox',
          :version          => "MT26418",
141 142
          :driver           => lookup(node_uid, node_uid, 'network_interfaces', 'ib1', 'driver'),
          :guid             => lookup(node_uid, node_uid, 'network_interfaces', 'ib1', 'guid')
143 144 145 146 147 148 149 150 151 152 153
        },
        {
          :interface => 'Ethernet',
          :rate => 100.M,
          :enabled => true,
          :mounted => false,
          :mountable => false,
          :management => true,
          :vendor => "Tyan",
          :version => "AST2050",
          :device => "bmc",
154 155
          :ip => lookup(node_uid, node_uid, 'network_interfaces', 'bmc', 'ip'),
          :mac => lookup(node_uid, node_uid, 'network_interfaces', 'bmc', 'mac'),
156
          :network_address => "#{node_uid}-bmc.#{site_uid}.grid5000.fr",
157 158
          :switch => lookup('graphene_manual', node_uid, 'network_interfaces', 'bmc', 'switch_name'),
          :switch_port => lookup('graphene_manual', node_uid, 'network_interfaces', 'bmc', 'switch_port')
159
        }]
160 161

        chassis({
162 163 164
          :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')
165 166
        })

167
        bios({
168 169 170
          :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')
171
        })
172

173 174
        gpu({
          :gpu  => false
175
        })
176

177
        if (105<=i+1 and i+1<=144) then
Pascal Morillon's avatar
Pascal Morillon committed
178 179 180 181
          sensors({
            :power => {
              :available => true,
              :via => {
182
                :api => { :metric => 'power' },
183
                :pdu => [ {
184 185
                  :uid  => lookup('graphene_manual', node_uid, 'pdu', 'pdu_name'),
                  :port => lookup('graphene_manual', node_uid, 'pdu', 'pdu_position'),
186
                } ]
Pascal Morillon's avatar
Pascal Morillon committed
187
              }
188
            }
Pascal Morillon's avatar
Pascal Morillon committed
189
          })
190
        else
Pascal Morillon's avatar
Pascal Morillon committed
191 192
          sensors({
            :power => {
193
              :available => true, # Set to true when pdu resources will be declared
Pascal Morillon's avatar
Pascal Morillon committed
194
              :via => {
195
                :pdu => [ { :uid  => lookup('graphene_manual', node_uid, 'pdu', 'pdu_name') } ]
Pascal Morillon's avatar
Pascal Morillon committed
196 197 198
              }
            }
          })
199
        end
Pascal Morillon's avatar
Pascal Morillon committed
200

201 202 203 204
      end
    end
  end # cluster graphene
end