radfish-ami 0.1.4 → 0.1.5
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 +4 -4
- data/lib/radfish/ami/version.rb +1 -1
- data/lib/radfish/ami_adapter.rb +34 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 472ba0bdf31346a59b277da4019f4d0d84cff7a2bac7831cd0335b2976cef8ea
|
|
4
|
+
data.tar.gz: b78f18b561ebc89e3647f4e29454e45054017fc231753e3c8eca83b3e0dfbafe
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b18bc999bb6607fae5568abaf52dca97f099d1b22d0b99b98a8e8c541f1e71df865b0a4936133ebcdeb81962acbe1a064b455edb4c8e35c2309878b1417af89d
|
|
7
|
+
data.tar.gz: 50e6c3098399c64b645d81dc9a8caefc5a480aa6836f9e3476c11a7194b5467576b7df32259ce2b30c4849f797364516f48d3de63ec439bb7c17ff83dee0cb25
|
data/lib/radfish/ami/version.rb
CHANGED
data/lib/radfish/ami_adapter.rb
CHANGED
|
@@ -162,6 +162,38 @@ module Radfish
|
|
|
162
162
|
end
|
|
163
163
|
end
|
|
164
164
|
|
|
165
|
+
# CPU info wrapper
|
|
166
|
+
class CpuInfo
|
|
167
|
+
attr_reader :socket, :manufacturer, :model, :cores, :threads, :speed_mhz, :status, :raw_data
|
|
168
|
+
|
|
169
|
+
def initialize(data)
|
|
170
|
+
@raw_data = data
|
|
171
|
+
@socket = data["Socket"] || data["Id"]
|
|
172
|
+
@manufacturer = data["Manufacturer"]
|
|
173
|
+
@model = data.dig("ProcessorId", "EffectiveFamily")&.strip || data["Model"]
|
|
174
|
+
@cores = data["TotalCores"]
|
|
175
|
+
@threads = data["TotalThreads"]
|
|
176
|
+
@speed_mhz = data["MaxSpeedMHz"]
|
|
177
|
+
@status = data.dig("Status", "Health") || "Unknown"
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
def to_h
|
|
181
|
+
{
|
|
182
|
+
socket: @socket,
|
|
183
|
+
manufacturer: @manufacturer,
|
|
184
|
+
model: @model,
|
|
185
|
+
cores: @cores,
|
|
186
|
+
threads: @threads,
|
|
187
|
+
speed_mhz: @speed_mhz,
|
|
188
|
+
status: @status
|
|
189
|
+
}
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
def [](key)
|
|
193
|
+
@raw_data[key]
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
|
|
165
197
|
def bmc_info
|
|
166
198
|
manager = get_manager_info
|
|
167
199
|
network = get_bmc_network
|
|
@@ -186,7 +218,8 @@ module Radfish
|
|
|
186
218
|
members.map do |member|
|
|
187
219
|
cpu_response = authenticated_request(:get, member["@odata.id"])
|
|
188
220
|
next nil unless cpu_response.status == 200
|
|
189
|
-
JSON.parse(cpu_response.body)
|
|
221
|
+
data = JSON.parse(cpu_response.body)
|
|
222
|
+
CpuInfo.new(data)
|
|
190
223
|
end.compact
|
|
191
224
|
end
|
|
192
225
|
|