Support float casting for resource property
Use num_or_none instead of int_or_none to support those resource property in float. Change-Id: I8830e7104ff69524379ccfbd90eda37133a8960a
This commit is contained in:
parent
879ec9adbd
commit
c805d7540e
@ -28,17 +28,17 @@ class RackLocationField(base.CompositeField):
|
||||
rack_units = base.Field('RackUnits')
|
||||
"""Indicates the rack unit type"""
|
||||
|
||||
xlocation = base.Field('XLocation', adapter=rsd_lib_utils.int_or_none)
|
||||
xlocation = base.Field('XLocation', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The horizontal location within uLocation, from left to right
|
||||
(1.. MAXIMUM) 0 indicate not available
|
||||
"""
|
||||
|
||||
ulocation = base.Field('ULocation', adapter=rsd_lib_utils.int_or_none)
|
||||
ulocation = base.Field('ULocation', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The index of the top-most U of the component, from top to bottom
|
||||
(1.. MAXIMUM) 0 indicate not available
|
||||
"""
|
||||
|
||||
uheight = base.Field('UHeight', adapter=rsd_lib_utils.int_or_none)
|
||||
uheight = base.Field('UHeight', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The height of managed zone, e.g. 8 for 8U, 16 for 16U"""
|
||||
|
||||
|
||||
@ -47,11 +47,11 @@ class PowerSuppliesField(base.ListField):
|
||||
"""The Power Supply name"""
|
||||
|
||||
power_capacity_watts = base.Field(
|
||||
'PowerCapacityWatts', adapter=rsd_lib_utils.int_or_none)
|
||||
'PowerCapacityWatts', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The maximum capacity of this Power Supply"""
|
||||
|
||||
last_power_output_watts = base.Field(
|
||||
'LastPowerOutputWatts', adapter=rsd_lib_utils.int_or_none)
|
||||
'LastPowerOutputWatts', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The average power output of this Power Supply"""
|
||||
|
||||
manufacturer = base.Field('Manufacturer')
|
||||
@ -93,7 +93,7 @@ class PowerZone(base.ResourceBase):
|
||||
"""The PowerZone physical location"""
|
||||
|
||||
max_psus_supported = base.Field(
|
||||
'MaxPSUsSupported', adapter=rsd_lib_utils.int_or_none)
|
||||
'MaxPSUsSupported', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The maximum number of Power Supply Units supported by PowerZone"""
|
||||
|
||||
presence = base.Field('Presence')
|
||||
@ -107,21 +107,21 @@ class PowerZone(base.ResourceBase):
|
||||
"""
|
||||
|
||||
number_of_psus_present = base.Field(
|
||||
'NumberOfPSUsPresent', adapter=rsd_lib_utils.int_or_none)
|
||||
'NumberOfPSUsPresent', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Indicates the number of existing Power Supply Units in PowerZone"""
|
||||
|
||||
power_consumed_watts = base.Field(
|
||||
'PowerConsumedWatts', adapter=rsd_lib_utils.int_or_none)
|
||||
'PowerConsumedWatts', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The total power consumption of PowerZone, sum of trays'
|
||||
power consumption
|
||||
"""
|
||||
|
||||
power_output_watts = base.Field(
|
||||
'PowerOutputWatts', adapter=rsd_lib_utils.int_or_none)
|
||||
'PowerOutputWatts', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The total power production of PowerZone, sum of PSUs' output"""
|
||||
|
||||
power_capacity_watts = base.Field(
|
||||
'PowerCapacityWatts', adapter=rsd_lib_utils.int_or_none)
|
||||
'PowerCapacityWatts', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The maximum power capacity supported by PowerZone"""
|
||||
|
||||
power_supplies = PowerSuppliesField('PowerSupplies')
|
||||
|
@ -28,17 +28,17 @@ class RackLocationField(base.CompositeField):
|
||||
rack_units = base.Field('RackUnits')
|
||||
"""Indicates the rack unit type"""
|
||||
|
||||
xlocation = base.Field('XLocation', adapter=rsd_lib_utils.int_or_none)
|
||||
xlocation = base.Field('XLocation', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The horizontal location within uLocation, from left to right
|
||||
(1.. MAXIMUM) 0 indicate not available
|
||||
"""
|
||||
|
||||
ulocation = base.Field('ULocation', adapter=rsd_lib_utils.int_or_none)
|
||||
ulocation = base.Field('ULocation', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The index of the top-most U of the component, from top to bottom
|
||||
(1.. MAXIMUM) 0 indicate not available
|
||||
"""
|
||||
|
||||
uheight = base.Field('UHeight', adapter=rsd_lib_utils.int_or_none)
|
||||
uheight = base.Field('UHeight', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The height of managed zone, e.g. 8 for 8U, 16 for 16U"""
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ class FansField(base.ListField):
|
||||
name = base.Field('Name')
|
||||
"""The Power Supply name"""
|
||||
|
||||
reading_rpm = base.Field('ReadingRPM', adapter=rsd_lib_utils.int_or_none)
|
||||
reading_rpm = base.Field('ReadingRPM', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Fan RPM reading"""
|
||||
|
||||
status = StatusField('Status')
|
||||
@ -61,7 +61,7 @@ class TemperaturesField(base.ListField):
|
||||
"""The Power Supply name"""
|
||||
|
||||
reading_celsius = base.Field(
|
||||
'ReadingCelsius', adapter=rsd_lib_utils.int_or_none)
|
||||
'ReadingCelsius', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Current value of the temperature sensor's reading"""
|
||||
|
||||
physical_context = base.Field('PhysicalContext')
|
||||
@ -107,23 +107,23 @@ class ThermalZone(base.ResourceBase):
|
||||
"""
|
||||
|
||||
desired_speed_pwm = base.Field(
|
||||
'DesiredSpeedPWM', adapter=rsd_lib_utils.int_or_none)
|
||||
'DesiredSpeedPWM', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The desired FAN speed in current ThermalZone present in PWM unit"""
|
||||
|
||||
desired_speed_rpm = base.Field(
|
||||
'DesiredSpeedRPM', adapter=rsd_lib_utils.int_or_none)
|
||||
'DesiredSpeedRPM', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The desired FAN speed in current ThermalZone present in RPM unit"""
|
||||
|
||||
max_fans_supported = base.Field(
|
||||
'MaxFansSupported', adapter=rsd_lib_utils.int_or_none)
|
||||
'MaxFansSupported', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Number of maximum fans that can be installed in a given Thermal Zone"""
|
||||
|
||||
number_of_fans_present = base.Field(
|
||||
'NumberOfFansPresent', adapter=rsd_lib_utils.int_or_none)
|
||||
'NumberOfFansPresent', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The existing number of fans in current ThermalZone"""
|
||||
|
||||
volumetric_airflow = base.Field(
|
||||
'VolumetricAirflow', adapter=rsd_lib_utils.int_or_none)
|
||||
'VolumetricAirflow', adapter=rsd_lib_utils.num_or_none)
|
||||
"""Rack Level PTAS Telemetry - Volumetric airflow in current ThermalZone"""
|
||||
|
||||
fans = FansField('Fans')
|
||||
|
@ -32,17 +32,17 @@ class IPSourceField(base.CompositeField):
|
||||
|
||||
class MACSourceField(base.CompositeField):
|
||||
address = base.Field('Address')
|
||||
mask = base.Field('Mask', adapter=rsd_lib_utils.int_or_none)
|
||||
mask = base.Field('Mask', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class VLANIdField(base.CompositeField):
|
||||
id = base.Field('Id', adapter=rsd_lib_utils.int_or_none)
|
||||
mask = base.Field('Mask', adapter=rsd_lib_utils.int_or_none)
|
||||
id = base.Field('Id', adapter=rsd_lib_utils.num_or_none)
|
||||
mask = base.Field('Mask', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class L4SourcePortField(base.CompositeField):
|
||||
port = base.Field('Port', adapter=rsd_lib_utils.int_or_none)
|
||||
mask = base.Field('Mask', adapter=rsd_lib_utils.int_or_none)
|
||||
port = base.Field('Port', adapter=rsd_lib_utils.num_or_none)
|
||||
mask = base.Field('Mask', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class ConditionField(base.CompositeField):
|
||||
@ -53,7 +53,7 @@ class ConditionField(base.CompositeField):
|
||||
vlan_id = VLANIdField('VLANId')
|
||||
l4_source_port = L4SourcePortField('L4SourcePort')
|
||||
l4_destination_port = base.Field('L4DestinationPort',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
l4_protocol = base.Field('L4Protocol')
|
||||
|
||||
|
||||
@ -68,7 +68,7 @@ class ACLRule(base.ResourceBase):
|
||||
description = base.Field('Description')
|
||||
"""The acl rule description"""
|
||||
|
||||
rule_id = base.Field('RuleId', adapter=rsd_lib_utils.int_or_none)
|
||||
rule_id = base.Field('RuleId', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The acl rule id"""
|
||||
|
||||
action = base.Field('Action')
|
||||
|
@ -61,7 +61,7 @@ class IPv6AddressesField(base.ListField):
|
||||
"""The port ipv6 address"""
|
||||
|
||||
prefix_length = base.Field(
|
||||
'PrefixLength', adapter=rsd_lib_utils.int_or_none)
|
||||
'PrefixLength', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The port ipv6 address prefix length"""
|
||||
|
||||
address_origin = base.Field('AddressOrigin')
|
||||
@ -109,7 +109,7 @@ class Port(base.ResourceBase):
|
||||
"""The port administrative state"""
|
||||
|
||||
link_speed_mbps = base.Field(
|
||||
'LinkSpeedMbps', adapter=rsd_lib_utils.int_or_none)
|
||||
'LinkSpeedMbps', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The port link speed(mbps)"""
|
||||
|
||||
neighbor_info = NeighborInfoField('NeighborInfo')
|
||||
@ -119,7 +119,7 @@ class Port(base.ResourceBase):
|
||||
"""The port neighbor mac"""
|
||||
|
||||
frame_size = base.Field(
|
||||
'FrameSize', adapter=rsd_lib_utils.int_or_none)
|
||||
'FrameSize', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The port frame size"""
|
||||
|
||||
autosense = base.Field('Autosense', adapter=bool)
|
||||
|
@ -32,7 +32,7 @@ class StaticMAC(base.ResourceBase):
|
||||
mac_address = base.Field('MACAddress')
|
||||
"""The static mac address"""
|
||||
|
||||
vlan_id = base.Field('VLANId', adapter=rsd_lib_utils.int_or_none)
|
||||
vlan_id = base.Field('VLANId', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The static mac vlan id"""
|
||||
|
||||
oem = base.Field('Oem')
|
||||
|
@ -38,7 +38,7 @@ class VLAN(base.ResourceBase):
|
||||
vlan_enable = base.Field('VLANEnable', adapter=bool)
|
||||
"""The boolean indicate this vlan network interface is enabled or not"""
|
||||
|
||||
vlan_id = base.Field('VLANId', adapter=rsd_lib_utils.int_or_none)
|
||||
vlan_id = base.Field('VLANId', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The vlan network interafce id"""
|
||||
|
||||
oem = base.Field('Oem')
|
||||
|
@ -74,7 +74,7 @@ class Switch(base.ResourceBase):
|
||||
"""The switch managed state"""
|
||||
|
||||
total_switch_width = base.Field('TotalSwitchWidth',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The switch total switch width"""
|
||||
|
||||
indicator_led = base.Field('IndicatorLED')
|
||||
|
@ -28,21 +28,21 @@ class StatusField(base.CompositeField):
|
||||
class GraphicalConsoleField(base.CompositeField):
|
||||
service_enabled = base.Field('ServiceEnabled')
|
||||
max_concurrent_sessions = base.Field('MaxConcurrentSessions',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
connect_types_supported = base.Field('ConnectTypesSupported')
|
||||
|
||||
|
||||
class SerialConsoleField(base.CompositeField):
|
||||
service_enabled = base.Field('ServiceEnabled')
|
||||
max_concurrent_sessions = base.Field('MaxConcurrentSessions',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
connect_types_supported = base.Field('ConnectTypesSupported')
|
||||
|
||||
|
||||
class CommandShellField(base.CompositeField):
|
||||
service_enabled = base.Field('ServiceEnabled')
|
||||
max_concurrent_sessions = base.Field('MaxConcurrentSessions',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
connect_types_supported = base.Field('ConnectTypesSupported')
|
||||
|
||||
|
||||
|
@ -91,7 +91,7 @@ class MemorySummaryField(base.CompositeField):
|
||||
"""The memory status"""
|
||||
|
||||
size_gib = base.Field('TotalSystemMemoryGiB',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The size of memory of the node in GiB.
|
||||
|
||||
This signifies the total installed, operating system-accessible memory
|
||||
@ -103,7 +103,7 @@ class ProcessorSummaryField(base.CompositeField):
|
||||
status = StatusField('Status')
|
||||
"""The processor status"""
|
||||
|
||||
count = base.Field('Count', adapter=rsd_lib_utils.int_or_none)
|
||||
count = base.Field('Count', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The number of CPUs in the node."""
|
||||
|
||||
model = base.Field('Model')
|
||||
|
@ -51,15 +51,15 @@ class Memory(base.ResourceBase):
|
||||
memory_media = base.Field('MemoryMedia')
|
||||
"""The memory media"""
|
||||
|
||||
capacity_mib = base.Field('CapacityMiB', adapter=rsd_lib_utils.int_or_none)
|
||||
capacity_mib = base.Field('CapacityMiB', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The capacity of this memory in MiB"""
|
||||
|
||||
data_width_bits = base.Field('DataWidthBits',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The data width bits of this memory."""
|
||||
|
||||
bus_width_bits = base.Field('BusWidthBits',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The bus width bits of this memory."""
|
||||
|
||||
manufacturer = base.Field('Manufacturer')
|
||||
@ -90,7 +90,7 @@ class Memory(base.ResourceBase):
|
||||
"""The device identity"""
|
||||
|
||||
rank_count = base.Field('RankCount',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The rank count of this memory"""
|
||||
|
||||
device_locator = base.Field('DeviceLocator')
|
||||
@ -100,7 +100,7 @@ class Memory(base.ResourceBase):
|
||||
"""The error correction"""
|
||||
|
||||
operating_speed_mhz = base.Field('OperatingSpeedMhz',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The operating speed of this memory in MHz"""
|
||||
|
||||
operating_memory_modes = base.Field('OperatingMemoryModes')
|
||||
|
@ -46,7 +46,7 @@ class IPv6StaticAddressesField(base.ListField):
|
||||
class VLANField(base.CompositeField):
|
||||
vlan_enable = base.Field('VLANEnable', adapter=bool)
|
||||
vlan_id = base.Field('VLANId',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class NetworkInterface(base.ResourceBase):
|
||||
@ -84,7 +84,7 @@ class NetworkInterface(base.ResourceBase):
|
||||
"""Indicates if the NIC is in Full Duplex mode or not"""
|
||||
|
||||
mtu_size = base.Field('MTUSize',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The network interface mtu size"""
|
||||
|
||||
host_name = base.Field('HostName')
|
||||
@ -97,7 +97,7 @@ class NetworkInterface(base.ResourceBase):
|
||||
"""Default gateway address that is currently in use on this interface"""
|
||||
|
||||
max_ipv6_static_addresses = base.Field('MaxIPv6StaticAddresses',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""Indicates the maximum number of Static IPv6 addresses that can be
|
||||
configured on this interface
|
||||
"""
|
||||
|
@ -39,7 +39,7 @@ class StorageControllersField(base.ListField):
|
||||
serial_number = base.Field('SerialNumber')
|
||||
part_number = base.Field('PartNumber')
|
||||
asset_tag = base.Field('AssetTag')
|
||||
speed_gbps = base.Field('SpeedGbps', adapter=rsd_lib_utils.int_or_none)
|
||||
speed_gbps = base.Field('SpeedGbps', adapter=rsd_lib_utils.num_or_none)
|
||||
firmware_version = base.Field('FirmwareVersion')
|
||||
supported_controller_protocols = base.Field(
|
||||
'SupportedControllerProtocols')
|
||||
|
@ -19,31 +19,31 @@ from rsd_lib import utils as rsd_lib_utils
|
||||
|
||||
|
||||
class ReceivedField(base.CompositeField):
|
||||
packets = base.Field('Packets', adapter=rsd_lib_utils.int_or_none)
|
||||
packets = base.Field('Packets', adapter=rsd_lib_utils.num_or_none)
|
||||
dropped_packets = base.Field('DroppedPackets',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
error_packets = base.Field('ErrorPackets',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
broadcast_packets = base.Field('BroadcastPackets',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
multicast_packets = base.Field('MulticastPackets',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
errors = base.Field('Errors', adapter=rsd_lib_utils.int_or_none)
|
||||
received_bytes = base.Field('Bytes', adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
errors = base.Field('Errors', adapter=rsd_lib_utils.num_or_none)
|
||||
received_bytes = base.Field('Bytes', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class TransmittedField(base.CompositeField):
|
||||
packets = base.Field('Packets', adapter=rsd_lib_utils.int_or_none)
|
||||
packets = base.Field('Packets', adapter=rsd_lib_utils.num_or_none)
|
||||
dropped_packets = base.Field('DroppedPackets',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
error_packets = base.Field('ErrorPackets',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
broadcast_packets = base.Field('BroadcastPackets',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
multicast_packets = base.Field('MulticastPackets',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
errors = base.Field('Errors', adapter=rsd_lib_utils.int_or_none)
|
||||
transmitted_bytes = base.Field('Bytes', adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
errors = base.Field('Errors', adapter=rsd_lib_utils.num_or_none)
|
||||
transmitted_bytes = base.Field('Bytes', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class PortMetrics(base.ResourceBase):
|
||||
@ -59,5 +59,5 @@ class PortMetrics(base.ResourceBase):
|
||||
transmitted = TransmittedField('Transmitted')
|
||||
"""The transmitted packets status"""
|
||||
|
||||
collisions = base.Field('Collisions', adapter=rsd_lib_utils.int_or_none)
|
||||
collisions = base.Field('Collisions', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The collisions status"""
|
||||
|
@ -31,7 +31,7 @@ class MemoryMetrics(base.ResourceBase):
|
||||
|
||||
temperature_celsius = base.Field(
|
||||
['Oem', 'Intel_RackScale', 'TemperatureCelsius'],
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The memory temperature celsius"""
|
||||
|
||||
health = base.Field(['Oem', 'Intel_RackScale', 'Health'])
|
||||
|
@ -29,27 +29,27 @@ class Metrics(base.ResourceBase):
|
||||
"""The metrics identity"""
|
||||
|
||||
processor_bandwidth_percent = base.Field('ProcessorBandwidthPercent',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The processor bandwidth percent"""
|
||||
|
||||
memory_bandwidth_percent = base.Field('MemoryBandwidthPercent',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The memory bandwidth percent"""
|
||||
|
||||
memory_throttled_cycles_percent = base.Field(
|
||||
'MemoryThrottledCyclesPercent', adapter=rsd_lib_utils.int_or_none)
|
||||
'MemoryThrottledCyclesPercent', adapter=rsd_lib_utils.num_or_none)
|
||||
"""The memory throttled cycles percent"""
|
||||
|
||||
processor_power_watt = base.Field('ProcessorPowerWatt',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The processor power watt"""
|
||||
|
||||
memory_power_watt = base.Field('MemoryPowerWatt',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The memory power watt"""
|
||||
|
||||
io_bandwidth_gbps = base.Field('IOBandwidthGBps',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The io bandwidth GBps"""
|
||||
|
||||
health = base.Field('Health')
|
||||
|
@ -29,19 +29,19 @@ class ProcessorMetrics(base.ResourceBase):
|
||||
"""The metrics identity"""
|
||||
|
||||
average_frequency_mhz = base.Field('AverageFrequencyMHz',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The processor average frequency mhz"""
|
||||
|
||||
throttling_celsius = base.Field('ThrottlingCelsius',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The processor throttling celsius"""
|
||||
|
||||
temperature_celsius = base.Field('TemperatureCelsius',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The processor temperature celsius"""
|
||||
|
||||
consumed_power_watt = base.Field('ConsumedPowerWatt',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The processor consumed power watt"""
|
||||
|
||||
health = base.Field('Health')
|
||||
|
@ -25,10 +25,10 @@ LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class ClassToPriorityMappingField(base.ListField):
|
||||
priority = base.Field('Priority', adapter=rsd_lib_utils.int_or_none)
|
||||
priority = base.Field('Priority', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
traffic_class = base.Field(
|
||||
'TrafficClass', adapter=rsd_lib_utils.int_or_none)
|
||||
'TrafficClass', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class PriorityFlowControlField(base.CompositeField):
|
||||
@ -38,27 +38,27 @@ class PriorityFlowControlField(base.CompositeField):
|
||||
|
||||
|
||||
class PriorityToClassMappingField(base.ListField):
|
||||
priority = base.Field('Priority', adapter=rsd_lib_utils.int_or_none)
|
||||
priority = base.Field('Priority', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
traffic_class = base.Field(
|
||||
'TrafficClass', adapter=rsd_lib_utils.int_or_none)
|
||||
'TrafficClass', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class TrafficClassficationField(base.ListField):
|
||||
port = base.Field('Port', adapter=rsd_lib_utils.int_or_none)
|
||||
port = base.Field('Port', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
protocol = base.Field('Protocol')
|
||||
|
||||
traffic_class = base.Field(
|
||||
'TrafficClass', adapter=rsd_lib_utils.int_or_none)
|
||||
'TrafficClass', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class TransmissionSelectionField(base.ListField):
|
||||
bandwidth_percent = base.Field(
|
||||
'BandwidthPercent', adapter=rsd_lib_utils.int_or_none)
|
||||
'BandwidthPercent', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
traffic_class = base.Field(
|
||||
'TrafficClass', adapter=rsd_lib_utils.int_or_none)
|
||||
'TrafficClass', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class EthernetSwitch(v2_2_ethernet_switch.EthernetSwitch):
|
||||
|
@ -57,7 +57,7 @@ class IPTransportDetailsField(base.ListField):
|
||||
transport_protocol = base.Field('TransportProtocol')
|
||||
ipv4_address = base.Field(['IPv4Address', 'Address'])
|
||||
ipv6_address = base.Field(['IPv6Address', 'Address'])
|
||||
port = base.Field('Port', adapter=rsd_lib_utils.int_or_none)
|
||||
port = base.Field('Port', adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class AuthenticationField(base.CompositeField):
|
||||
|
@ -81,7 +81,7 @@ class Drive(base.ResourceBase):
|
||||
"""The media type of this drive"""
|
||||
|
||||
capacity_bytes = base.Field('CapacityBytes',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The capacity in Bytes of this drive"""
|
||||
|
||||
manufacturer = base.Field('Manufacturer')
|
||||
|
@ -33,13 +33,13 @@ class StatusField(base.CompositeField):
|
||||
|
||||
class CapacityField(base.CompositeField):
|
||||
allocated_bytes = base.Field(['Data', 'AllocatedBytes'],
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
consumed_bytes = base.Field(['Data', 'ConsumedBytes'],
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
guaranteed_bytes = base.Field(['Data', 'GuaranteedBytes'],
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
provisioned_bytes = base.Field(['Data', 'ProvisionedBytes'],
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class CapacitySourcesField(base.ListField):
|
||||
|
@ -37,7 +37,7 @@ class CapacitySourcesField(base.ListField):
|
||||
adapter=utils.get_members_identities)
|
||||
allocated_Bytes = base.Field(
|
||||
['ProvidedCapacity', 'Data', 'AllocatedBytes'],
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
|
||||
|
||||
class LinksField(base.CompositeField):
|
||||
@ -92,11 +92,11 @@ class Volume(base.ResourceBase):
|
||||
"""The access capabilities of volume"""
|
||||
|
||||
capacity_bytes = base.Field('CapacityBytes',
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The capacity of volume in bytes"""
|
||||
|
||||
allocated_Bytes = base.Field(['Capacity', 'Data', 'AllocatedBytes'],
|
||||
adapter=rsd_lib_utils.int_or_none)
|
||||
adapter=rsd_lib_utils.num_or_none)
|
||||
"""The allocated capacity of volume in bytes"""
|
||||
|
||||
capacity_sources = CapacitySourcesField('CapacitySources')
|
||||
|
@ -28,7 +28,9 @@ class UtilsTestCase(testtools.TestCase):
|
||||
rsd_lib_utils.get_resource_identity({
|
||||
"@odata.id": "/redfish/v1/Systems/437XR1138R2/BIOS"}))
|
||||
|
||||
def test_int_or_none(self):
|
||||
self.assertIsNone(rsd_lib_utils.int_or_none(None))
|
||||
self.assertEqual(0, rsd_lib_utils.int_or_none('0'))
|
||||
self.assertEqual(1, rsd_lib_utils.int_or_none('1'))
|
||||
def test_num_or_none(self):
|
||||
self.assertIsNone(rsd_lib_utils.num_or_none(None))
|
||||
self.assertEqual(0, rsd_lib_utils.num_or_none('0'))
|
||||
self.assertEqual(1, rsd_lib_utils.num_or_none('1'))
|
||||
self.assertEqual(10, rsd_lib_utils.num_or_none('10.0'))
|
||||
self.assertEqual(12.5, rsd_lib_utils.num_or_none('12.5'))
|
||||
|
@ -21,13 +21,17 @@ def get_resource_identity(resource):
|
||||
return resource.get('@odata.id', None)
|
||||
|
||||
|
||||
def int_or_none(x):
|
||||
"""Given a value x it cast as int or None
|
||||
def num_or_none(x):
|
||||
"""Given a value x it cast as int, float or None
|
||||
|
||||
:param x: The value to transform and return
|
||||
:returns: Either None or x cast to an int
|
||||
:returns: Either None or x cast to an int/float
|
||||
|
||||
"""
|
||||
if x is None:
|
||||
return None
|
||||
return int(x)
|
||||
|
||||
try:
|
||||
return int(x)
|
||||
except ValueError:
|
||||
return float(x)
|
||||
|
Loading…
x
Reference in New Issue
Block a user