)]}'
{"devstack/tempest-filter":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"38bf806b9552c26a537267fb787621ada7b29dbe","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# only run tempest.api/scenario/thirdparty tests (part of the default for \u0027full\u0027)"},{"line_number":75,"context_line":"r\u003d\"$r(tempest\\.(api|scenario|thirdparty)).*$\""},{"line_number":76,"context_line":"# Add Dynamic routing (BGP) tests"},{"line_number":77,"context_line":"r\u003d\"$r|(^neutron_dynamic_routing\\.tests\\.tempest\\.scenario\\.)\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"export DEVSTACK_GATE_TEMPEST_REGEX\u003d\"$r\""},{"line_number":80,"context_line":"export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS\u003d\"1\""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"9f436f4f_c68adf19","line":77,"range":{"start_line":76,"start_character":33,"end_line":77,"end_character":61},"updated":"2017-08-10 07:11:54.000000000","message":"Not mentioned in commit message :(","commit_id":"4e528693943398b8359ef2cb6d120e7927c21708"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0426030e6a244db151cd267cfca69d815fe2b4e2","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# only run tempest.api/scenario/thirdparty tests (part of the default for \u0027full\u0027)"},{"line_number":75,"context_line":"r\u003d\"$r(tempest\\.(api|scenario|thirdparty)).*$\""},{"line_number":76,"context_line":"# Add Dynamic routing (BGP) tests"},{"line_number":77,"context_line":"r\u003d\"$r|(^neutron_dynamic_routing\\.tests\\.tempest\\.scenario\\.)\""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"export DEVSTACK_GATE_TEMPEST_REGEX\u003d\"$r\""},{"line_number":80,"context_line":"export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS\u003d\"1\""}],"source_content_type":"application/octet-stream","patch_set":2,"id":"9f436f4f_e9549423","line":77,"range":{"start_line":76,"start_character":33,"end_line":77,"end_character":61},"in_reply_to":"9f436f4f_c68adf19","updated":"2017-08-10 07:53:31.000000000","message":"Didn\u0027t realise it was needed. Will update next respin.","commit_id":"4e528693943398b8359ef2cb6d120e7927c21708"}],"dragonflow/controller/df_bgp_service.py":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"38bf806b9552c26a537267fb787621ada7b29dbe","unresolved":false,"context_lines":[{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"models \u003d [\"bgp_peer\", \"bgp_speaker\"]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class BGPService(service.Service):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_c68f7f21","line":33,"range":{"start_line":33,"start_character":11,"end_line":33,"end_character":19},"updated":"2017-08-10 07:11:54.000000000","message":"Why not (bgp.BGPPeer, bgp.BGPSpeaker), and then you don\u0027t have to .get_model(...)","commit_id":"4e528693943398b8359ef2cb6d120e7927c21708"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0426030e6a244db151cd267cfca69d815fe2b4e2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"models \u003d [\"bgp_peer\", \"bgp_speaker\"]"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class BGPService(service.Service):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_c94c30a0","line":33,"range":{"start_line":33,"start_character":11,"end_line":33,"end_character":19},"in_reply_to":"9f436f4f_c68f7f21","updated":"2017-08-10 07:53:31.000000000","message":"I think I\u0027ll do this completely differently. Using iter_models_by_dependency_order was a mistake.","commit_id":"4e528693943398b8359ef2cb6d120e7927c21708"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"38bf806b9552c26a537267fb787621ada7b29dbe","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    def update_model_object(self, obj):"},{"line_number":85,"context_line":"        original_obj \u003d self.db_store.get_one(obj)"},{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            update_function \u003d getattr(self, \"update_\" + obj.table_name)"},{"line_number":88,"context_line":"        except AttributeError:"},{"line_number":89,"context_line":"            LOG.exception(\"Could not handle model update for: %s\","},{"line_number":90,"context_line":"                          obj.table_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_c6f09f6a","line":87,"range":{"start_line":87,"start_character":44,"end_line":87,"end_character":70},"updated":"2017-08-10 07:11:54.000000000","message":"nit: IMO formatting is a bit more readable than concatenation","commit_id":"4e528693943398b8359ef2cb6d120e7927c21708"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0426030e6a244db151cd267cfca69d815fe2b4e2","unresolved":false,"context_lines":[{"line_number":84,"context_line":"    def update_model_object(self, obj):"},{"line_number":85,"context_line":"        original_obj \u003d self.db_store.get_one(obj)"},{"line_number":86,"context_line":"        try:"},{"line_number":87,"context_line":"            update_function \u003d getattr(self, \"update_\" + obj.table_name)"},{"line_number":88,"context_line":"        except AttributeError:"},{"line_number":89,"context_line":"            LOG.exception(\"Could not handle model update for: %s\","},{"line_number":90,"context_line":"                          obj.table_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_6970a4dd","line":87,"range":{"start_line":87,"start_character":44,"end_line":87,"end_character":70},"in_reply_to":"9f436f4f_c6f09f6a","updated":"2017-08-10 07:53:31.000000000","message":"I didn\u0027t change that. Not related to this patch. Will upload another.","commit_id":"4e528693943398b8359ef2cb6d120e7927c21708"},{"author":{"_account_id":26131,"name":"Eyal Leshem","email":"eyal.leshem@toganetworks.com","username":"leyal"},"change_message_id":"bf4b9a4960864bba84e3b4e7cf7436df79b0eaea","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from dragonflow.db import api_nb"},{"line_number":24,"context_line":"from dragonflow.db import db_store"},{"line_number":25,"context_line":"from dragonflow.db import model_framework"},{"line_number":26,"context_line":"from dragonflow.db.models import bgp  # noqa"},{"line_number":27,"context_line":"from dragonflow.db import sync"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_8ec0612c","side":"PARENT","line":26,"updated":"2017-08-10 15:02:31.000000000","message":"what \"noqa\" means?","commit_id":"0aa3b2e89cf3d1415b9d107addc291412c1e64c5"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0661ed2ac78e92e852c8f566b18ddc11b55282b5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from dragonflow.db import api_nb"},{"line_number":24,"context_line":"from dragonflow.db import db_store"},{"line_number":25,"context_line":"from dragonflow.db import model_framework"},{"line_number":26,"context_line":"from dragonflow.db.models import bgp  # noqa"},{"line_number":27,"context_line":"from dragonflow.db import sync"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_982b02ea","side":"PARENT","line":26,"in_reply_to":"9f436f4f_8ec0612c","updated":"2017-08-10 16:36:55.000000000","message":"It tell\u0027s pep8 to skip the line. bgp was not used directly, but the import was needed.\n\nFrom the pypi page for pep8: (Changes for version 1.5):\n\n\u003e Optionally disable physical line checks inside multiline strings, using # noqa. (Issue #242)","commit_id":"0aa3b2e89cf3d1415b9d107addc291412c1e64c5"}],"dragonflow/db/model_framework.py":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"38bf806b9552c26a537267fb787621ada7b29dbe","unresolved":false,"context_lines":[{"line_number":438,"context_line":"    \u0027\u0027\u0027Iterate over all registered models"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"       The models are returned in an order s.t. a model never preceeds its"},{"line_number":441,"context_line":"       dependencies."},{"line_number":442,"context_line":"    \u0027\u0027\u0027"},{"line_number":443,"context_line":"    if models is None:"},{"line_number":444,"context_line":"        models \u003d iter_models(first_class_only\u003dfirst_class_only)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_06ac6732","line":441,"range":{"start_line":441,"start_character":10,"end_line":441,"end_character":11},"updated":"2017-08-10 07:11:54.000000000","message":"Please mention the new effect of new param in the docstring.","commit_id":"4e528693943398b8359ef2cb6d120e7927c21708"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"0426030e6a244db151cd267cfca69d815fe2b4e2","unresolved":false,"context_lines":[{"line_number":438,"context_line":"    \u0027\u0027\u0027Iterate over all registered models"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"       The models are returned in an order s.t. a model never preceeds its"},{"line_number":441,"context_line":"       dependencies."},{"line_number":442,"context_line":"    \u0027\u0027\u0027"},{"line_number":443,"context_line":"    if models is None:"},{"line_number":444,"context_line":"        models \u003d iter_models(first_class_only\u003dfirst_class_only)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_6949c489","line":441,"range":{"start_line":441,"start_character":10,"end_line":441,"end_character":11},"in_reply_to":"9f436f4f_06ac6732","updated":"2017-08-10 07:53:31.000000000","message":"I\u0027ll just revert the change. I don\u0027t like it.","commit_id":"4e528693943398b8359ef2cb6d120e7927c21708"}]}
