ibm_power_hmc 0.30.0 → 0.31.0
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/CHANGELOG.md +3 -0
- data/lib/ibm_power_hmc/apis/connection.rb +13 -4
- data/lib/ibm_power_hmc/logging.rb +19 -0
- data/lib/ibm_power_hmc/null_logger.rb +34 -0
- data/lib/ibm_power_hmc/schema/uom.rb +168 -51
- data/lib/ibm_power_hmc/version.rb +1 -1
- data/lib/ibm_power_hmc.rb +1 -0
- metadata +3 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 94b65ab8fab410579afd4e3729d42f8edff610d55a50714bedd5fdb595d1642e
|
|
4
|
+
data.tar.gz: 7dfc90cb8edc5c5fb87bc150afabf41e4f802bb97ab2517ddc13a910d730354e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5dc2ada9f19d15c5e63a6cffdb3efd4186422f0320609f8852c3fbb33caefed0e7ce59dff35d14415046db8138576e946c502cf9e8036ef21d5b25c9fdaba2a5
|
|
7
|
+
data.tar.gz: b36ba635a4c46b8cc250cf6c98381e37476c1a90d29ba543e777054d209d35d0bb47e6413049ff5ab4fd01387c4e21c94b424c765d65b563c3d25b3607456d4b
|
data/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,8 @@ module IbmPowerHmc
|
|
|
10
10
|
##
|
|
11
11
|
# HMC REST Client connection.
|
|
12
12
|
class Connection
|
|
13
|
+
include Logging
|
|
14
|
+
|
|
13
15
|
##
|
|
14
16
|
# @!method initialize(host:, password:, username: "hscroot", port: 12_443, validate_ssl: true, timeout: 60)
|
|
15
17
|
# Create a new HMC connection.
|
|
@@ -145,9 +147,11 @@ module IbmPowerHmc
|
|
|
145
147
|
reauth = false
|
|
146
148
|
# Check for relative URLs
|
|
147
149
|
url = "https://#{@hostname}#{url}" if url.start_with?("/")
|
|
150
|
+
logger.debug("HMC API request: #{method.upcase} #{url}")
|
|
148
151
|
begin
|
|
149
152
|
headers = headers.merge("X-API-Session" => @api_session_token)
|
|
150
|
-
|
|
153
|
+
start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
|
154
|
+
response = RestClient::Request.execute(
|
|
151
155
|
:method => method,
|
|
152
156
|
:url => url,
|
|
153
157
|
:verify_ssl => @verify_ssl,
|
|
@@ -155,7 +159,12 @@ module IbmPowerHmc
|
|
|
155
159
|
:headers => headers,
|
|
156
160
|
:timeout => @timeout
|
|
157
161
|
)
|
|
162
|
+
elapsed = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start_time
|
|
163
|
+
logger.debug("HMC API response: #{response.code} #{method.upcase} #{url} (#{'%.3f' % elapsed}s)")
|
|
164
|
+
response
|
|
158
165
|
rescue RestClient::Exception => e
|
|
166
|
+
elapsed = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start_time
|
|
167
|
+
logger.debug("HMC API error: #{e.http_code} #{method.upcase} #{url} (#{'%.3f' % elapsed}s) -- #{e.message}")
|
|
159
168
|
raise HttpNotFound.new(e), "Not found" if e.http_code == 404
|
|
160
169
|
|
|
161
170
|
# Do not retry on failed logon attempts.
|
|
@@ -174,8 +183,8 @@ module IbmPowerHmc
|
|
|
174
183
|
# @param headers [Hash] HTTP headers.
|
|
175
184
|
# @param attempts [Integer] Maximum number of retries.
|
|
176
185
|
# @yieldreturn [IbmPowerHmc::AbstractRest] The object to modify.
|
|
177
|
-
def modify_object(headers = {}, attempts = 5, &
|
|
178
|
-
modify_object_url(nil, headers, attempts, &
|
|
186
|
+
def modify_object(headers = {}, attempts = 5, &)
|
|
187
|
+
modify_object_url(nil, headers, attempts, &)
|
|
179
188
|
end
|
|
180
189
|
|
|
181
190
|
private
|
|
@@ -198,4 +207,4 @@ module IbmPowerHmc
|
|
|
198
207
|
end
|
|
199
208
|
end
|
|
200
209
|
end
|
|
201
|
-
end
|
|
210
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "ibm_power_hmc/null_logger"
|
|
4
|
+
|
|
5
|
+
module IbmPowerHmc
|
|
6
|
+
class << self
|
|
7
|
+
attr_writer :logger
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def self.logger
|
|
11
|
+
@logger ||= NullLogger.new
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
module Logging
|
|
15
|
+
def logger
|
|
16
|
+
IbmPowerHmc.logger
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "logger"
|
|
4
|
+
|
|
5
|
+
module IbmPowerHmc
|
|
6
|
+
class NullLogger < Logger
|
|
7
|
+
def initialize(*_args)
|
|
8
|
+
super(nil)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def add(*_args, &)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def debug?
|
|
15
|
+
false
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def info?
|
|
19
|
+
false
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def warn?
|
|
23
|
+
false
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def error?
|
|
27
|
+
false
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def fatal?
|
|
31
|
+
false
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -47,27 +47,111 @@ module IbmPowerHmc
|
|
|
47
47
|
ATTRS = {
|
|
48
48
|
:name => "SystemName",
|
|
49
49
|
:state => "State",
|
|
50
|
+
:detailed_state => "DetailedState",
|
|
50
51
|
:hostname => "Hostname",
|
|
51
52
|
:ipaddr => "PrimaryIPAddress",
|
|
52
53
|
:description => "Description",
|
|
53
54
|
:location => "SystemLocation", # Rack/Unit
|
|
54
55
|
:ref_code => "ReferenceCode",
|
|
56
|
+
:merged_ref_code => "MergedReferenceCode",
|
|
55
57
|
:fwversion => "SystemFirmware",
|
|
58
|
+
:sp_version => "ServiceProcessorVersion",
|
|
59
|
+
:sp_failover_enabled => "ServiceProcessorFailoverEnabled",
|
|
60
|
+
:sp_failover_reason => "ServiceProcessorFailoverReason",
|
|
61
|
+
:sp_failover_state => "ServiceProcessorFailoverState",
|
|
62
|
+
:physical_attn_led => "PhysicalSystemAttentionLEDState",
|
|
63
|
+
:virtual_attn_led => "VirtualSystemAttentionLEDState",
|
|
56
64
|
:memory => "AssociatedSystemMemoryConfiguration/InstalledSystemMemory",
|
|
57
|
-
:avail_mem => "AssociatedSystemMemoryConfiguration/CurrentAvailableSystemMemory",
|
|
58
65
|
:config_mem => "AssociatedSystemMemoryConfiguration/ConfigurableSystemMemory",
|
|
66
|
+
:permanent_mem => "AssociatedSystemMemoryConfiguration/PermanentSystemMemory",
|
|
67
|
+
:avail_mem => "AssociatedSystemMemoryConfiguration/CurrentAvailableSystemMemory",
|
|
68
|
+
:pending_avail_mem => "AssociatedSystemMemoryConfiguration/PendingAvailableSystemMemory",
|
|
69
|
+
:logical_mem_block_size => "AssociatedSystemMemoryConfiguration/CurrentLogicalMemoryBlockSize",
|
|
70
|
+
:pending_logical_mem_block_size => "AssociatedSystemMemoryConfiguration/PendingLogicalMemoryBlockSize",
|
|
71
|
+
:memory_region_size => "AssociatedSystemMemoryConfiguration/MemoryRegionSize",
|
|
72
|
+
:pending_memory_region_size => "AssociatedSystemMemoryConfiguration/PendingMemoryRegionSize",
|
|
73
|
+
:pending_logical_mem_region_size => "AssociatedSystemMemoryConfiguration/PendingLogicalMemoryRegionSize",
|
|
74
|
+
:huge_page_count => "AssociatedSystemMemoryConfiguration/HugePageCount",
|
|
75
|
+
:huge_page_size => "AssociatedSystemMemoryConfiguration/HugePageSize",
|
|
76
|
+
:max_huge_pages => "AssociatedSystemMemoryConfiguration/MaximumHugePages",
|
|
77
|
+
:avail_huge_pages => "AssociatedSystemMemoryConfiguration/CurrentAvailableHugePages",
|
|
78
|
+
:pending_avail_huge_pages => "AssociatedSystemMemoryConfiguration/PendingAvailableHugePages",
|
|
79
|
+
:requested_huge_pages => "AssociatedSystemMemoryConfiguration/RequestedHugePages",
|
|
80
|
+
:configurable_huge_pages => "AssociatedSystemMemoryConfiguration/ConfigurableHugePages",
|
|
81
|
+
:mem_used_by_hypervisor => "AssociatedSystemMemoryConfiguration/MemoryUsedByHypervisor",
|
|
82
|
+
:is_mem_mirroring_enabled => "AssociatedSystemMemoryConfiguration/CurrentMemoryMirroringMode",
|
|
83
|
+
:pending_mem_mirroring_mode => "AssociatedSystemMemoryConfiguration/PendingMemoryMirroringMode",
|
|
84
|
+
:mem_mirroring_state => "AssociatedSystemMemoryConfiguration/MemoryMirroringState",
|
|
85
|
+
:mirrored_mem => "AssociatedSystemMemoryConfiguration/CurrentMirroredMemory",
|
|
86
|
+
:configured_mirrored_mem => "AssociatedSystemMemoryConfiguration/ConfiguredMirroredMemory",
|
|
87
|
+
:avail_mirrored_mem => "AssociatedSystemMemoryConfiguration/CurrentAvailableMirroredMemory",
|
|
88
|
+
:mirrorable_mem_with_defrag => "AssociatedSystemMemoryConfiguration/MirrorableMemoryWithDefragmentation",
|
|
89
|
+
:mirrorable_mem_without_defrag => "AssociatedSystemMemoryConfiguration/MirrorableMemoryWithoutDefragmentation",
|
|
90
|
+
:mirrored_mem_used_by_hypervisor => "AssociatedSystemMemoryConfiguration/MirroredMemoryUsedByHypervisor",
|
|
91
|
+
:max_mirrored_mem_defragmented => "AssociatedSystemMemoryConfiguration/MaximumMirroredMemoryDefragmented",
|
|
92
|
+
:temp_mem_for_lpm => "AssociatedSystemMemoryConfiguration/TemporaryMemoryForLogicalPartitionMobilityInUse",
|
|
59
93
|
:cpus => "AssociatedSystemProcessorConfiguration/InstalledSystemProcessorUnits",
|
|
60
94
|
:avail_cpus => "AssociatedSystemProcessorConfiguration/CurrentAvailableSystemProcessorUnits",
|
|
61
95
|
:config_cpus => "AssociatedSystemProcessorConfiguration/ConfigurableSystemProcessorUnits",
|
|
96
|
+
:pending_avail_cpus => "AssociatedSystemProcessorConfiguration/PendingAvailableSystemProcessorUnits",
|
|
97
|
+
:linux_cpus => "AssociatedSystemProcessorConfiguration/NumberOfLinuxOnlyProcessorUnits",
|
|
98
|
+
:linux_or_vios_cpus => "AssociatedSystemProcessorConfiguration/NumberOfLinuxOrVIOSOnlyProcessorUnits",
|
|
99
|
+
:vios_cpus => "AssociatedSystemProcessorConfiguration/NumberOfVirtualIOServerProcessorUnits",
|
|
100
|
+
:shared_proc_pool_count => "AssociatedSystemProcessorConfiguration/SharedProcessorPoolCount",
|
|
101
|
+
:stealable_cpus => "AssociatedSystemProcessorConfiguration/CurrentStealableProcessorUnits",
|
|
102
|
+
:max_virt_procs_per_lpar => "AssociatedSystemProcessorConfiguration/MaximumAllowedVirtualProcessorsPerPartition",
|
|
103
|
+
:min_proc_units_per_vproc => "AssociatedSystemProcessorConfiguration/MinimumProcessorUnitsPerVirtualProcessor",
|
|
104
|
+
:temp_cpus_for_lpm => "AssociatedSystemProcessorConfiguration/TemporaryProcessorUnitsForLogicalPartitionMobilityInUse",
|
|
62
105
|
:mtype => "MachineTypeModelAndSerialNumber/MachineType",
|
|
63
106
|
:model => "MachineTypeModelAndSerialNumber/Model",
|
|
64
107
|
:serial => "MachineTypeModelAndSerialNumber/SerialNumber",
|
|
65
|
-
:
|
|
66
|
-
:
|
|
108
|
+
:vtpm_key_length => "AssociatedSystemSecurity/VirtualTrustedPlatformModuleKeyLength",
|
|
109
|
+
:vtpm_key_status => "AssociatedSystemSecurity/VirtualTrustedPlatformModuleKeyStatus",
|
|
110
|
+
:vtpm_version => "AssociatedSystemSecurity/VirtualTrustedPlatformModuleVersion",
|
|
111
|
+
:vtpm_max_lpars => "AssociatedSystemSecurity/MaximumSupportedVirtualTrustedPlatformModulePartitions",
|
|
112
|
+
:vtpm_lpars => "AssociatedSystemSecurity/AvailableVirtualTrustedPlatformModulePartitions",
|
|
113
|
+
:vtpm_min_key_store_size => "MinimumKeyStoreSize",
|
|
114
|
+
:vtpm_max_key_store_size => "MaximumkeyStoreSize",
|
|
115
|
+
:current_power_saving_mode => "EnergyManagementConfiguration/CurrentPowerSavingMode",
|
|
116
|
+
:required_power_saving_mode => "EnergyManagementConfiguration/RequiredPowerSavingMode",
|
|
67
117
|
:is_classic_hmc_mgmt => "IsClassicHMCManagement",
|
|
68
118
|
:is_hmc_mgmt_master => "IsHMCPowerVMManagementMaster",
|
|
69
|
-
:
|
|
70
|
-
:
|
|
119
|
+
:wwpn_prefix => "AssociatedSystemIOConfiguration/WWPNPrefix",
|
|
120
|
+
:mac_prefix => "AssociatedSystemVirtualNetwork/VirtualEthernetAdapterMACAddressPrefix",
|
|
121
|
+
:uptime => "Uptime",
|
|
122
|
+
:system_type => "SystemType",
|
|
123
|
+
:processor_throttling => "ProcessorThrottling",
|
|
124
|
+
# Persistent Memory
|
|
125
|
+
:max_pmem_volumes => "AssociatedPersistentMemoryConfiguration/MaximumPersistentMemoryVolumes",
|
|
126
|
+
:current_pmem_volumes => "AssociatedPersistentMemoryConfiguration/CurrentPersistentMemoryVolumes",
|
|
127
|
+
:max_aix_linux_pmem_vols => "AssociatedPersistentMemoryConfiguration/MaximumAixLinuxPersistentMemoryVolumes",
|
|
128
|
+
:max_vios_pmem_vols => "AssociatedPersistentMemoryConfiguration/MaximumVIOSPersistentMemoryVolumes",
|
|
129
|
+
:dram_pmem_block_size => "AssociatedPersistentMemoryConfiguration/DramPersistentMemoryVolumeBlockSize",
|
|
130
|
+
:dram_pmem_size => "AssociatedPersistentMemoryConfiguration/DramPersistentMemoryVolumesSize",
|
|
131
|
+
:dram_pmem_current_size => "AssociatedPersistentMemoryConfiguration/DramPersistentMemoryVolumesCurrentSize",
|
|
132
|
+
:supported_pmem_dev_types => "AssociatedPersistentMemoryConfiguration/SupportedPersistentMemoryDeviceTypes",
|
|
133
|
+
# Migration
|
|
134
|
+
:max_inactive_migrations => "SystemMigrationInformation/MaximumInactiveMigrations",
|
|
135
|
+
:max_active_migrations => "SystemMigrationInformation/MaximumActiveMigrations",
|
|
136
|
+
:max_fw_active_migrations => "SystemMigrationInformation/MaximumFirmwareActiveMigrations",
|
|
137
|
+
:max_fw_inactive_migrations => "SystemMigrationInformation/MaximumFirmwareInactiveMigrations",
|
|
138
|
+
:inactive_migrations_in_progress => "SystemMigrationInformation/NumberOfInactiveMigrationsInProgress",
|
|
139
|
+
:active_migrations_in_progress => "SystemMigrationInformation/NumberOfActiveMigrationsInProgress",
|
|
140
|
+
:inactive_lpar_migration_capable => "SystemMigrationInformation/InactiveLogicalPartitionMigrationCapable",
|
|
141
|
+
:active_lpar_migration_capable => "SystemMigrationInformation/ActiveLogicalPartitionMigrationCapable",
|
|
142
|
+
:ibmi_lpar_migration_capable => "SystemMigrationInformation/IBMiLogicalPartitionMigrationCapable",
|
|
143
|
+
:sriov_migration_capable => "SystemMigrationInformation/LogicalPartitionSRIOVMigrationCapable",
|
|
144
|
+
:pmem_migration_capable => "SystemMigrationInformation/LogicalPartitionPersistentMemoryMigrationCapable",
|
|
145
|
+
:redundant_msps_migration_capable => "SystemMigrationInformation/LogicalPartitionRedundantMspsMigrationCapable",
|
|
146
|
+
:affinity_check_migration_capable => "SystemMigrationInformation/LogicalPartitionAffinityCheckCapable",
|
|
147
|
+
:vswitch_migration_capable => "SystemMigrationInformation/LogicalPartitionVSwitchChangeMigrationCapable",
|
|
148
|
+
:npiv_validation_policy => "SystemMigrationInformation/NPIVValidationPolicy",
|
|
149
|
+
:inactive_profile_migration_policy => "SystemMigrationInformation/InactiveProfileMigrationPolicy",
|
|
150
|
+
# IPL
|
|
151
|
+
:ipl_lpar_start_policy => "AssociatedIPLConfiguration/PowerOnLogicalPartitionStartPolicy",
|
|
152
|
+
:ipl_power_on_side => "AssociatedIPLConfiguration/CurrentPowerOnSide",
|
|
153
|
+
:ipl_keylock => "AssociatedIPLConfiguration/CurrentSystemKeylock",
|
|
154
|
+
:ipl_power_on_source => "AssociatedIPLConfiguration/PowerOnSource"
|
|
71
155
|
}.freeze
|
|
72
156
|
|
|
73
157
|
def group_uuids
|
|
@@ -90,6 +174,24 @@ module IbmPowerHmc
|
|
|
90
174
|
end.compact
|
|
91
175
|
end
|
|
92
176
|
|
|
177
|
+
def supported_vtpm_versions
|
|
178
|
+
xml.get_elements("SupportedVTPMVersions").map do |elem|
|
|
179
|
+
elem.text&.strip
|
|
180
|
+
end.compact
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def supported_vtpm2_encryption_levels
|
|
184
|
+
xml.get_elements("SupportedVTPM2EncryptionLevels").map do |elem|
|
|
185
|
+
elem.text&.strip
|
|
186
|
+
end.compact
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
def supported_power_saving_modes
|
|
190
|
+
xml.get_elements("EnergyManagementConfiguration/SupportedPowerSavingModeTypes").map do |elem|
|
|
191
|
+
elem.text&.strip
|
|
192
|
+
end.compact
|
|
193
|
+
end
|
|
194
|
+
|
|
93
195
|
def lpars_uuids
|
|
94
196
|
uuids_from_links("AssociatedLogicalPartitions")
|
|
95
197
|
end
|
|
@@ -108,36 +210,44 @@ module IbmPowerHmc
|
|
|
108
210
|
end
|
|
109
211
|
|
|
110
212
|
def vswitches_uuids
|
|
111
|
-
uuids_from_links("
|
|
213
|
+
uuids_from_links(".//AssociatedSystemVirtualNetwork/VirtualSwitches")
|
|
112
214
|
end
|
|
113
215
|
|
|
114
216
|
def networks_uuids
|
|
115
|
-
uuids_from_links("
|
|
217
|
+
uuids_from_links(".//AssociatedSystemVirtualNetwork/VirtualNetworks")
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
def network_bridges_uuids
|
|
221
|
+
uuids_from_links(".//AssociatedSystemVirtualNetwork/NetworkBridges")
|
|
116
222
|
end
|
|
117
223
|
end
|
|
118
224
|
|
|
119
225
|
# I/O Slot information
|
|
120
226
|
class IOSlot < AbstractNonRest
|
|
121
227
|
ATTRS = {
|
|
122
|
-
:description
|
|
123
|
-
:lpar_id
|
|
124
|
-
:lpar_name
|
|
125
|
-
:lpar_type
|
|
126
|
-
:
|
|
127
|
-
:
|
|
128
|
-
:
|
|
129
|
-
:
|
|
130
|
-
:
|
|
131
|
-
:
|
|
132
|
-
:
|
|
133
|
-
:
|
|
134
|
-
:
|
|
135
|
-
:
|
|
136
|
-
:
|
|
137
|
-
:
|
|
138
|
-
:
|
|
139
|
-
:
|
|
140
|
-
:
|
|
228
|
+
:description => "Description",
|
|
229
|
+
:lpar_id => "PartitionID",
|
|
230
|
+
:lpar_name => "PartitionName",
|
|
231
|
+
:lpar_type => "PartitionType",
|
|
232
|
+
:bus_grouping => "BusGroupingRequired",
|
|
233
|
+
:io_unit_physloc => "IOUnitPhysicalLocation",
|
|
234
|
+
:pci_class => "PCIClass",
|
|
235
|
+
:pci_dev => "PCIDeviceID",
|
|
236
|
+
:pci_subsys_dev => "PCISubsystemDeviceID",
|
|
237
|
+
:pci_man => "PCIManufacturerID",
|
|
238
|
+
:pci_rev => "PCIRevisionID",
|
|
239
|
+
:pci_vendor => "PCIVendorID",
|
|
240
|
+
:pci_subsys_vendor => "PCISubsystemVendorID",
|
|
241
|
+
:dr_index => "SlotDynamicReconfigurationConnectorIndex",
|
|
242
|
+
:dr_name => "SlotDynamicReconfigurationConnectorName",
|
|
243
|
+
:physloc => "SlotPhysicalLocationCode",
|
|
244
|
+
:sriov_capable_dev => "SRIOVCapableDevice",
|
|
245
|
+
:sriov_capable => "SRIOVCapableSlot",
|
|
246
|
+
:sriov_ports_limit => "SRIOVLogicalPortsLimit",
|
|
247
|
+
:vpd_model => "VitalProductDataModel",
|
|
248
|
+
:vpd_serial => "VitalProductDataSerialNumber",
|
|
249
|
+
:vpd_stale => "VitalProductDataStale",
|
|
250
|
+
:vpd_type => "VitalProductDataType"
|
|
141
251
|
}.freeze
|
|
142
252
|
|
|
143
253
|
def io_adapter
|
|
@@ -161,37 +271,44 @@ module IbmPowerHmc
|
|
|
161
271
|
# I/O Device information
|
|
162
272
|
class IORDevice < AbstractNonRest
|
|
163
273
|
ATTRS = {
|
|
164
|
-
:parent
|
|
165
|
-
:
|
|
166
|
-
:
|
|
167
|
-
:
|
|
168
|
-
:
|
|
169
|
-
:
|
|
170
|
-
:
|
|
171
|
-
:
|
|
172
|
-
:
|
|
173
|
-
:
|
|
174
|
-
:
|
|
175
|
-
:
|
|
176
|
-
:
|
|
177
|
-
:
|
|
178
|
-
:
|
|
179
|
-
:
|
|
180
|
-
:
|
|
181
|
-
:
|
|
182
|
-
:
|
|
274
|
+
:parent => "ParentName",
|
|
275
|
+
:parent_dr_index => "ParentDynamicReconfigurationConnectorIndex",
|
|
276
|
+
:pci_dev => "PCIDeviceId",
|
|
277
|
+
:pci_vendor => "PCIVendorId",
|
|
278
|
+
:pci_subsys_dev => "PCISubsystemDeviceId",
|
|
279
|
+
:pci_subsys_vendor => "PCISubsystemVendorId",
|
|
280
|
+
:pci_rev => "PCIRevisionId",
|
|
281
|
+
:pci_class => "PCIClassCode",
|
|
282
|
+
:pci_prog_iface => "ProgrammingInterfaceClass",
|
|
283
|
+
:type => "DeviceType",
|
|
284
|
+
:primary_dev_func => "PrimaryDeviceFunction",
|
|
285
|
+
:serial => "SerialNumber",
|
|
286
|
+
:fru_number => "FruNumber",
|
|
287
|
+
:part_number => "PartNumber",
|
|
288
|
+
:ccin => "CCIN",
|
|
289
|
+
:slot_child_id => "SlotChildId",
|
|
290
|
+
:size => "Size",
|
|
291
|
+
:location => "LocationCode",
|
|
292
|
+
:ucode_version => "MicroCodeVersion",
|
|
293
|
+
:wwpn => "WWPN",
|
|
294
|
+
:wwnn => "WWNN",
|
|
295
|
+
:macaddr => "MacAddressValue",
|
|
296
|
+
:description => "Description"
|
|
183
297
|
}.freeze
|
|
184
298
|
end
|
|
185
299
|
|
|
186
300
|
# I/O Adapter information
|
|
187
301
|
class IOAdapter < AbstractNonRest
|
|
188
302
|
ATTRS = {
|
|
189
|
-
:id
|
|
190
|
-
:description
|
|
191
|
-
:name
|
|
192
|
-
:type
|
|
193
|
-
:dr_name
|
|
194
|
-
:
|
|
303
|
+
:id => "AdapterID",
|
|
304
|
+
:description => "Description",
|
|
305
|
+
:name => "DeviceName",
|
|
306
|
+
:type => "DeviceType",
|
|
307
|
+
:dr_name => "DynamicReconfigurationConnectorName",
|
|
308
|
+
:physloc => "PhysicalLocation",
|
|
309
|
+
:udid => "UniqueDeviceID",
|
|
310
|
+
:lpar_capable => "LogicalPartitionAssignmentCapable",
|
|
311
|
+
:dyn_capable => "DynamicPartitionAssignmentCapable"
|
|
195
312
|
}.freeze
|
|
196
313
|
end
|
|
197
314
|
|
data/lib/ibm_power_hmc.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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.31.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- IBM Power
|
|
@@ -74,6 +74,8 @@ files:
|
|
|
74
74
|
- lib/ibm_power_hmc/apis/sem.rb
|
|
75
75
|
- lib/ibm_power_hmc/apis/templates.rb
|
|
76
76
|
- lib/ibm_power_hmc/apis/uom.rb
|
|
77
|
+
- lib/ibm_power_hmc/logging.rb
|
|
78
|
+
- lib/ibm_power_hmc/null_logger.rb
|
|
77
79
|
- lib/ibm_power_hmc/schema/job.rb
|
|
78
80
|
- lib/ibm_power_hmc/schema/parser.rb
|
|
79
81
|
- lib/ibm_power_hmc/schema/pcm.rb
|