genesis_collector 0.1.17 → 0.1.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/genesis_collector/collector.rb +9 -3
- data/lib/genesis_collector/ipmi.rb +2 -2
- data/lib/genesis_collector/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2bb30d9515a361f4aec90dd5c6bf0d465922f27
|
4
|
+
data.tar.gz: d584beab5eb80665a21ef0dc3a320344f2ec10ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb836871b98784841ae912473bf2c42ebc650281609f216ecfa7250bb33cd2956f566951b990d6b2c91db443119ec13ab701c506f7e6e92921f776b02065d363
|
7
|
+
data.tar.gz: 1beeabf418033ed3b671d4d2656f2a42a0ebe7a95fd8f171f7998dca7707642092a55934ea60563fbd6d661be39d109c63556a55d28db934b249edcaf6b74381
|
@@ -68,6 +68,13 @@ module GenesisCollector
|
|
68
68
|
'CHASSIS_SERIAL_NUMBER' => read_dmi('chassis-serial-number')
|
69
69
|
}
|
70
70
|
}
|
71
|
+
if read_dmi('system-serial-number') == nil
|
72
|
+
@payload[:product] = read_ipmi_fru('Product Part Number')
|
73
|
+
@payload[:properties]['SYSTEM_SERIAL_NUMBER'] = read_ipmi_fru('Product Serial')
|
74
|
+
@payload[:properties]['BASEBOARD_PRODUCT_NAME'] = read_ipmi_fru('Board Part Number')
|
75
|
+
@payload[:properties]['BASEBOARD_SERIAL_NUMBER'] = read_ipmi_fru('Board Serial')
|
76
|
+
@payload[:properties]['CHASSIS_SERIAL_NUMBER'] = read_ipmi_fru('Chassis Serial')
|
77
|
+
end
|
71
78
|
end
|
72
79
|
|
73
80
|
def collect_cpus
|
@@ -138,11 +145,9 @@ module GenesisCollector
|
|
138
145
|
serial = nil
|
139
146
|
vendor ||= read_dmi 'baseboard-manufacturer'
|
140
147
|
serial ||= read_dmi 'baseboard-serial-number'
|
141
|
-
serial = nil if serial == '0123456789'
|
142
148
|
|
143
149
|
vendor ||= read_dmi 'system-manufacturer'
|
144
150
|
serial ||= read_dmi 'system-serial-number'
|
145
|
-
serial = nil if serial == '0123456789'
|
146
151
|
|
147
152
|
serial ||= read_ipmi_fru('Board Serial')
|
148
153
|
|
@@ -159,7 +164,8 @@ module GenesisCollector
|
|
159
164
|
end
|
160
165
|
|
161
166
|
def read_dmi(key)
|
162
|
-
value = shellout_with_timeout("dmidecode -s #{key}").gsub(/^#.+$/, '').
|
167
|
+
value = shellout_with_timeout("dmidecode -s #{key}").gsub(/^#.+$/, '').strip
|
168
|
+
value = '' if '0123456789' == value # sometimes the firmware is broken
|
163
169
|
value.empty? ? nil : value
|
164
170
|
end
|
165
171
|
end
|
@@ -18,8 +18,8 @@ module GenesisCollector
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def read_ipmi_fru(key)
|
21
|
-
|
22
|
-
|
21
|
+
@ipmi_fru_output ||= shellout_with_timeout('ipmitool fru')
|
22
|
+
@ipmi_fru_output.match(/#{key}\s*:\s*(\S+)$/)[1] || 'unknown'
|
23
23
|
end
|
24
24
|
|
25
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: genesis_collector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Radcliffe
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|