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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e298e207fe26a8e768b923b1c0675a6833aaaa8413a995013eafafcaa73e872
4
- data.tar.gz: c24af19a29e5d61785dc617fb49b6e7721173d87eaeed58e0865b49e6fc1f7f6
3
+ metadata.gz: 94b65ab8fab410579afd4e3729d42f8edff610d55a50714bedd5fdb595d1642e
4
+ data.tar.gz: 7dfc90cb8edc5c5fb87bc150afabf41e4f802bb97ab2517ddc13a910d730354e
5
5
  SHA512:
6
- metadata.gz: 3f309b4374cb6cb5c9943766080f39786c57c1d694f6475add0ebbb50a2f5247f06026db388e2ec39bad08dc2196467469a9b953f7b1b63b637786822e5210a8
7
- data.tar.gz: 5b0ab1c3ad5937de7515d10bef3351968cd70b2aa80ccbfb2fc646326707b086349c1dfeac9e75a6f37730f690ef056359cf75002b6bad5a3d58865f60ab96eb
6
+ metadata.gz: 5dc2ada9f19d15c5e63a6cffdb3efd4186422f0320609f8852c3fbb33caefed0e7ce59dff35d14415046db8138576e946c502cf9e8036ef21d5b25c9fdaba2a5
7
+ data.tar.gz: b36ba635a4c46b8cc250cf6c98381e37476c1a90d29ba543e777054d209d35d0bb47e6413049ff5ab4fd01387c4e21c94b424c765d65b563c3d25b3607456d4b
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## v0.31.0
2
+ * Add host attributes(#141)
3
+ * Improve logging (#139)
1
4
  ## v0.30.0
2
5
  * expose memory region size of a managed system (#140)
3
6
  ## v0.29.0
@@ -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,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
- :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",
70
- :memory_region_size => "AssociatedSystemMemoryConfiguration/MemoryRegionSize"
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("AssociatedSystemIOConfiguration/AssociatedSystemVirtualNetwork/VirtualSwitches")
213
+ uuids_from_links(".//AssociatedSystemVirtualNetwork/VirtualSwitches")
112
214
  end
113
215
 
114
216
  def networks_uuids
115
- 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")
116
222
  end
117
223
  end
118
224
 
119
225
  # I/O Slot information
120
226
  class IOSlot < AbstractNonRest
121
227
  ATTRS = {
122
- :description => "Description",
123
- :lpar_id => "PartitionID",
124
- :lpar_name => "PartitionName",
125
- :lpar_type => "PartitionType",
126
- :pci_class => "PCIClass",
127
- :pci_dev => "PCIDeviceID",
128
- :pci_subsys_dev => "PCISubsystemDeviceID",
129
- :pci_man => "PCIManufacturerID",
130
- :pci_rev => "PCIRevisionID",
131
- :pci_vendor => "PCIVendorID",
132
- :pci_subsys_vendor => "PCISubsystemVendorID",
133
- :dr_name => "SlotDynamicReconfigurationConnectorName",
134
- :physloc => "SlotPhysicalLocationCode",
135
- :sriov_capable_dev => "SRIOVCapableDevice",
136
- :sriov_capable => "SRIOVCapableSlot",
137
- :vpd_model => "VitalProductDataModel",
138
- :vpd_serial => "VitalProductDataSerialNumber",
139
- :vpd_stale => "VitalProductDataStale",
140
- :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"
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 => "ParentName",
165
- :pci_dev => "PCIDeviceId",
166
- :pci_vendor => "PCIVendorId",
167
- :pci_subsys_dev => "PCISubsystemDeviceId",
168
- :pci_subsys_vendor => "PCISubsystemVendorId",
169
- :pci_rev => "PCIRevisionId",
170
- :pci_class => "PCIClassCode",
171
- :type => "DeviceType",
172
- :serial => "SerialNumber",
173
- :fru_number => "FruNumber",
174
- :part_number => "PartNumber",
175
- :ccin => "CCIN",
176
- :size => "Size",
177
- :location => "LocationCode",
178
- :ucode_version => "MicroCodeVersion",
179
- :wwpn => "WWPN",
180
- :wwnn => "WWNN",
181
- :macaddr => "MacAddressValue",
182
- :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"
183
297
  }.freeze
184
298
  end
185
299
 
186
300
  # I/O Adapter information
187
301
  class IOAdapter < AbstractNonRest
188
302
  ATTRS = {
189
- :id => "AdapterID",
190
- :description => "Description",
191
- :name => "DeviceName",
192
- :type => "DeviceType",
193
- :dr_name => "DynamicReconfigurationConnectorName",
194
- :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"
195
312
  }.freeze
196
313
  end
197
314
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module IbmPowerHmc
4
- VERSION = "0.30.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.30.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