)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"dd63c006ace9cbbf995ba9db29876701a6b154d8","unresolved":false,"context_lines":[{"line_number":10,"context_line":"unit tests handling bulk operations were skipped."},{"line_number":11,"context_line":"Added a fix for chains bulk create"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-bug: 1237412"},{"line_number":14,"context_line":"Change-Id: I46ea0e4c2668e59ca787ae9e68fb8bf660312712"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAT3%2F%2FqSI%3D","line":13,"updated":"2014-01-03 23:25:47.000000000","message":"For some reason, this doesn\u0027t link right in gerrit.","commit_id":"d3f74d993129f3d3c851a78a3ce592eba5e81595"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"0b03a1f950782686b6056f34f20fa0bbaae0573d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"unit tests handling bulk operations were skipped."},{"line_number":11,"context_line":"Added a fix for chains bulk create"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-bug: 1237412"},{"line_number":14,"context_line":"Change-Id: I46ea0e4c2668e59ca787ae9e68fb8bf660312712"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAUH%2F%2F39E%3D","line":13,"in_reply_to":"AAAAT3%2F%2FqSI%3D","updated":"2014-01-07 11:17:46.000000000","message":"Hi Carl, it works for me. Any suggestion?","commit_id":"d3f74d993129f3d3c851a78a3ce592eba5e81595"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"c4c8e0e6820699b8cdd6e0cda4f3e30a736f6938","unresolved":false,"context_lines":[{"line_number":10,"context_line":"unit tests handling bulk operations were skipped."},{"line_number":11,"context_line":"Added a fix for chains bulk create"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-bug: 1237412"},{"line_number":14,"context_line":"Change-Id: I46ea0e4c2668e59ca787ae9e68fb8bf660312712"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAUH%2F%2F2W4%3D","line":13,"in_reply_to":"AAAAUH%2F%2F39E%3D","updated":"2014-01-07 17:44:16.000000000","message":"Weird.  It works for me today.  On the 3rd when I made the comment above the link was sending me to a non-existent gerrit review number 1237412 within the gerrit system.  Not to launchpad.\n\nMaybe something changed in gerrit?  Maybe a fluke?  I don\u0027t know.  In any case, it works now so there is nothing to do.","commit_id":"d3f74d993129f3d3c851a78a3ce592eba5e81595"}],"neutron/plugins/midonet/plugin.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"434f00aa6033829f124056cc1457bedd27ab847c","unresolved":false,"context_lines":[{"line_number":1182,"context_line":"                    context, security_group_rule)"},{"line_number":1183,"context_line":""},{"line_number":1184,"context_line":"            for rule in rules:"},{"line_number":1185,"context_line":"                self._create_accept_chain_rule(context, rule)"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"            LOG.debug(_(\"MidonetPluginV2.create_security_group_rule_bulk\""},{"line_number":1188,"context_line":"                        \"exiting: rules\u003d%r\"), rules)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2B%2BF0%3D","line":1185,"updated":"2013-11-17 20:06:02.000000000","message":"Is no fallback logic required? I think the first rule exists on a remote controller if the second rule creation fails. I am afraid it leads to inconsistency between neutron-server and the remote controller.","commit_id":"eaed09d01b67e4fa311080b475a2c100e70622d1"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"31996a12a85fb3c9359eac27adaed22de16a1ede","unresolved":false,"context_lines":[{"line_number":1182,"context_line":"                    context, security_group_rule)"},{"line_number":1183,"context_line":""},{"line_number":1184,"context_line":"            for rule in rules:"},{"line_number":1185,"context_line":"                self._create_accept_chain_rule(context, rule)"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"            LOG.debug(_(\"MidonetPluginV2.create_security_group_rule_bulk\""},{"line_number":1188,"context_line":"                        \"exiting: rules\u003d%r\"), rules)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bv18%3D","line":1185,"in_reply_to":"AAAATn%2F%2B%2BF0%3D","updated":"2013-11-20 18:09:07.000000000","message":"Akihiro very good point, thanks!","commit_id":"eaed09d01b67e4fa311080b475a2c100e70622d1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"434f00aa6033829f124056cc1457bedd27ab847c","unresolved":false,"context_lines":[{"line_number":1184,"context_line":"            for rule in rules:"},{"line_number":1185,"context_line":"                self._create_accept_chain_rule(context, rule)"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"            LOG.debug(_(\"MidonetPluginV2.create_security_group_rule_bulk\""},{"line_number":1188,"context_line":"                        \"exiting: rules\u003d%r\"), rules)"},{"line_number":1189,"context_line":"            return rules"},{"line_number":1190,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2B%2BF4%3D","line":1187,"updated":"2013-11-17 20:06:02.000000000","message":"Nit: Need a trailing space.","commit_id":"eaed09d01b67e4fa311080b475a2c100e70622d1"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"31996a12a85fb3c9359eac27adaed22de16a1ede","unresolved":false,"context_lines":[{"line_number":1184,"context_line":"            for rule in rules:"},{"line_number":1185,"context_line":"                self._create_accept_chain_rule(context, rule)"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"            LOG.debug(_(\"MidonetPluginV2.create_security_group_rule_bulk\""},{"line_number":1188,"context_line":"                        \"exiting: rules\u003d%r\"), rules)"},{"line_number":1189,"context_line":"            return rules"},{"line_number":1190,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bv14%3D","line":1187,"in_reply_to":"AAAATn%2F%2B%2BF4%3D","updated":"2013-11-20 18:09:07.000000000","message":"Thanks!","commit_id":"eaed09d01b67e4fa311080b475a2c100e70622d1"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"dd63c006ace9cbbf995ba9db29876701a6b154d8","unresolved":false,"context_lines":[{"line_number":1186,"context_line":"                    i +\u003d 1"},{"line_number":1187,"context_line":"                    self._create_accept_chain_rule(context, rule)"},{"line_number":1188,"context_line":"                    for j in xrange(0, i):"},{"line_number":1189,"context_line":"                        self.client.remove_chain_rule(rules[j][\u0027id\u0027])"},{"line_number":1190,"context_line":"                except Exception:"},{"line_number":1191,"context_line":"                    LOG.error(_(\"Failed to create MidoNet rule  %(rule)r\"),"},{"line_number":1192,"context_line":"                              {\"rule\": rule})"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAT3%2F%2FqNI%3D","line":1189,"updated":"2014-01-03 23:25:47.000000000","message":"I don\u0027t understand the reason for removing these rules here.  Is this just supposed to be in the except clause?","commit_id":"d3f74d993129f3d3c851a78a3ce592eba5e81595"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"0b03a1f950782686b6056f34f20fa0bbaae0573d","unresolved":false,"context_lines":[{"line_number":1186,"context_line":"                    i +\u003d 1"},{"line_number":1187,"context_line":"                    self._create_accept_chain_rule(context, rule)"},{"line_number":1188,"context_line":"                    for j in xrange(0, i):"},{"line_number":1189,"context_line":"                        self.client.remove_chain_rule(rules[j][\u0027id\u0027])"},{"line_number":1190,"context_line":"                except Exception:"},{"line_number":1191,"context_line":"                    LOG.error(_(\"Failed to create MidoNet rule  %(rule)r\"),"},{"line_number":1192,"context_line":"                              {\"rule\": rule})"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2F38s%3D","line":1189,"in_reply_to":"AAAAT3%2F%2FqNI%3D","updated":"2014-01-07 11:17:46.000000000","message":"Thanks for noticing it, it\u0027s a typo, the deletion should be just in the fallback logic","commit_id":"d3f74d993129f3d3c851a78a3ce592eba5e81595"},{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"69159122e5c3fc03c3484163d1739d9221284d1e","unresolved":false,"context_lines":[{"line_number":1216,"context_line":"                try:"},{"line_number":1217,"context_line":"                    i +\u003d 1"},{"line_number":1218,"context_line":"                    self._create_accept_chain_rule(context, rule)"},{"line_number":1219,"context_line":"                except Exception:"},{"line_number":1220,"context_line":"                    LOG.error(_(\"Failed to create MidoNet rule  %(rule)r\"),"},{"line_number":1221,"context_line":"                              {\"rule\": rule})"},{"line_number":1222,"context_line":"                    for j in xrange(0, i):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2FZzM%3D","line":1219,"updated":"2014-01-14 04:27:19.000000000","message":"this would be better if it caught just midonetlib exceptions.","commit_id":"dd0b95d22b5b57cf102949a4acf80d8e2c918013"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"52721ae8ce6eecd4c2362298b4febaa9a728b597","unresolved":false,"context_lines":[{"line_number":1216,"context_line":"                try:"},{"line_number":1217,"context_line":"                    i +\u003d 1"},{"line_number":1218,"context_line":"                    self._create_accept_chain_rule(context, rule)"},{"line_number":1219,"context_line":"                except Exception:"},{"line_number":1220,"context_line":"                    LOG.error(_(\"Failed to create MidoNet rule  %(rule)r\"),"},{"line_number":1221,"context_line":"                              {\"rule\": rule})"},{"line_number":1222,"context_line":"                    for j in xrange(0, i):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F9YYY%3D","line":1219,"in_reply_to":"AAAAUH%2F%2FZzM%3D","updated":"2014-02-07 10:15:55.000000000","message":"Thanks Aaron for reviewing. Good point! If you don\u0027t mind I prefer taking care of this in another commit, I\u0027d like to check the code of midonetlib better and make sure that every possible error results only in midonetlib exception. If another exception is thrown, this should be intercepted and a midonelib exception should be thrown instead. Thanks again!","commit_id":"dd0b95d22b5b57cf102949a4acf80d8e2c918013"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"f7f823f28546baa02d4fda2c151cb6e08ba85b94","unresolved":false,"context_lines":[{"line_number":1216,"context_line":"                try:"},{"line_number":1217,"context_line":"                    i +\u003d 1"},{"line_number":1218,"context_line":"                    self._create_accept_chain_rule(context, rule)"},{"line_number":1219,"context_line":"                except Exception:"},{"line_number":1220,"context_line":"                    LOG.error(_(\"Failed to create MidoNet rule  %(rule)r\"),"},{"line_number":1221,"context_line":"                              {\"rule\": rule})"},{"line_number":1222,"context_line":"                    for j in xrange(0, i):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F9YUQ%3D","line":1219,"in_reply_to":"AAAAUH%2F9YYY%3D","updated":"2014-02-07 10:23:57.000000000","message":"sounds good to me.","commit_id":"dd0b95d22b5b57cf102949a4acf80d8e2c918013"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"69bb6e7d11a738a3554d23134d7cfb5e63227760","unresolved":false,"context_lines":[{"line_number":1212,"context_line":"                MidonetPluginV2, self).create_security_group_rule_bulk_native("},{"line_number":1213,"context_line":"                    context, security_group_rule)"},{"line_number":1214,"context_line":"            i \u003d 0"},{"line_number":1215,"context_line":"            for rule in rules:"},{"line_number":1216,"context_line":"                try:"},{"line_number":1217,"context_line":"                    i +\u003d 1"},{"line_number":1218,"context_line":"                    self._create_accept_chain_rule(context, rule)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2F%2Bek%3D","line":1215,"updated":"2014-02-08 01:27:59.000000000","message":"replace 1214-1215, 1217\n\nfor i, rule in enumerate(rules):","commit_id":"53482496f1a86cfcc8bb2b2c1ff9019659b51ad6"}]}
