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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 21ead25ac6cc319b247aa53a88abb0ec04b6fc39
4
- data.tar.gz: d251b0cb394a62bede230d5b3fac74e3e7affbf2
3
+ metadata.gz: c2bb30d9515a361f4aec90dd5c6bf0d465922f27
4
+ data.tar.gz: d584beab5eb80665a21ef0dc3a320344f2ec10ed
5
5
  SHA512:
6
- metadata.gz: b8ed744245ce82df96027047c968074f2f55307a8c5705431e467e40ad897c9b3b04cc7ff00f6584ce164b08b96254e9b945996961b6057baba7bceb19f1e286
7
- data.tar.gz: 8c1523c068654eaef0d0ed4c485974df0bf7a390b90b7854ecc478ccb1e610abf632b858563d2d5ff99ff0b64f0054bc5999a37e1e7d108a951dc1334e262a84
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(/^#.+$/, '').gsub(/\s+|\./, '')
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
- data = shellout_with_timeout('ipmitool fru')
22
- data.match(/#{key}\s*:\s*(\S+)$/)[1] || 'unknown'
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
@@ -1,3 +1,3 @@
1
1
  module GenesisCollector
2
- VERSION = '0.1.17'
2
+ VERSION = '0.1.18'
3
3
  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.17
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-23 00:00:00.000000000 Z
11
+ date: 2016-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler