ibm_power_hmc 0.29.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 224eb15dd0b2b1216a6c03279ba5edc481120c4c5c0fc310a49771646ebc26cb
4
- data.tar.gz: 48e71c57d4bf637e7c74d3a3f1889990b82db42c3bbc8924662bbd0bb6614cc2
3
+ metadata.gz: 94b65ab8fab410579afd4e3729d42f8edff610d55a50714bedd5fdb595d1642e
4
+ data.tar.gz: 7dfc90cb8edc5c5fb87bc150afabf41e4f802bb97ab2517ddc13a910d730354e
5
5
  SHA512:
6
- metadata.gz: 735680a1e8ee751af61235f3afec78c3506769c7a023534a9094505d702dc01915965d00adfb8ac9c53a63664a1d12fbd28bd48f90ca4ed6988fb68bdabbe230
7
- data.tar.gz: d16faea89c70664362ee58cc28b6f9807f9491e561b5f1d8bb2ccdf5727e09bf06358f88fdde28dd7f980a8724e44a08591c6bf93febb97b5b34de264314841a
6
+ metadata.gz: 5dc2ada9f19d15c5e63a6cffdb3efd4186422f0320609f8852c3fbb33caefed0e7ce59dff35d14415046db8138576e946c502cf9e8036ef21d5b25c9fdaba2a5
7
+ data.tar.gz: b36ba635a4c46b8cc250cf6c98381e37476c1a90d29ba543e777054d209d35d0bb47e6413049ff5ab4fd01387c4e21c94b424c765d65b563c3d25b3607456d4b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## v0.31.0
2
+ * Add host attributes(#141)
3
+ * Improve logging (#139)
4
+ ## v0.30.0
5
+ * expose memory region size of a managed system (#140)
1
6
  ## v0.29.0
2
7
  * Add config_mem/config_cpus to ManagedSystem (#138)
3
8
  ## v0.28.1
@@ -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
- RestClient::Request.execute(
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, &block)
178
- modify_object_url(nil, headers, attempts, &block)
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,26 +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
- :vtpm_version => "AssociatedSystemSecurity/VirtualTrustedPlatformModuleVersion",
66
- :vtpm_lpars => "AssociatedSystemSecurity/AvailableVirtualTrustedPlatformModulePartitions",
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
- :is_mem_mirroring_enabled => "AssociatedSystemMemoryConfiguration/CurrentMemoryMirroringMode"
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"
70
155
  }.freeze
71
156
 
72
157
  def group_uuids
@@ -89,6 +174,24 @@ module IbmPowerHmc
89
174
  end.compact
90
175
  end
91
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
+
92
195
  def lpars_uuids
93
196
  uuids_from_links("AssociatedLogicalPartitions")
94
197
  end
@@ -107,36 +210,44 @@ module IbmPowerHmc
107
210
  end
108
211
 
109
212
  def vswitches_uuids
110
- uuids_from_links("AssociatedSystemIOConfiguration/AssociatedSystemVirtualNetwork/VirtualSwitches")
213
+ uuids_from_links(".//AssociatedSystemVirtualNetwork/VirtualSwitches")
111
214
  end
112
215
 
113
216
  def networks_uuids
114
- uuids_from_links("AssociatedSystemIOConfiguration/AssociatedSystemVirtualNetwork/VirtualNetworks")
217
+ uuids_from_links(".//AssociatedSystemVirtualNetwork/VirtualNetworks")
218
+ end
219
+
220
+ def network_bridges_uuids
221
+ uuids_from_links(".//AssociatedSystemVirtualNetwork/NetworkBridges")
115
222
  end
116
223
  end
117
224
 
118
225
  # I/O Slot information
119
226
  class IOSlot < AbstractNonRest
120
227
  ATTRS = {
121
- :description => "Description",
122
- :lpar_id => "PartitionID",
123
- :lpar_name => "PartitionName",
124
- :lpar_type => "PartitionType",
125
- :pci_class => "PCIClass",
126
- :pci_dev => "PCIDeviceID",
127
- :pci_subsys_dev => "PCISubsystemDeviceID",
128
- :pci_man => "PCIManufacturerID",
129
- :pci_rev => "PCIRevisionID",
130
- :pci_vendor => "PCIVendorID",
131
- :pci_subsys_vendor => "PCISubsystemVendorID",
132
- :dr_name => "SlotDynamicReconfigurationConnectorName",
133
- :physloc => "SlotPhysicalLocationCode",
134
- :sriov_capable_dev => "SRIOVCapableDevice",
135
- :sriov_capable => "SRIOVCapableSlot",
136
- :vpd_model => "VitalProductDataModel",
137
- :vpd_serial => "VitalProductDataSerialNumber",
138
- :vpd_stale => "VitalProductDataStale",
139
- :vpd_type => "VitalProductDataType"
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"
140
251
  }.freeze
141
252
 
142
253
  def io_adapter
@@ -160,37 +271,44 @@ module IbmPowerHmc
160
271
  # I/O Device information
161
272
  class IORDevice < AbstractNonRest
162
273
  ATTRS = {
163
- :parent => "ParentName",
164
- :pci_dev => "PCIDeviceId",
165
- :pci_vendor => "PCIVendorId",
166
- :pci_subsys_dev => "PCISubsystemDeviceId",
167
- :pci_subsys_vendor => "PCISubsystemVendorId",
168
- :pci_rev => "PCIRevisionId",
169
- :pci_class => "PCIClassCode",
170
- :type => "DeviceType",
171
- :serial => "SerialNumber",
172
- :fru_number => "FruNumber",
173
- :part_number => "PartNumber",
174
- :ccin => "CCIN",
175
- :size => "Size",
176
- :location => "LocationCode",
177
- :ucode_version => "MicroCodeVersion",
178
- :wwpn => "WWPN",
179
- :wwnn => "WWNN",
180
- :macaddr => "MacAddressValue",
181
- :description => "Description"
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"
182
297
  }.freeze
183
298
  end
184
299
 
185
300
  # I/O Adapter information
186
301
  class IOAdapter < AbstractNonRest
187
302
  ATTRS = {
188
- :id => "AdapterID",
189
- :description => "Description",
190
- :name => "DeviceName",
191
- :type => "DeviceType",
192
- :dr_name => "DynamicReconfigurationConnectorName",
193
- :udid => "UniqueDeviceID"
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"
194
312
  }.freeze
195
313
  end
196
314
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IbmPowerHmc
4
- VERSION = "0.29.0"
4
+ VERSION = "0.31.0"
5
5
  end
data/lib/ibm_power_hmc.rb CHANGED
@@ -4,6 +4,7 @@ require "rexml/document"
4
4
  require "rest-client"
5
5
 
6
6
  require "ibm_power_hmc/version"
7
+ require "ibm_power_hmc/logging"
7
8
 
8
9
  # Module for IBM HMC Rest API Client
9
10
  module IbmPowerHmc
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.29.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