)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"d7108d8ce22d5fd3533a651dfca689ae4227f485","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    https://review.openstack.org/#/c/312705/"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"In order to convert update_network() and create/update/delete_port()"},{"line_number":15,"context_line":"methods access to the plugin and plugin context is required."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I695cf51dedcc4f78464044c12c4064fad7c0b746"},{"line_number":18,"context_line":"Partial-Bug: #1578198"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_7369b38b","line":15,"range":{"start_line":15,"start_character":22,"end_line":15,"end_character":47},"updated":"2016-05-06 02:53:09.000000000","message":"Hi John, how will these be used?  Is it for the QoS support?","commit_id":"6280c1f328aa282f15188ed499b628dc4e1fd7ca"},{"author":{"_account_id":9970,"name":"John Kasperski","email":"jckasper@linux.vnet.ibm.com","username":"jckasper"},"change_message_id":"3b66136f4909ccb01c2981ae2fcb76fb8057b2f9","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    https://review.openstack.org/#/c/312705/"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"In order to convert update_network() and create/update/delete_port()"},{"line_number":15,"context_line":"methods access to the plugin and plugin context is required."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I695cf51dedcc4f78464044c12c4064fad7c0b746"},{"line_number":18,"context_line":"Partial-Bug: #1578198"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dab17558_9c41b63c","line":15,"range":{"start_line":15,"start_character":22,"end_line":15,"end_character":47},"in_reply_to":"dab17558_7369b38b","updated":"2016-05-06 11:51:51.000000000","message":"The QoS logic in update_network() and a majority of the logic in create/update/delete_port() will require these two values.","commit_id":"6280c1f328aa282f15188ed499b628dc4e1fd7ca"}],"neutron/plugins/ml2/driver_api.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"223c0b4a4ff00cc6630c2dec0c26788ad75efac4","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @abc.abstractproperty"},{"line_number":171,"context_line":"    def plugin(self):"},{"line_number":172,"context_line":"        \"\"\"Returns the ML2 plugin"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        Return access to the ML2 plugin object. Mechanism drivers"},{"line_number":175,"context_line":"        should not invoke any methods of the ML2 plugin unless absolutely"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_9aa59fa3","line":172,"range":{"start_line":172,"start_character":27,"end_line":172,"end_character":33},"updated":"2016-05-10 20:55:02.000000000","message":"This seems unnecessary to me. We already have a well established pattern all over the place of using the neutron manager to get a reference to the core plugin. I would rather encourage that.","commit_id":"1e2d67adc66aed6d54e7483ac288d91b3c32dcab"},{"author":{"_account_id":9970,"name":"John Kasperski","email":"jckasper@linux.vnet.ibm.com","username":"jckasper"},"change_message_id":"7241741fc7ac3f374d1ecd95b74d1e3cfcab5af1","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @abc.abstractproperty"},{"line_number":171,"context_line":"    def plugin(self):"},{"line_number":172,"context_line":"        \"\"\"Returns the ML2 plugin"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        Return access to the ML2 plugin object. Mechanism drivers"},{"line_number":175,"context_line":"        should not invoke any methods of the ML2 plugin unless absolutely"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_f905d079","line":172,"range":{"start_line":172,"start_character":27,"end_line":172,"end_character":33},"in_reply_to":"dab17558_197ff466","updated":"2016-05-11 02:59:08.000000000","message":"Nevermind.  I found an example.","commit_id":"1e2d67adc66aed6d54e7483ac288d91b3c32dcab"},{"author":{"_account_id":9970,"name":"John Kasperski","email":"jckasper@linux.vnet.ibm.com","username":"jckasper"},"change_message_id":"e6fe6ba890d523e24ab3424810f64cca1f3beed4","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @abc.abstractproperty"},{"line_number":171,"context_line":"    def plugin(self):"},{"line_number":172,"context_line":"        \"\"\"Returns the ML2 plugin"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        Return access to the ML2 plugin object. Mechanism drivers"},{"line_number":175,"context_line":"        should not invoke any methods of the ML2 plugin unless absolutely"}],"source_content_type":"text/x-python","patch_set":3,"id":"dab17558_197ff466","line":172,"range":{"start_line":172,"start_character":27,"end_line":172,"end_character":33},"in_reply_to":"dab17558_9aa59fa3","updated":"2016-05-11 02:40:22.000000000","message":"Can you point me to an example of where that is done?   That sounds like it might be a better alternative than this change.","commit_id":"1e2d67adc66aed6d54e7483ac288d91b3c32dcab"}]}
