radfish-ami 0.1.14 → 0.1.15

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
  SHA256:
3
- metadata.gz: 177c683aa6971d7a736b42af44ad87a5d65bcfe9cf4bf5690cb7050c8971bae9
4
- data.tar.gz: d1c29be71c6561e814eb4e245c03a702500f1393991b9fc02716428c0d2f2267
3
+ metadata.gz: b7fbc8a153c2cab4049f4f939fb0256b56e9e0c707a0a38414c676a08abe3e41
4
+ data.tar.gz: 9b1308064a87ba306e31af4c36a130289797bffeafa416a8664445dbbd87efad
5
5
  SHA512:
6
- metadata.gz: 153851c16bd783f43f08d132d50926460bba42d7304862173b69cdce06861edd5bb042b2d4278582eca6ba1e8ca9fbbedb10cd3e65caeb8ad5bb47f1b59f1eb5
7
- data.tar.gz: 4602cb3e89e9095f4b620977ebef501eb554ff3dedac73253c3330731f1cabfaad4a3a73a96101b4aae922471c447345336134cdb3a5f173abbc6ea2444cd69c
6
+ metadata.gz: 64c904e52a386179cccaf4ae1ccf063947424a3edf1544da07e3fad7dc466b72011638d8095960eb62a8127d70a2dff2877288a771a05d8e0386f4c6eb419a39
7
+ data.tar.gz: 646f1c49b11e8627520e2f4444a13b60686ff92828cf483f1091329e4604319d064ac70514bbba7b3163aa5ff902f9144bf2e60c2a0c9f92896840513ff22db1
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Radfish
4
4
  module Ami
5
- VERSION = "0.1.14"
5
+ VERSION = "0.1.15"
6
6
  end
7
7
  end
@@ -266,8 +266,9 @@ module Radfish
266
266
  end
267
267
 
268
268
  def psus
269
- # AMI BMC reports power sensors in the Power endpoint, not traditional PSU info
270
- # Filter to show only PSU-related power sensors (containing "PSU" in name)
269
+ # AMI BMC reports power sensors in the Power endpoint
270
+ # Format: { name: "PSU1", model: "...", serial: "...",
271
+ # voltage: 208, voltage_human: "AC240V", watts: 320, status: "OK" }
271
272
  power_data = get_power_data
272
273
  all_sensors = power_data["PowerSupplies"] || []
273
274
 
@@ -286,36 +287,34 @@ module Radfish
286
287
  next unless match
287
288
 
288
289
  psu_num = match[1]
289
- psu_groups[psu_num] ||= { input_watts: nil, output_watts: nil, status: nil, state: nil }
290
+ psu_groups[psu_num] ||= { watts: nil, status: nil }
290
291
 
291
- if name.include?("PIN")
292
- psu_groups[psu_num][:input_watts] = sensor["PowerInputWatts"]
293
- elsif name.include?("POUT")
294
- psu_groups[psu_num][:output_watts] = sensor["PowerInputWatts"] # POUT reported as PowerInputWatts
292
+ # Use PIN (input) watts as the primary wattage reading
293
+ if name.include?("PIN") && sensor["PowerInputWatts"]
294
+ psu_groups[psu_num][:watts] = sensor["PowerInputWatts"]
295
295
  end
296
296
 
297
- # Track status - prefer non-Absent, but record Absent if that's all we have
297
+ # Track status - prefer non-Absent
298
298
  sensor_state = sensor.dig("Status", "State")
299
299
  sensor_health = sensor.dig("Status", "Health")
300
300
 
301
- if sensor_state == "Absent"
302
- psu_groups[psu_num][:state] ||= "Absent"
303
- psu_groups[psu_num][:status] ||= "N/A"
304
- else
305
- # Override Absent with actual status
301
+ if sensor_state != "Absent"
306
302
  psu_groups[psu_num][:status] = sensor_health || "OK"
307
- psu_groups[psu_num][:state] = sensor_state || "Enabled"
303
+ elsif psu_groups[psu_num][:status].nil?
304
+ psu_groups[psu_num][:status] = "Absent"
308
305
  end
309
306
  end
310
307
 
311
- # Convert to OpenStruct array
308
+ # Convert to OpenStruct array matching expected format
312
309
  psu_groups.map do |psu_num, data|
313
310
  OpenStruct.new(
314
311
  name: "PSU#{psu_num}",
315
- input_watts: data[:input_watts],
316
- output_watts: data[:output_watts],
317
- status: data[:status] || "Unknown",
318
- state: data[:state] || "Unknown"
312
+ model: nil, # AMI doesn't provide model info
313
+ serial: nil, # AMI doesn't provide serial info
314
+ voltage: nil, # AMI doesn't provide voltage info
315
+ voltage_human: nil, # AMI doesn't provide voltage type
316
+ watts: data[:watts],
317
+ status: data[:status] || "Unknown"
319
318
  )
320
319
  end.sort_by { |psu| psu.name }
321
320
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radfish-ami
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Siegel