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:
Stephen Finucane
2016-12-05 19:39:50 +00:00
parent 17fef0c958
commit 320c0855a8
2 changed files with 11 additions and 16 deletions

View File

@@ -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):

View File

@@ -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