summaryrefslogtreecommitdiff
path: root/ironic/common
diff options
context:
space:
mode:
authorChangBo Guo(gcb) <eric.guo@easystack.cn>2017-11-01 18:47:31 +0800
committerChangBo Guo(gcb) <eric.guo@easystack.cn>2017-11-02 10:05:55 +0800
commitd3da9dec0ea5102a3f7b217843d03f2147753b9e (patch)
tree42e8b100c7ae86b24d93724a3046958601709f3d /ironic/common
parent32846e9987f01abac361928842770d8de6b1303d (diff)
downloadironic-d3da9dec0ea5102a3f7b217843d03f2147753b9e.tar.gz
Simplify the logic of validate_network_port
osl.utils provides method is_valid_port to check port, we can leverage it to make code more clear. Note that the code here was incorrect in accepting 1-65535, and this change fixes it to also include 0. Change-Id: I60cb36a042fd808edca66b07d7248213debd4dff
Diffstat (limited to 'ironic/common')
-rw-r--r--ironic/common/utils.py19
1 files changed, 7 insertions, 12 deletions
diff --git a/ironic/common/utils.py b/ironic/common/utils.py
index 087cedc57..dd53dbfa1 100644
--- a/ironic/common/utils.py
+++ b/ironic/common/utils.py
@@ -472,18 +472,13 @@ def validate_network_port(port, port_name="Port"):
:returns: An integer port number.
:raises: InvalidParameterValue, if the port is invalid.
"""
- try:
- port = int(port)
- except ValueError:
- raise exception.InvalidParameterValue(_(
- '%(port_name)s "%(port)s" is not a valid integer.') %
- {'port_name': port_name, 'port': port})
- if port < 1 or port > 65535:
- raise exception.InvalidParameterValue(_(
- '%(port_name)s "%(port)s" is out of range. Valid port '
- 'numbers must be between 1 and 65535.') %
- {'port_name': port_name, 'port': port})
- return port
+
+ if netutils.is_valid_port(port):
+ return int(port)
+
+ raise exception.InvalidParameterValue(_(
+ '%(port_name)s "%(port)s" is not a valid port.') %
+ {'port_name': port_name, 'port': port})
def render_template(template, params, is_file=True):