)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":13438,"name":"Kobi Samoray","email":"kobi.samoray@broadcom.com","username":"ksamoray"},"change_message_id":"f2059ba37afd2434c98e85e17e032faec1324f7c","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-06-01 15:26:05 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"validate the subnet id for create loadbalancer and member"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id7d62570f7b91eeea5ad285694122ec2a20dd2a6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9abb7d3a_bd0774c8","line":8,"updated":"2016-06-02 06:31:47.000000000","message":"Should add Closes-Bug: #1453484 and a description to the commit message","commit_id":"7c840fbdcf00c9aafe33568ac5dec3f8965135e7"}],"octavia/common/validate.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"38af1f2e3a34b9c67d73a09b2bb69b17b3e49ce4","unresolved":false,"context_lines":[{"line_number":213,"context_line":"        name\u003dCONF.controller_worker.network_driver,"},{"line_number":214,"context_line":"        invoke_on_load\u003dTrue"},{"line_number":215,"context_line":"    ).driver"},{"line_number":216,"context_line":"    return network_driver"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"def validate_subnet(subnet_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_2fc0e54f","line":216,"updated":"2016-05-25 21:49:45.000000000","message":"This method probably shouldn\u0027t be in a validate.py method, but in another module named utils or something generic where we can put all the driver loading logic for all components.","commit_id":"6c2c6ca7a5ee9fd50062c6d006550d1a1f9d1b05"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"323ad2a310a75d98a2df132d864610f3df0c4e42","unresolved":false,"context_lines":[{"line_number":207,"context_line":"    return l7policy"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"def get_network_driver():"},{"line_number":211,"context_line":"    network_driver \u003d stevedore_driver.DriverManager("},{"line_number":212,"context_line":"        namespace\u003d\u0027octavia.network.drivers\u0027,"},{"line_number":213,"context_line":"        name\u003dCONF.controller_worker.network_driver,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_6a09962c","line":210,"range":{"start_line":210,"start_character":4,"end_line":210,"end_character":22},"updated":"2016-05-27 21:54:33.000000000","message":"I somewhat agree with Brandon that if a driver needs to be loaded, it should be done in a separate utility file. After all, what does \u0027validate.get_network_driver\u0027 actually mean?","commit_id":"6dd6d1bd87a34dc1399177ed8a36034089b807ef"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"323ad2a310a75d98a2df132d864610f3df0c4e42","unresolved":false,"context_lines":[{"line_number":216,"context_line":"    return network_driver"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"def validate_subnet(subnet_id):"},{"line_number":220,"context_line":"    network_driver \u003d get_network_driver()"},{"line_number":221,"context_line":"    # Throws an exception when trying to get a subnet which"},{"line_number":222,"context_line":"    # does not exist."}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_2a266eba","line":219,"range":{"start_line":219,"start_character":19,"end_line":219,"end_character":20},"updated":"2016-05-27 21:54:33.000000000","message":"Given the naming convention of other methods in this file, this should probably be \"def subnet_exists\" so that when it\u0027s called elsewhere in the code you call \"validate.subnet_exists\" which is self-explanatory, instead of \"validate.validate_subnet\" which is redundant and a little confusing.","commit_id":"6dd6d1bd87a34dc1399177ed8a36034089b807ef"}],"octavia/tests/functional/api/v1/test_load_balancer.py":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"323ad2a310a75d98a2df132d864610f3df0c4e42","unresolved":false,"context_lines":[{"line_number":682,"context_line":"        api_lb \u003d response.json"},{"line_number":683,"context_line":"        self._assert_graphs_equal(expected_lb, api_lb)"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"    def test_create_with_subnet(self, **optionals):"},{"line_number":686,"context_line":"        with patch(\u0027octavia.common.validate.get_network_driver\u0027) as net_mock:"},{"line_number":687,"context_line":"            net_mock.return_value.get_subnet \u003d \\"},{"line_number":688,"context_line":"                mock.Mock(side_effect \u003d network_base."}],"source_content_type":"text/x-python","patch_set":3,"id":"9abb7d3a_17363303","line":685,"range":{"start_line":685,"start_character":8,"end_line":685,"end_character":31},"updated":"2016-05-27 21:54:33.000000000","message":"Better name for this would be test_create_with_bad_subnet, since this is ultimately a failure test. Should probably add a similar test which mocks the same get_network_driver method which is a test_create_with_valid_subnet, which should of course pass the validation.","commit_id":"6dd6d1bd87a34dc1399177ed8a36034089b807ef"}]}
