)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c76198960f10dc19656c62841f2e26b817215b77","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Select service_provider on the basis of service_module"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In case of service_provider, selection according to service_module is"},{"line_number":10,"context_line":"necessary. Currently there is no filtering logic, so if there are two"},{"line_number":11,"context_line":"or more service plugins using service_provider, there is a duplicate"},{"line_number":12,"context_line":"service_provider."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f6a8fd7_36d011ca","line":10,"range":{"start_line":10,"start_character":27,"end_line":10,"end_character":29},"updated":"2018-04-16 07:47:00.000000000","message":"\"was\" to be strict IMHO :)","commit_id":"00ad60c19de337f6440da1859e1619af34c5a800"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a1e9c16840f43a61928eefef7da5145b8705afb6","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"A new test case added in test_get_service_providers() which does not"},{"line_number":25,"context_line":"have any filter options. Without this patch, this test case would be"},{"line_number":26,"context_line":"failed having duplicated results."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Change-Id: I6ad9897dd174b45c7f2315699d25d38d4c060abc"},{"line_number":29,"context_line":"Closes-Bug: #1763627"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f6a8fd7_bc394442","line":26,"updated":"2018-04-17 07:13:15.000000000","message":"I tested Your patch and UT locally and it looks that test_get_service_providers test is passing with and without Your change. See: http://paste.openstack.org/show/719342/\n\nI forgot show exact diff in pastebin, so here it is:\n\ndiff --git a/neutron/services/provider_configuration.py b/neutron/services/provider_configuration.py\nindex ac30ed2653..6fe56d3665 100644\n--- a/neutron/services/provider_configuration.py\n+++ b/neutron/services/provider_configuration.py\n@@ -175,9 +175,9 @@ def parse_service_provider_opt(service_module\u003d\u0027neutron\u0027):\n         split \u003d prov_def.split(\u0027:\u0027)\n         try:\n             svc_type, name, driver \u003d split[:3]\n-            mod \u003d driver.split(\u0027.\u0027)[0]\n-            if mod !\u003d service_module:\n-                continue\n+           #mod \u003d driver.split(\u0027.\u0027)[0]\n+           #if mod !\u003d service_module:\n+           #    continue\n         except ValueError:\n             raise n_exc.Invalid(_(\"Invalid service provider format\"))\n         validate_name(name)","commit_id":"f22ac35ee04183d7fe7481ac6539212e1ef33b0b"}],"neutron/services/l3_router/service_providers/driver_controller.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7f99c8a2cb1089fb25b851e9637ab8df12c01420","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        # If an operator has setup explicit values that conflict with these,"},{"line_number":209,"context_line":"        # the operator defined values will take priority."},{"line_number":210,"context_line":"        super(_LegacyPlusProviderConfiguration, self).__init__("},{"line_number":211,"context_line":"            svc_type\u003dplugin_constants.L3)"},{"line_number":212,"context_line":"        for name, driver in ((\u0027dvrha\u0027, \u0027dvrha.DvrHaDriver\u0027),"},{"line_number":213,"context_line":"                             (\u0027dvr\u0027, \u0027dvr.DvrDriver\u0027), (\u0027ha\u0027, \u0027ha.HaDriver\u0027),"},{"line_number":214,"context_line":"                             (\u0027single_node\u0027, \u0027single_node.SingleNodeDriver\u0027)):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f6a8fd7_3ad242d2","line":211,"range":{"start_line":211,"start_character":12,"end_line":211,"end_character":41},"updated":"2018-04-26 07:19:16.000000000","message":"nit: please align it to \"_LegacyPlus...\" from line above","commit_id":"ed1090f58176e9bc7dad3c7872dcaa0cc79d5656"},{"author":{"_account_id":26970,"name":"Yang Youseok","email":"ileixe@gmail.com","username":"ileixe"},"change_message_id":"6d2d713ad0a162382449d0d035fc388018528646","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        # If an operator has setup explicit values that conflict with these,"},{"line_number":209,"context_line":"        # the operator defined values will take priority."},{"line_number":210,"context_line":"        super(_LegacyPlusProviderConfiguration, self).__init__("},{"line_number":211,"context_line":"            svc_type\u003dplugin_constants.L3)"},{"line_number":212,"context_line":"        for name, driver in ((\u0027dvrha\u0027, \u0027dvrha.DvrHaDriver\u0027),"},{"line_number":213,"context_line":"                             (\u0027dvr\u0027, \u0027dvr.DvrDriver\u0027), (\u0027ha\u0027, \u0027ha.HaDriver\u0027),"},{"line_number":214,"context_line":"                             (\u0027single_node\u0027, \u0027single_node.SingleNodeDriver\u0027)):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f6a8fd7_3547b579","line":211,"range":{"start_line":211,"start_character":12,"end_line":211,"end_character":41},"in_reply_to":"9f6a8fd7_3ad242d2","updated":"2018-04-26 08:30:42.000000000","message":"Thanks, fixed.","commit_id":"ed1090f58176e9bc7dad3c7872dcaa0cc79d5656"}],"neutron/services/provider_configuration.py":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"e54a2ecf26a1d50ba1bfa69eeb84232b69dae509","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            svc_type, name, driver \u003d split[:3]"},{"line_number":178,"context_line":"            mod \u003d driver.split(\u0027.\u0027)[0]"},{"line_number":179,"context_line":"            if mod !\u003d service_module:"},{"line_number":180,"context_line":"                continue"},{"line_number":181,"context_line":"        except ValueError:"},{"line_number":182,"context_line":"            raise n_exc.Invalid(_(\"Invalid service provider format\"))"},{"line_number":183,"context_line":"        validate_name(name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f6a8fd7_0809052b","line":180,"updated":"2018-04-17 12:17:38.000000000","message":"a driver can belong to a different module from the service plugin.\neg. networking-midonet repo has a driver for lbaas.\ndoesn\u0027t this change break such a configuration?","commit_id":"abfe68a4508688d8f0e325e3a4a1cc3c7c866e45"}]}
