ibm_power_hmc 0.23.1 → 0.24.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/ibm_power_hmc/schema/uom.rb +108 -0
- data/lib/ibm_power_hmc/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fa2829db70216f23c73d2d06e8daebdbc2be4f3bde1f8f17d2659961288caa19
|
4
|
+
data.tar.gz: cb7a7cabacbf9efffe013715af8b0e4c5cc4fdf6b941cd0ef42cc8d19861fea5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 390b00cf4dd7f4fd83ef4c8619d25274f3b708fe5bdc075eef77b8bd7f199875b2003cbc203ecdf3adbee4518a8905bd59003bd238a7c81033504e0763971943
|
7
|
+
data.tar.gz: 7fee8e0a80ce4b266b27469706e00dd8804a5f706a272301751680bc660bf04d6398583c8268a0b8e28176da6e4f96c161b22f4d71813c4b1b101c6c5872fa5a
|
data/CHANGELOG.md
CHANGED
@@ -94,10 +94,15 @@ module IbmPowerHmc
|
|
94
94
|
uuids_from_links("AssociatedVirtualIOServers")
|
95
95
|
end
|
96
96
|
|
97
|
+
# Deprecated: use io_slots.io_adapter
|
97
98
|
def io_adapters
|
98
99
|
collection_of("AssociatedSystemIOConfiguration/IOSlots/IOSlot/RelatedIOAdapter", "IOAdapter")
|
99
100
|
end
|
100
101
|
|
102
|
+
def io_slots
|
103
|
+
collection_of("AssociatedSystemIOConfiguration/IOSlots", "IOSlot")
|
104
|
+
end
|
105
|
+
|
101
106
|
def vswitches_uuids
|
102
107
|
uuids_from_links("AssociatedSystemIOConfiguration/AssociatedSystemVirtualNetwork/VirtualSwitches")
|
103
108
|
end
|
@@ -107,6 +112,73 @@ module IbmPowerHmc
|
|
107
112
|
end
|
108
113
|
end
|
109
114
|
|
115
|
+
# I/O Slot information
|
116
|
+
class IOSlot < AbstractNonRest
|
117
|
+
ATTRS = {
|
118
|
+
:description => "Description",
|
119
|
+
:lpar_id => "PartitionID",
|
120
|
+
:lpar_name => "PartitionName",
|
121
|
+
:lpar_type => "PartitionType",
|
122
|
+
:pci_class => "PCIClass",
|
123
|
+
:pci_dev => "PCIDeviceID",
|
124
|
+
:pci_subsys_dev => "PCISubsystemDeviceID",
|
125
|
+
:pci_man => "PCIManufacturerID",
|
126
|
+
:pci_rev => "PCIRevisionID",
|
127
|
+
:pci_vendor => "PCIVendorID",
|
128
|
+
:pci_subsys_vendor => "PCISubsystemVendorID",
|
129
|
+
:dr_name => "SlotDynamicReconfigurationConnectorName",
|
130
|
+
:physloc => "SlotPhysicalLocationCode",
|
131
|
+
:sriov_capable_dev => "SRIOVCapableDevice",
|
132
|
+
:sriov_capable => "SRIOVCapableSlot",
|
133
|
+
:vpd_model => "VitalProductDataModel",
|
134
|
+
:vpd_serial => "VitalProductDataSerialNumber",
|
135
|
+
:vpd_stale => "VitalProductDataStale",
|
136
|
+
:vpd_type => "VitalProductDataType"
|
137
|
+
}.freeze
|
138
|
+
|
139
|
+
def io_adapter
|
140
|
+
elem = xml.elements["RelatedIOAdapter/*[1]"]
|
141
|
+
Module.const_get("IbmPowerHmc::#{elem.name}").new(elem) unless elem.nil?
|
142
|
+
rescue NameError
|
143
|
+
nil
|
144
|
+
end
|
145
|
+
|
146
|
+
def features
|
147
|
+
xml.get_elements("FeatureCodes").map do |elem|
|
148
|
+
elem.text&.strip
|
149
|
+
end.compact
|
150
|
+
end
|
151
|
+
|
152
|
+
def ior_devices
|
153
|
+
collection_of("IORDevices", "IORDevice")
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
# I/O Device information
|
158
|
+
class IORDevice < AbstractNonRest
|
159
|
+
ATTRS = {
|
160
|
+
:parent => "ParentName",
|
161
|
+
:pci_dev => "PCIDeviceId",
|
162
|
+
:pci_vendor => "PCIVendorId",
|
163
|
+
:pci_subsys_dev => "PCISubsystemDeviceId",
|
164
|
+
:pci_subsys_vendor => "PCISubsystemVendorId",
|
165
|
+
:pci_rev => "PCIRevisionId",
|
166
|
+
:pci_class => "PCIClassCode",
|
167
|
+
:type => "DeviceType",
|
168
|
+
:serial => "SerialNumber",
|
169
|
+
:fru_number => "FruNumber",
|
170
|
+
:part_number => "PartNumber",
|
171
|
+
:ccin => "CCIN",
|
172
|
+
:size => "Size",
|
173
|
+
:location => "LocationCode",
|
174
|
+
:ucode_version => "MicroCodeVersion",
|
175
|
+
:wwpn => "WWPN",
|
176
|
+
:wwnn => "WWNN",
|
177
|
+
:macaddr => "MacAddressValue",
|
178
|
+
:description => "Description"
|
179
|
+
}.freeze
|
180
|
+
end
|
181
|
+
|
110
182
|
# I/O Adapter information
|
111
183
|
class IOAdapter < AbstractNonRest
|
112
184
|
ATTRS = {
|
@@ -211,10 +283,17 @@ module IbmPowerHmc
|
|
211
283
|
end.compact
|
212
284
|
end
|
213
285
|
|
286
|
+
# Deprecated: use io_slots.io_adapter
|
214
287
|
def io_adapters
|
215
288
|
collection_of("PartitionIOConfiguration/ProfileIOSlots/ProfileIOSlot/AssociatedIOSlot/RelatedIOAdapter", "*[1]")
|
216
289
|
end
|
217
290
|
|
291
|
+
def io_slots
|
292
|
+
xml.get_elements("PartitionIOConfiguration/ProfileIOSlots/ProfileIOSlot/AssociatedIOSlot").map do |elem|
|
293
|
+
IOSlot.new(elem)
|
294
|
+
end.compact
|
295
|
+
end
|
296
|
+
|
218
297
|
def shared_processor_pool_uuid
|
219
298
|
href = singleton("ProcessorPool", "href")
|
220
299
|
uuid_from_href(href) unless href.nil?
|
@@ -278,10 +357,39 @@ module IbmPowerHmc
|
|
278
357
|
collection_of("VirtualSCSIMappings", "VirtualSCSIMapping")
|
279
358
|
end
|
280
359
|
|
360
|
+
# Remove VSCSI mapping (vhostX) from XML
|
361
|
+
def vscsi_mapping_delete!(location)
|
362
|
+
vscsi_mappings.each do |mapping|
|
363
|
+
mapping.xml.parent.delete(mapping.xml) if mapping.server&.location == location
|
364
|
+
end
|
365
|
+
end
|
366
|
+
|
367
|
+
# Remove VSCSI target (vtscsiX) from XML
|
368
|
+
def vscsi_mapping_unmap!(target)
|
369
|
+
mapping = vscsi_mappings.find { |m| m.device&.target == target }
|
370
|
+
mapping.xml.parent.delete(mapping.xml) unless mapping.nil?
|
371
|
+
end
|
372
|
+
|
281
373
|
def vfc_mappings
|
282
374
|
collection_of("VirtualFibreChannelMappings", "VirtualFibreChannelMapping")
|
283
375
|
end
|
284
376
|
|
377
|
+
# Remove VFC mapping (vfchostX) from XML
|
378
|
+
def vfc_mapping_delete!(location)
|
379
|
+
mapping = vfc_mappings.find { |m| m.server&.location == location }
|
380
|
+
mapping.xml.parent.delete(mapping.xml) unless mapping.nil?
|
381
|
+
end
|
382
|
+
|
383
|
+
# Remove FC adapter mapping (fcsX) from XML
|
384
|
+
def vfc_mapping_unmap!(location)
|
385
|
+
mapping = vfc_mappings.find { |m| m.port && m.server&.location == location }
|
386
|
+
return if mapping.nil?
|
387
|
+
|
388
|
+
mapping.port.xml.parent.delete(mapping.port.xml)
|
389
|
+
mapping.server.map_port = nil
|
390
|
+
mapping.server.xml.delete(mapping.server.port.xml) unless mapping.server.port.nil?
|
391
|
+
end
|
392
|
+
|
285
393
|
def seas
|
286
394
|
collection_of("SharedEthernetAdapters", "SharedEthernetAdapter")
|
287
395
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ibm_power_hmc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.24.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- IBM Power
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|