)]}'
{"ironic/common/utils.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c643b7cc71de15122ff95c34b6ce4d009927f9c6","unresolved":false,"context_lines":[{"line_number":690,"context_line":"    )"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":""},{"line_number":693,"context_line":"def validate_network_port(port):"},{"line_number":694,"context_line":"    \"\"\"Validates the given port."},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"    :param port: TCP/UDP port."}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_63fff3aa","line":693,"updated":"2015-11-10 04:02:42.000000000","message":"Any thoughts on allowing None?\n\nI notice every caller of this does:\n\n if port is not None:\n   port \u003d validate...\n\nMaybe in this function could do:\n\n if port is None:\n   return\n\nAnd if decided to do that could also have.\n\n  def validate_network_port(port, none_is_valid\u003dTrue)\n\nTo allow case where None should not be valid.\n\nAny thoughts on this?","commit_id":"af716665d0295b61959b4c8fb009e5d53556ad3a"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"3e9ec2c878bb2b97f310029d0327ae47cd60cad0","unresolved":false,"context_lines":[{"line_number":690,"context_line":"    )"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":""},{"line_number":693,"context_line":"def validate_network_port(port):"},{"line_number":694,"context_line":"    \"\"\"Validates the given port."},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"    :param port: TCP/UDP port."}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_c3b49ff3","line":693,"in_reply_to":"da85f559_63fff3aa","updated":"2015-11-10 04:05:46.000000000","message":"hi John, None indicates that we don\u0027t specify the port parameter, I think the current logic is more clear, we check whether the parameter exists then validate it, make sense?","commit_id":"af716665d0295b61959b4c8fb009e5d53556ad3a"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"5562869f5fae94415f3c54477bdc655794d7f2a0","unresolved":false,"context_lines":[{"line_number":701,"context_line":"        port \u003d int(port)"},{"line_number":702,"context_line":"    except ValueError:"},{"line_number":703,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":704,"context_line":"            \"The Port is not an integer.\"))"},{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65536:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \"The Port is not a valid number.\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_c8cb531d","line":704,"updated":"2015-11-10 09:17:15.000000000","message":"s/Port/port\n\nAlso would be good if we showed the current value. e.g\n\n\u0027Port number \"%s\" is not a valid integer\u0027","commit_id":"af716665d0295b61959b4c8fb009e5d53556ad3a"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"160e37b2bb7a3f9a653d5747164455ff70e3db07","unresolved":false,"context_lines":[{"line_number":701,"context_line":"        port \u003d int(port)"},{"line_number":702,"context_line":"    except ValueError:"},{"line_number":703,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":704,"context_line":"            \"The Port is not an integer.\"))"},{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65536:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \"The Port is not a valid number.\"))"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_0be2b59f","line":704,"in_reply_to":"da85f559_c8cb531d","updated":"2015-11-10 09:34:07.000000000","message":"Done","commit_id":"af716665d0295b61959b4c8fb009e5d53556ad3a"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"5562869f5fae94415f3c54477bdc655794d7f2a0","unresolved":false,"context_lines":[{"line_number":704,"context_line":"            \"The Port is not an integer.\"))"},{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65536:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \"The Port is not a valid number.\"))"},{"line_number":708,"context_line":"    return port"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_8848eb88","line":707,"updated":"2015-11-10 09:17:15.000000000","message":"ditto\n\ns/Port/port\n\n\u0027Port number \"%s\" is out of range. Valid port numbers must be between 1 and 65535\u0027","commit_id":"af716665d0295b61959b4c8fb009e5d53556ad3a"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"160e37b2bb7a3f9a653d5747164455ff70e3db07","unresolved":false,"context_lines":[{"line_number":704,"context_line":"            \"The Port is not an integer.\"))"},{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65536:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \"The Port is not a valid number.\"))"},{"line_number":708,"context_line":"    return port"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_abefe985","line":707,"in_reply_to":"da85f559_8848eb88","updated":"2015-11-10 09:34:07.000000000","message":"Done","commit_id":"af716665d0295b61959b4c8fb009e5d53556ad3a"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"dd4b36d4d195768d09ef1cbbec52212e888b4c78","unresolved":false,"context_lines":[{"line_number":693,"context_line":"def validate_network_port(port):"},{"line_number":694,"context_line":"    \"\"\"Validates the given port."},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"    :param port: TCP/UDP port."},{"line_number":697,"context_line":"    :raises: InvalidParameterValue, if the port is invalid."},{"line_number":698,"context_line":"    \"\"\""},{"line_number":699,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_9ebeb363","line":696,"updated":"2015-11-11 05:40:32.000000000","message":"It\u0027s better to add :returns: parameter","commit_id":"e905d7fa618d8fecb9005a6b4169f0dd4f700979"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"de728da15815e77fe5389f33af1c005f2a550c9e","unresolved":false,"context_lines":[{"line_number":693,"context_line":"def validate_network_port(port):"},{"line_number":694,"context_line":"    \"\"\"Validates the given port."},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"    :param port: TCP/UDP port."},{"line_number":697,"context_line":"    :raises: InvalidParameterValue, if the port is invalid."},{"line_number":698,"context_line":"    \"\"\""},{"line_number":699,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_04ba720a","line":696,"in_reply_to":"da85f559_9ebeb363","updated":"2015-11-11 06:31:29.000000000","message":"thanks Tan, will add this in the following patch which try to add validation to all other ports.","commit_id":"e905d7fa618d8fecb9005a6b4169f0dd4f700979"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"dd4b36d4d195768d09ef1cbbec52212e888b4c78","unresolved":false,"context_lines":[{"line_number":701,"context_line":"        port \u003d int(port)"},{"line_number":702,"context_line":"    except ValueError:"},{"line_number":703,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":704,"context_line":"            \u0027Port number \"%s\" is not a valid integer.\u0027) % port)"},{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65535:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \u0027Port number \"%s\" is out of range. Valid port \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_be1ff76a","line":704,"updated":"2015-11-11 05:40:32.000000000","message":"Do you think the previously log was more accurate:\n IPMI/seamicro Terminal Port ...","commit_id":"e905d7fa618d8fecb9005a6b4169f0dd4f700979"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"de728da15815e77fe5389f33af1c005f2a550c9e","unresolved":false,"context_lines":[{"line_number":701,"context_line":"        port \u003d int(port)"},{"line_number":702,"context_line":"    except ValueError:"},{"line_number":703,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":704,"context_line":"            \u0027Port number \"%s\" is not a valid integer.\u0027) % port)"},{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65535:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \u0027Port number \"%s\" is out of range. Valid port \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_0447d24b","line":704,"in_reply_to":"da85f559_be1ff76a","updated":"2015-11-11 06:31:29.000000000","message":"Tan, This is a common tcp/udp port validation method, I don\u0027t want to specify the message to IPMI/Seamicro in case of reused in future.","commit_id":"e905d7fa618d8fecb9005a6b4169f0dd4f700979"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"dd4b36d4d195768d09ef1cbbec52212e888b4c78","unresolved":false,"context_lines":[{"line_number":702,"context_line":"    except ValueError:"},{"line_number":703,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":704,"context_line":"            \u0027Port number \"%s\" is not a valid integer.\u0027) % port)"},{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65535:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \u0027Port number \"%s\" is out of range. Valid port \u0027"},{"line_number":708,"context_line":"            \u0027numbers must be between 1 and 65535.\u0027) % port)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_18309be7","line":705,"updated":"2015-11-11 05:40:32.000000000","message":"What about:\n if not  1\u003c\u003d port \u003c\u003d65535","commit_id":"e905d7fa618d8fecb9005a6b4169f0dd4f700979"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"de728da15815e77fe5389f33af1c005f2a550c9e","unresolved":false,"context_lines":[{"line_number":702,"context_line":"    except ValueError:"},{"line_number":703,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":704,"context_line":"            \u0027Port number \"%s\" is not a valid integer.\u0027) % port)"},{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65535:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \u0027Port number \"%s\" is out of range. Valid port \u0027"},{"line_number":708,"context_line":"            \u0027numbers must be between 1 and 65535.\u0027) % port)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_e4b72e38","line":705,"in_reply_to":"da85f559_18309be7","updated":"2015-11-11 06:31:29.000000000","message":"what\u0027s the difference of that?","commit_id":"e905d7fa618d8fecb9005a6b4169f0dd4f700979"},{"author":{"_account_id":16986,"name":"Shuquan Huang","email":"shuquan.huang@live.com","username":"shuquan"},"change_message_id":"1a2e335c45745118feeecbb4322f2c6f2f24cda7","unresolved":false,"context_lines":[{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65535:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \u0027Port number \"%s\" is out of range. Valid port \u0027"},{"line_number":708,"context_line":"            \u0027numbers must be between 1 and 65535.\u0027) % port)"},{"line_number":709,"context_line":"    return port"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_d64528b3","line":708,"updated":"2015-11-10 14:08:08.000000000","message":"s/numbers/number","commit_id":"e905d7fa618d8fecb9005a6b4169f0dd4f700979"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"de728da15815e77fe5389f33af1c005f2a550c9e","unresolved":false,"context_lines":[{"line_number":705,"context_line":"    if port \u003c 1 or port \u003e 65535:"},{"line_number":706,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":707,"context_line":"            \u0027Port number \"%s\" is out of range. Valid port \u0027"},{"line_number":708,"context_line":"            \u0027numbers must be between 1 and 65535.\u0027) % port)"},{"line_number":709,"context_line":"    return port"}],"source_content_type":"text/x-python","patch_set":4,"id":"da85f559_04683286","line":708,"in_reply_to":"da85f559_d64528b3","updated":"2015-11-11 06:31:29.000000000","message":"Thanks Shuquan, but seems Valid port numbers is ok here.","commit_id":"e905d7fa618d8fecb9005a6b4169f0dd4f700979"}],"ironic/drivers/modules/console_utils.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"564239245393302ce1c79785a48fcad9112f7335","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    except ValueError:"},{"line_number":280,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":281,"context_line":"            \"Console port is not an integer.\"))"},{"line_number":282,"context_line":"    if port not in range(1, 65536):"},{"line_number":283,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":284,"context_line":"            \"Console port is not a valid number.\"))"},{"line_number":285,"context_line":"    return port"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_ec29958a","line":282,"updated":"2015-11-10 02:15:16.000000000","message":"This seems inefficient.\n\nIt creates an array of 65,536 elements each time to see if the port is inside the range.\n\nHow about:\n\n if port \u003c 1 or port \u003e 65536:","commit_id":"108568e00deddb06cca46880524323e640283c4b"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"1e14e9822086de77a9031ae58453fe910d293811","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    except ValueError:"},{"line_number":280,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":281,"context_line":"            \"Console port is not an integer.\"))"},{"line_number":282,"context_line":"    if port not in range(1, 65536):"},{"line_number":283,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":284,"context_line":"            \"Console port is not a valid number.\"))"},{"line_number":285,"context_line":"    return port"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_acb70df4","line":282,"in_reply_to":"da85f559_ec29958a","updated":"2015-11-10 02:35:20.000000000","message":"thanks John for the suggestion. will update in the coming patch set.","commit_id":"108568e00deddb06cca46880524323e640283c4b"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"fdaf2a3355dbf142626ce5700d98e9ed1a8025dd","unresolved":false,"context_lines":[{"line_number":267,"context_line":"            raise exception.ConsoleError(message\u003dmsg)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"def validate_console_port(port):"},{"line_number":271,"context_line":"    \"\"\"Validates the given console port."},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    :param port: console port."}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_e0f679f8","line":270,"updated":"2015-11-10 03:01:35.000000000","message":"I understand this is common logic to check if tcp/udp port is in valid range 1-65536, not special for console port, so can we move this to common util, so that we can call this common validation logic from anywhere? Make sense?","commit_id":"3bd0f4fc318a2d0d0c2e11726dd388a03371c2dd"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"119aad70d46599637c4d168e173872aba77488a9","unresolved":false,"context_lines":[{"line_number":267,"context_line":"            raise exception.ConsoleError(message\u003dmsg)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"def validate_console_port(port):"},{"line_number":271,"context_line":"    \"\"\"Validates the given console port."},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    :param port: console port."}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_a050715f","line":270,"in_reply_to":"da85f559_00bb7de6","updated":"2015-11-10 03:30:05.000000000","message":"Yes, thanks Zhenguo!","commit_id":"3bd0f4fc318a2d0d0c2e11726dd388a03371c2dd"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"6478038761b8c7599ac98c66883bbcd723304833","unresolved":false,"context_lines":[{"line_number":267,"context_line":"            raise exception.ConsoleError(message\u003dmsg)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"def validate_console_port(port):"},{"line_number":271,"context_line":"    \"\"\"Validates the given console port."},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    :param port: console port."}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_00bb7de6","line":270,"in_reply_to":"da85f559_60ba890c","updated":"2015-11-10 03:11:31.000000000","message":"thanks Haomeng and John for the suggestions, will move this to common.utils, and as it\u0027s a common tcp/udp port validate method, I think we can just show general port messages like \u0027The port is not an integer\u0027 or \u0027The port is not a valid number\u0027, make sense?","commit_id":"3bd0f4fc318a2d0d0c2e11726dd388a03371c2dd"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"55a275cd053ac4edbbb351736fb08e5129ac2c31","unresolved":false,"context_lines":[{"line_number":267,"context_line":"            raise exception.ConsoleError(message\u003dmsg)"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"def validate_console_port(port):"},{"line_number":271,"context_line":"    \"\"\"Validates the given console port."},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    :param port: console port."}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_60ba890c","line":270,"in_reply_to":"da85f559_e0f679f8","updated":"2015-11-10 03:05:29.000000000","message":"ironic.common.utils would be a good place for this.\n\nMaybe: validate_network_port()\n\nWhat about a \u0027message\u0027 parameter that would be displayed on failure? In case the caller would like to customize the message. And also be able to retain the messages as they were previously.","commit_id":"3bd0f4fc318a2d0d0c2e11726dd388a03371c2dd"}],"ironic/tests/unit/common/test_utils.py":[{"author":{"_account_id":14810,"name":"Kan","email":"sofaopenstack@gmail.com","username":"Kan"},"change_message_id":"811ececfadd04a2acf2e386643c11e93b3a8c81b","unresolved":false,"context_lines":[{"line_number":695,"context_line":"    def test_validate_network_port_fail(self):"},{"line_number":696,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"},{"line_number":697,"context_line":"                          utils.validate_network_port,"},{"line_number":698,"context_line":"                          \u002765537\u0027)"},{"line_number":699,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"},{"line_number":700,"context_line":"                          utils.validate_network_port,"},{"line_number":701,"context_line":"                          \u0027invalid\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_e5776238","line":698,"updated":"2015-11-10 09:00:09.000000000","message":"nit: As here checking the boundary conditions of \u003e65535, maybe it is more reasonable to add a \u003c1 check.","commit_id":"af716665d0295b61959b4c8fb009e5d53556ad3a"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"5562869f5fae94415f3c54477bdc655794d7f2a0","unresolved":false,"context_lines":[{"line_number":695,"context_line":"    def test_validate_network_port_fail(self):"},{"line_number":696,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"},{"line_number":697,"context_line":"                          utils.validate_network_port,"},{"line_number":698,"context_line":"                          \u002765537\u0027)"},{"line_number":699,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"},{"line_number":700,"context_line":"                          utils.validate_network_port,"},{"line_number":701,"context_line":"                          \u0027invalid\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_e859775b","line":698,"in_reply_to":"da85f559_e5776238","updated":"2015-11-10 09:17:15.000000000","message":"++","commit_id":"af716665d0295b61959b4c8fb009e5d53556ad3a"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"160e37b2bb7a3f9a653d5747164455ff70e3db07","unresolved":false,"context_lines":[{"line_number":695,"context_line":"    def test_validate_network_port_fail(self):"},{"line_number":696,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"},{"line_number":697,"context_line":"                          utils.validate_network_port,"},{"line_number":698,"context_line":"                          \u002765537\u0027)"},{"line_number":699,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"},{"line_number":700,"context_line":"                          utils.validate_network_port,"},{"line_number":701,"context_line":"                          \u0027invalid\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_8bec6590","line":698,"in_reply_to":"da85f559_e859775b","updated":"2015-11-10 09:34:07.000000000","message":"Done","commit_id":"af716665d0295b61959b4c8fb009e5d53556ad3a"}],"ironic/tests/unit/drivers/modules/test_console_utils.py":[{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"b5bd5bf3ba2e8c6684e9f83e27858f58b8a27242","unresolved":false,"context_lines":[{"line_number":348,"context_line":"        mock_stop.assert_called_once_with(self.info[\u0027uuid\u0027])"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def test_validate_console_port(self):"},{"line_number":351,"context_line":"        console_utils.validate_console_port(\u00271\u0027)"},{"line_number":352,"context_line":"        console_utils.validate_console_port(\u002765536\u0027)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def test_validate_console_port_fail(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_ac3e2dd8","line":351,"updated":"2015-11-10 02:53:59.000000000","message":"nit: should we check the return value to see if it is expected value \u00271\u0027 or not?","commit_id":"3bd0f4fc318a2d0d0c2e11726dd388a03371c2dd"},{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"b5bd5bf3ba2e8c6684e9f83e27858f58b8a27242","unresolved":false,"context_lines":[{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def test_validate_console_port(self):"},{"line_number":351,"context_line":"        console_utils.validate_console_port(\u00271\u0027)"},{"line_number":352,"context_line":"        console_utils.validate_console_port(\u002765536\u0027)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def test_validate_console_port_fail(self):"},{"line_number":355,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_cc185187","line":352,"updated":"2015-11-10 02:53:59.000000000","message":"nit: should we check the return value to see if it is expected value \u002765536\u0027 or not?","commit_id":"3bd0f4fc318a2d0d0c2e11726dd388a03371c2dd"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"55a275cd053ac4edbbb351736fb08e5129ac2c31","unresolved":false,"context_lines":[{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def test_validate_console_port(self):"},{"line_number":351,"context_line":"        console_utils.validate_console_port(\u00271\u0027)"},{"line_number":352,"context_line":"        console_utils.validate_console_port(\u002765536\u0027)"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    def test_validate_console_port_fail(self):"},{"line_number":355,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_20d48145","line":352,"in_reply_to":"da85f559_cc185187","updated":"2015-11-10 03:05:29.000000000","message":"I agree","commit_id":"3bd0f4fc318a2d0d0c2e11726dd388a03371c2dd"}]}
