)]}'
{"ironic/common/utils.py":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"93c59923037fde59ab4382adabaf333564b15478","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, port_name\u003dNone):"},{"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":"ba8a016a_fa2f0f3c","line":693,"updated":"2015-11-17 14:49:21.000000000","message":"nit: strings are immutable in Python, you can use port_name\u003d\"Port\" here and remove l701-702","commit_id":"7ac289812b2075f20e9bc74fc794a44bff256af0"}],"ironic/drivers/modules/drac/common.py":[{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"61fadf1a5b7784a084c1586a713568631b55b832","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        error_msgs.append(_(\"\u0027drac_protocol\u0027 contains non-ASCII symbol.\"))"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    port \u003d parsed_driver_info[\u0027drac_port\u0027]"},{"line_number":81,"context_line":"    parsed_driver_info[\u0027drac_port\u0027] \u003d utils.validate_network_port(port)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    if error_msgs:"},{"line_number":84,"context_line":"        msg \u003d (_(\u0027The following errors were encountered while parsing \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_0cf1dd6a","line":81,"updated":"2015-11-12 15:45:13.000000000","message":"So new version fails with msg \"Port number is not a valid integer... or out the range...\",\nimo more specific port name like in old version \u0027drac_port\u0027 would be better.\n\nAlso if there are a couple error arise, e.g.  UnicodeEncodeError and wrong port, first one would be lost since InvalidParameterValue is raised from validate_network_port()","commit_id":"ceae7fc1a3dfcc785b5202f0d1def9c522846610"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"38d1fd6c66406a9b2a496a473bd2bf94262add41","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        error_msgs.append(_(\"\u0027drac_protocol\u0027 contains non-ASCII symbol.\"))"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    port \u003d parsed_driver_info[\u0027drac_port\u0027]"},{"line_number":81,"context_line":"    parsed_driver_info[\u0027drac_port\u0027] \u003d utils.validate_network_port(port)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    if error_msgs:"},{"line_number":84,"context_line":"        msg \u003d (_(\u0027The following errors were encountered while parsing \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_e2f1e602","line":81,"in_reply_to":"da85f559_0cf1dd6a","updated":"2015-11-13 03:18:09.000000000","message":"agree, it is better to pass a short msg to enrich the log","commit_id":"ceae7fc1a3dfcc785b5202f0d1def9c522846610"}],"ironic/tests/unit/common/test_utils.py":[{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"b37afc044c0578d27d70f40a2934eabe50f74061","unresolved":false,"context_lines":[{"line_number":687,"context_line":"        self.assertIsInstance(cap_returned, str)"},{"line_number":688,"context_line":""},{"line_number":689,"context_line":"    def test_validate_network_port(self):"},{"line_number":690,"context_line":"        port \u003d utils.validate_network_port(\u00271\u0027, \u0027message\u0027)"},{"line_number":691,"context_line":"        self.assertEqual(1, port)"},{"line_number":692,"context_line":"        port \u003d utils.validate_network_port(\u002765535\u0027)"},{"line_number":693,"context_line":"        self.assertEqual(65535, port)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_455aee51","line":690,"updated":"2015-11-16 05:55:11.000000000","message":"What about test the port_name in the log below to be more explicit?","commit_id":"c2b3f412512e08a870d4ad03880d8fc014bc5c17"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"b37afc044c0578d27d70f40a2934eabe50f74061","unresolved":false,"context_lines":[{"line_number":697,"context_line":"                          utils.validate_network_port,"},{"line_number":698,"context_line":"                          \u002765536\u0027)"},{"line_number":699,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"},{"line_number":700,"context_line":"                          utils.validate_network_port,"},{"line_number":701,"context_line":"                          \u0027-1\u0027)"},{"line_number":702,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"},{"line_number":703,"context_line":"                          utils.validate_network_port,"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_656db203","line":700,"updated":"2015-11-16 05:55:11.000000000","message":"port_name\u003dfake_port:\n  self.assertRaisesRegexp(exception.InvalidParameterValue, \"^fake_port.*\", utils.validate_network_port, \u0027-1\u0027, \u0027fake_port\u0027)","commit_id":"c2b3f412512e08a870d4ad03880d8fc014bc5c17"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"b37afc044c0578d27d70f40a2934eabe50f74061","unresolved":false,"context_lines":[{"line_number":700,"context_line":"                          utils.validate_network_port,"},{"line_number":701,"context_line":"                          \u0027-1\u0027)"},{"line_number":702,"context_line":"        self.assertRaises(exception.InvalidParameterValue,"},{"line_number":703,"context_line":"                          utils.validate_network_port,"},{"line_number":704,"context_line":"                          \u0027invalid\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da85f559_4573cee7","line":703,"updated":"2015-11-16 05:55:11.000000000","message":"port_name is None:\n  self.assertRaisesRegexp(exception.InvalidParameterValue, \"^Port.*\", utils.validate_network_port, \u0027invalid\u0027)","commit_id":"c2b3f412512e08a870d4ad03880d8fc014bc5c17"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"c25ff3db6efe41ea44b62e4bb107f850627fd4da","unresolved":false,"context_lines":[{"line_number":694,"context_line":""},{"line_number":695,"context_line":"    def test_validate_network_port_fail(self):"},{"line_number":696,"context_line":"        self.assertRaisesRegexp(exception.InvalidParameterValue,"},{"line_number":697,"context_line":"                                \u0027Port \"65536\" is out of range.\u0027,"},{"line_number":698,"context_line":"                                utils.validate_network_port,"},{"line_number":699,"context_line":"                                \u002765536\u0027)"},{"line_number":700,"context_line":"        self.assertRaisesRegexp(exception.InvalidParameterValue,"}],"source_content_type":"text/x-python","patch_set":3,"id":"da85f559_b9a183ab","line":697,"updated":"2015-11-16 08:22:10.000000000","message":"hmmm, I know people are hate the exact log match, use an elaborate regular regexp should better. But yours are not bad.","commit_id":"7ac289812b2075f20e9bc74fc794a44bff256af0"}],"ironic/tests/unit/drivers/modules/ilo/test_common.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"201bc8c2d5fbee1a24f6e400528bce9efa96c8ca","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_parse_driver_info_invalid_multiple_params(self):"},{"line_number":105,"context_line":"        self.node.driver_info[\u0027client_timeout\u0027] \u003d \u0027qwe\u0027"},{"line_number":106,"context_line":"        self.node.driver_info[\u0027console_port\u0027] \u003d \u0027not-int\u0027"},{"line_number":107,"context_line":"        try:"},{"line_number":108,"context_line":"            ilo_common.parse_driver_info(self.node)"},{"line_number":109,"context_line":"            self.fail(\"parse_driver_info did not throw exception.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_eff06800","side":"PARENT","line":106,"updated":"2015-11-18 17:21:52.000000000","message":"Need to add a testcase for invalid console port as well.","commit_id":"7e5f6788780b51eaaf5c6dbdac1826be721cff39"},{"author":{"_account_id":6610,"name":"Zhenguo Niu","email":"Niu.ZGlinux@gmail.com","username":"niu-zglinux"},"change_message_id":"1f4811ea85de05991b8cf05aa375347531ac5c3a","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def test_parse_driver_info_invalid_multiple_params(self):"},{"line_number":105,"context_line":"        self.node.driver_info[\u0027client_timeout\u0027] \u003d \u0027qwe\u0027"},{"line_number":106,"context_line":"        self.node.driver_info[\u0027console_port\u0027] \u003d \u0027not-int\u0027"},{"line_number":107,"context_line":"        try:"},{"line_number":108,"context_line":"            ilo_common.parse_driver_info(self.node)"},{"line_number":109,"context_line":"            self.fail(\"parse_driver_info did not throw exception.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba8a016a_d237354b","side":"PARENT","line":106,"in_reply_to":"ba8a016a_eff06800","updated":"2015-11-19 01:25:30.000000000","message":"thanks, will add console port tests in test_driver_info_invalid_port at L89.","commit_id":"7e5f6788780b51eaaf5c6dbdac1826be721cff39"}]}
