hardware: Rework get_number_of_serial_ports
Make this use '_get_flavor_image_meta', thus reducing duplication. Change-Id: I340001e433d07321c75795648d9c6bc7b16598dd
This commit is contained in:
@@ -1906,8 +1906,8 @@ class SocketPortInUseException(NovaException):
|
|||||||
|
|
||||||
|
|
||||||
class ImageSerialPortNumberInvalid(Invalid):
|
class ImageSerialPortNumberInvalid(Invalid):
|
||||||
msg_fmt = _("Number of serial ports '%(num_ports)s' specified in "
|
msg_fmt = _("Number of serial ports specified in flavor is invalid: "
|
||||||
"'%(property)s' isn't valid.")
|
"expected an integer, got '%(num_ports)s'")
|
||||||
|
|
||||||
|
|
||||||
class ImageSerialPortNumberExceedFlavorValue(Invalid):
|
class ImageSerialPortNumberExceedFlavorValue(Invalid):
|
||||||
|
|||||||
@@ -173,21 +173,16 @@ def get_number_of_serial_ports(flavor, image_meta):
|
|||||||
|
|
||||||
:returns: number of serial ports
|
:returns: number of serial ports
|
||||||
"""
|
"""
|
||||||
|
flavor_num_ports, image_num_ports = _get_flavor_image_meta(
|
||||||
def get_number(obj, property):
|
'serial_port_count', flavor, image_meta)
|
||||||
num_ports = obj.get(property)
|
if flavor_num_ports:
|
||||||
if num_ports is not None:
|
|
||||||
try:
|
try:
|
||||||
num_ports = int(num_ports)
|
flavor_num_ports = int(flavor_num_ports)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise exception.ImageSerialPortNumberInvalid(
|
raise exception.ImageSerialPortNumberInvalid(
|
||||||
num_ports=num_ports, property=property)
|
num_ports=flavor_num_ports)
|
||||||
return num_ports
|
|
||||||
|
|
||||||
flavor_num_ports = get_number(flavor.extra_specs, "hw:serial_port_count")
|
if flavor_num_ports and image_num_ports:
|
||||||
image_num_ports = image_meta.properties.get("hw_serial_port_count", None)
|
|
||||||
|
|
||||||
if (flavor_num_ports and image_num_ports) is not None:
|
|
||||||
if image_num_ports > flavor_num_ports:
|
if image_num_ports > flavor_num_ports:
|
||||||
raise exception.ImageSerialPortNumberExceedFlavorValue()
|
raise exception.ImageSerialPortNumberExceedFlavorValue()
|
||||||
return image_num_ports
|
return image_num_ports
|
||||||
|
|||||||
Reference in New Issue
Block a user