)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"4b2fcfcb39d620b51f89c1813de5c7bda69de5b2","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Nova will put the instance in error state. The instance might"},{"line_number":16,"context_line":"still be able to access the wrong network it migrated to, as"},{"line_number":17,"context_line":"today there is no communication to the agent after a failed binding"},{"line_number":18,"context_line":"after a migration. But at least the user is now aware of that that"},{"line_number":19,"context_line":"something went wrong."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I92cd6411fe88483b921c92f219afa8e846cc0137"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa7ab95a_08e5c7da","line":18,"range":{"start_line":18,"start_character":54,"end_line":18,"end_character":61},"updated":"2016-08-29 19:19:52.000000000","message":"I don\u0027t think we need this","commit_id":"4489b612b3f8a75c76609407d6257a8ecc731356"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"234befb8447e7a66bf8892008b316e07af39fd0c","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Nova will put the instance in error state. The instance might"},{"line_number":16,"context_line":"still be able to access the wrong network it migrated to, as"},{"line_number":17,"context_line":"today there is no communication to the agent after a failed binding"},{"line_number":18,"context_line":"after a migration. But at least the user is now aware of that that"},{"line_number":19,"context_line":"something went wrong."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I92cd6411fe88483b921c92f219afa8e846cc0137"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa7ab95a_4a988b1c","line":18,"range":{"start_line":18,"start_character":54,"end_line":18,"end_character":61},"in_reply_to":"fa7ab95a_08e5c7da","updated":"2016-08-30 06:47:30.000000000","message":"Done","commit_id":"4489b612b3f8a75c76609407d6257a8ecc731356"}],"neutron/plugins/ml2/drivers/macvtap/mech_driver/mech_macvtap.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"4b2fcfcb39d620b51f89c1813de5c7bda69de5b2","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                # Due to that we can  be sure that the original port is the"},{"line_number":95,"context_line":"                # migration source port."},{"line_number":96,"context_line":"                orig_vif_details \u003d context.original[portbindings.VIF_DETAILS]"},{"line_number":97,"context_line":"                orig_source \u003d orig_vif_details[\u0027macvtap_source\u0027]"},{"line_number":98,"context_line":"                if orig_source !\u003d macvtap_src:"},{"line_number":99,"context_line":"                    source_host \u003d context.original[portbindings.HOST_ID]"},{"line_number":100,"context_line":"                    target_host \u003d agent[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_a8b4db34","line":97,"range":{"start_line":97,"start_character":47,"end_line":97,"end_character":63},"updated":"2016-08-29 19:19:52.000000000","message":"I think you can use here portbindings.VIF_DETAILS_MACVTAP_SOURCE","commit_id":"4489b612b3f8a75c76609407d6257a8ecc731356"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"234befb8447e7a66bf8892008b316e07af39fd0c","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                # Due to that we can  be sure that the original port is the"},{"line_number":95,"context_line":"                # migration source port."},{"line_number":96,"context_line":"                orig_vif_details \u003d context.original[portbindings.VIF_DETAILS]"},{"line_number":97,"context_line":"                orig_source \u003d orig_vif_details[\u0027macvtap_source\u0027]"},{"line_number":98,"context_line":"                if orig_source !\u003d macvtap_src:"},{"line_number":99,"context_line":"                    source_host \u003d context.original[portbindings.HOST_ID]"},{"line_number":100,"context_line":"                    target_host \u003d agent[\u0027host\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_6aef0f1e","line":97,"range":{"start_line":97,"start_character":47,"end_line":97,"end_character":63},"in_reply_to":"fa7ab95a_a8b4db34","updated":"2016-08-30 06:47:30.000000000","message":"Done","commit_id":"4489b612b3f8a75c76609407d6257a8ecc731356"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"4b2fcfcb39d620b51f89c1813de5c7bda69de5b2","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                    LOG.error(_LE(\"Vif binding denied by mechanism driver. \""},{"line_number":102,"context_line":"                                  \"MacVTap source device \u0027%(target_dev)s\u0027 on \""},{"line_number":103,"context_line":"                                  \"the migration target \u0027%(target_host)s\u0027is \""},{"line_number":104,"context_line":"                                  \"not equal the device \u0027%(source_dev)s\u0027 on \""},{"line_number":105,"context_line":"                                  \"the migration source \u0027%(source_host)s. \""},{"line_number":106,"context_line":"                                  \"Make sure that the \""},{"line_number":107,"context_line":"                                  \"interface mapping of macvtap \""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_080dc7e7","line":104,"range":{"start_line":104,"start_character":39,"end_line":104,"end_character":48},"updated":"2016-08-29 19:19:52.000000000","message":"\"equal to\"","commit_id":"4489b612b3f8a75c76609407d6257a8ecc731356"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"234befb8447e7a66bf8892008b316e07af39fd0c","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                    LOG.error(_LE(\"Vif binding denied by mechanism driver. \""},{"line_number":102,"context_line":"                                  \"MacVTap source device \u0027%(target_dev)s\u0027 on \""},{"line_number":103,"context_line":"                                  \"the migration target \u0027%(target_host)s\u0027is \""},{"line_number":104,"context_line":"                                  \"not equal the device \u0027%(source_dev)s\u0027 on \""},{"line_number":105,"context_line":"                                  \"the migration source \u0027%(source_host)s. \""},{"line_number":106,"context_line":"                                  \"Make sure that the \""},{"line_number":107,"context_line":"                                  \"interface mapping of macvtap \""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_cae01b2c","line":104,"range":{"start_line":104,"start_character":39,"end_line":104,"end_character":48},"in_reply_to":"fa7ab95a_080dc7e7","updated":"2016-08-30 06:47:30.000000000","message":"Done","commit_id":"4489b612b3f8a75c76609407d6257a8ecc731356"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"70c4cb038b2d8ecc30c830027c4d671fdb75c52c","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                    return False"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"            vif_details_segment[\u0027physical_interface\u0027] \u003d interface"},{"line_number":119,"context_line":"            vif_details_segment[\u0027macvtap_source\u0027] \u003d macvtap_src"},{"line_number":120,"context_line":"            vif_details_segment[\u0027macvtap_mode\u0027] \u003d MACVTAP_MODE_BRIDGE"},{"line_number":121,"context_line":"            LOG.debug(\"Macvtap vif_details added to context binding: %s\","},{"line_number":122,"context_line":"                      vif_details_segment)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa7ab95a_b530b357","line":119,"updated":"2016-09-02 10:32:53.000000000","message":"not related to this patch but let\u0027s use constants if we have them :)","commit_id":"bdf413f79ac14f03ebe819d062eb2f19946e9f02"}],"neutron/tests/unit/plugins/ml2/drivers/macvtap/mech_driver/test_mech_macvtap.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"4b2fcfcb39d620b51f89c1813de5c7bda69de5b2","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            context, self.MIGRATION_SEGMENT, self.AGENT)"},{"line_number":92,"context_line":"        self.assertEqual(expected, result)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def test_test_try_to_bind_segment_for_agent_migration_abort(self):"},{"line_number":95,"context_line":"        original \u003d {\"binding:profile\": {\"migrating_to\": \"host\"},"},{"line_number":96,"context_line":"                    \"binding:vif_details\": {\"macvtap_source\": \"bad_source\"},"},{"line_number":97,"context_line":"                    \"binding:host_id\": \"source_host\"}"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_68a2d39a","line":94,"range":{"start_line":94,"start_character":12,"end_line":94,"end_character":17},"updated":"2016-08-29 19:19:52.000000000","message":"I think you don\u0027t need this","commit_id":"4489b612b3f8a75c76609407d6257a8ecc731356"},{"author":{"_account_id":11307,"name":"Andreas Scheuring","email":"andreas.scheuring@de.ibm.com","username":"uniqueName"},"change_message_id":"234befb8447e7a66bf8892008b316e07af39fd0c","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            context, self.MIGRATION_SEGMENT, self.AGENT)"},{"line_number":92,"context_line":"        self.assertEqual(expected, result)"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def test_test_try_to_bind_segment_for_agent_migration_abort(self):"},{"line_number":95,"context_line":"        original \u003d {\"binding:profile\": {\"migrating_to\": \"host\"},"},{"line_number":96,"context_line":"                    \"binding:vif_details\": {\"macvtap_source\": \"bad_source\"},"},{"line_number":97,"context_line":"                    \"binding:host_id\": \"source_host\"}"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_2ae2672f","line":94,"range":{"start_line":94,"start_character":12,"end_line":94,"end_character":17},"in_reply_to":"fa7ab95a_68a2d39a","updated":"2016-08-30 06:47:30.000000000","message":"oh, that was by mistake :)","commit_id":"4489b612b3f8a75c76609407d6257a8ecc731356"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"4b2fcfcb39d620b51f89c1813de5c7bda69de5b2","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                    \"binding:host_id\": \"source_host\"}"},{"line_number":98,"context_line":"        self._test_try_to_bind_segment_for_agent_migration(False, original)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def test_test_try_to_bind_segment_for_agent_migration_ok(self):"},{"line_number":101,"context_line":"        macvtap_src \u003d \"fake_if\""},{"line_number":102,"context_line":"        seg_id \u003d self.MIGRATION_SEGMENT.get(api.SEGMENTATION_ID)"},{"line_number":103,"context_line":"        if seg_id:"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa7ab95a_88ab9774","line":100,"range":{"start_line":100,"start_character":12,"end_line":100,"end_character":17},"updated":"2016-08-29 19:19:52.000000000","message":"I think you don\u0027t need this","commit_id":"4489b612b3f8a75c76609407d6257a8ecc731356"}]}
