genesis_collector 0.1.17 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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