paradent.rb 7.88 KB
Newer Older
1
site :rennes do |site_uid|
2

3
4
5
  cluster :paradent do |cluster_uid|
    model "Carry System"
    created_at Time.parse("2009-02-01").httpdate
6
    kavlan true
7

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

11
12
13
14
15
        performance({
        :core_flops => 8095000000,
        :node_flops => 55530000000
      })

16
        architecture({
17
          :smp_size       => 2,
18
19
          :smt_size       => 8,
          :platform_type  => "x86_64"
20
21
        })

22
        processor({
23
24
25
26
27
28
29
30
31
32
          :vendor             => "Intel",
          :model              => "Intel Xeon",
          :version            => "L5420",
          :clock_speed        => 2.5.G,
          :instruction_set    => "",
          :other_description  => "",
          :cache_l1           => nil,
          :cache_l1i          => nil,
          :cache_l1d          => nil,
          :cache_l2           => nil
33
        })
34

35
36
37
        supported_job_types({
          :deploy       => true,
          :besteffort   => true,
38
          :virtual      => lookup('paradent_generated', node_uid, 'supported_job_types', 'virtual')
39
40
41
        })

        architecture({
42
43
44
          :smp_size       => lookup('paradent_generated', node_uid, 'architecture', 'smp_size'),
          :smt_size       => lookup('paradent_generated', node_uid, 'architecture', 'smt_size'),
          :platform_type  => lookup('paradent_generated', node_uid, 'architecture', 'platform_type')
45
46
47
        })

        processor({
48
49
50
51
52
53
54
55
56
57
58
          :vendor             => lookup('paradent_generated', node_uid, 'processor', 'vendor'),
          :model              => lookup('paradent_generated', node_uid, 'processor', 'model'),
          :version            => lookup('paradent_generated', node_uid, 'processor', 'version'),
          :clock_speed        => lookup('paradent_generated', node_uid, 'processor', 'clock_speed'),
          :instruction_set    => lookup('paradent_generated', node_uid, 'processor', 'instruction_set'),
          :other_description  => lookup('paradent_generated', node_uid, 'processor', 'other_description'),
          :cache_l1           => lookup('paradent_generated', node_uid, 'processor', 'cache_l1'),
          :cache_l1i          => lookup('paradent_generated', node_uid, 'processor', 'cache_l1i'),
          :cache_l1d          => lookup('paradent_generated', node_uid, 'processor', 'cache_l1d'),
          :cache_l2           => lookup('paradent_generated', node_uid, 'processor', 'cache_l2'),
          :cache_l3           => lookup('paradent_generated', node_uid, 'processor', 'cache_l3')
59
60
        })

61
        main_memory({
62
          :ram_size     => lookup('paradent_generated', node_uid, 'main_memory', 'ram_size'),
63
64
          :virtual_size => nil
        })
65

66
        operating_system({
67
          :name     => lookup('paradent_generated', node_uid, 'operating_system', 'name'),
68
          :release  => "Squeeze",
69
70
          :version  => lookup('paradent_generated', node_uid, 'operating_system', 'version'),
          :kernel   => lookup('paradent_generated', node_uid, 'operating_system', 'kernel')
71
        })
72

73
        storage_devices [{
74
          :interface  => 'SATA',
75
          :size       => lookup('paradent_generated', node_uid, 'block_devices', 'sda', 'size'),
76
          :driver     => "ata_piix",
77
78
79
80
          :device     => lookup('paradent_generated', node_uid, 'block_devices', 'sda', 'device'),
          :model      => lookup('paradent_generated', node_uid, 'block_devices', 'sda', 'model'),
          :vendor     => lookup('paradent_generated', node_uid, 'block_devices', 'sda', 'vendor'),
          :rev        => lookup('paradent_generated', node_uid, 'block_devices', 'sda', 'rev')
81
        }]
82

83
        network_adapters [{
84
85
86
87
88
89
          :interface        => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'interface'),
          :rate             => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'rate'),
          :enabled          => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'enabled'),
          :management       => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'management'),
          :mountable        => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'mountable'),
          :mounted          => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'mounted'),
90
91
92
          :bridged          => true,
          :vendor           => "Intel",
          :version          => "80003ES2LAN",
93
          :device           => "eth0",
94
          :driver           => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'driver'),
95
          :network_address  => "#{node_uid}.#{site_uid}.grid5000.fr",
96
97
98
99
100
          :ip               => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'ip'),
          :ip6              => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'ip6'),
          :switch           => lookup('paradent_manual', node_uid, 'network_interfaces', 'eth0', 'switch_name'),
          :switch_port      => lookup('paradent_manual', node_uid, 'network_interfaces', 'eth0', 'switch_port'),
          :mac              => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth0', 'mac')
101
102
        },
        {
103
          :interface        => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth1', 'interface'),
104
          :rate             => 1.G,
105
106
107
108
          :enabled          => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth1', 'enabled'),
          :management       => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth1', 'management'),
          :mountable        => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth1', 'mountable'),
          :mounted          => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth1', 'mounted'),
109
110
          :bridged          => false,
          :device           => "eth1",
111
112
          :vendor           => "Intel",
          :version          => "80003ES2LAN",
113
114
          :driver           => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth1', 'driver'),
          :mac              => lookup('paradent_generated', node_uid, 'network_interfaces', 'eth1', 'mac')
115
        },
116
117
        { :interface            => 'Ethernet',
          :rate                 => 100.M,
118
          :mac                  => lookup('paradent_generated', node_uid, 'network_interfaces','bmc','mac'),
119
120
121
122
123
124
125
          :vendor               => "Tyan",
          :version              => "M3296",
          :enabled              => true,
          :management           => true,
          :mountable            => false,
          :mounted              => false,
          :network_address      => "#{node_uid}-bmc.#{site_uid}.grid5000.fr",
126
          :ip                   => lookup('paradent_generated', node_uid,'network_interfaces','bmc','ip'),
127
        }]
128

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

135
        bios({
136
137
138
          :version      => lookup('paradent_generated', node_uid, 'bios', 'version'),
          :vendor       => lookup('paradent_generated', node_uid, 'bios', 'vendor'),
          :release_date => lookup('paradent_generated', node_uid, 'bios', 'release_date')
139
        })
140
141
142
143
144
145
146
147
148

        gpu({
          :gpu  => false
        })

        sensors({
          :power => {
            :available => true,
            :via => {
149
              :pdu      => [{ :uid => lookup('paradent_manual', node_uid, 'pdu', 'pdu_name') }]
150
151
152
153
154
155
            }
          },
          :temperature => {
            :available => true,
            :via => {
              :ganglia  => { :metric => "ambient_temp" },
Pascal Morillon's avatar
Pascal Morillon committed
156
              :ipmi     => { :sensors => { :ambient => "Thermistor2 TEMP" } }
157
158
159
160
            }
          }
        })

161
162
163
      end
    end
  end
164
end