)]}'
{"nova/tests/unit/virt/test_virt_drivers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"231994f97f0c39b46c7806d65d1300ee9762a4a9","unresolved":false,"context_lines":[{"line_number":657,"context_line":"        network_info \u003d test_utils.get_test_network_info()"},{"line_number":658,"context_line":"        self.connection.unfilter_instance(instance_ref, network_info)"},{"line_number":659,"context_line":""},{"line_number":660,"context_line":"    @catch_notimplementederror"},{"line_number":661,"context_line":"    def test_live_migration(self):"},{"line_number":662,"context_line":"        instance_ref, network_info \u003d self._get_running_instance()"},{"line_number":663,"context_line":"        fake_context \u003d context.RequestContext(\u0027fake\u0027, \u0027fake\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_68fc6172","side":"PARENT","line":660,"updated":"2016-03-09 21:29:39.000000000","message":"Hmm, with the following patch in this series, maybe we should leave this in here.","commit_id":"2010c620c4d657803e7634f1f06cd9acae678fb1"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"45dcf134812855c4ff39fd0c08ea6255941d6299","unresolved":false,"context_lines":[{"line_number":6508,"context_line":""},{"line_number":6509,"context_line":"        # NOTE(mriedem): Unit tests make utils.spawn synchronous in which"},{"line_number":6510,"context_line":"        # case the return value from _live_migration_operation is None so"},{"line_number":6511,"context_line":"        # we can\u0027t use opthread."},{"line_number":6512,"context_line":"        if not opthread:"},{"line_number":6513,"context_line":"            return"},{"line_number":6514,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_e8ff1f65","line":6511,"updated":"2016-03-08 19:58:50.000000000","message":"At some point the SpawnIsSynchronous fixture should be modified to return an object that looks like an eventlet.Greenthread object or whatever is expected here.","commit_id":"688f89a4adbfaf6f9e0391cb5c09a316cd614165"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"452b10100ff58b35867c56e2659daca075047480","unresolved":false,"context_lines":[{"line_number":6508,"context_line":""},{"line_number":6509,"context_line":"        # NOTE(mriedem): Unit tests make utils.spawn synchronous in which"},{"line_number":6510,"context_line":"        # case the return value from _live_migration_operation is None so"},{"line_number":6511,"context_line":"        # we can\u0027t use opthread."},{"line_number":6512,"context_line":"        if not opthread:"},{"line_number":6513,"context_line":"            return"},{"line_number":6514,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_4e15363e","line":6511,"in_reply_to":"5aef4532_c81063ab","updated":"2016-03-09 19:10:48.000000000","message":"https://review.openstack.org/290780","commit_id":"688f89a4adbfaf6f9e0391cb5c09a316cd614165"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b04e991514f95a562672c26f2e85416ea2fe47dc","unresolved":false,"context_lines":[{"line_number":6508,"context_line":""},{"line_number":6509,"context_line":"        # NOTE(mriedem): Unit tests make utils.spawn synchronous in which"},{"line_number":6510,"context_line":"        # case the return value from _live_migration_operation is None so"},{"line_number":6511,"context_line":"        # we can\u0027t use opthread."},{"line_number":6512,"context_line":"        if not opthread:"},{"line_number":6513,"context_line":"            return"},{"line_number":6514,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_c81063ab","line":6511,"in_reply_to":"5aef4532_e8ff1f65","updated":"2016-03-08 19:59:49.000000000","message":"Yeah, I tried that but failed. I\u0027m open to pointers.","commit_id":"688f89a4adbfaf6f9e0391cb5c09a316cd614165"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"0ddb844e2bc759cc6f8bc32381edf50de16bac19","unresolved":false,"context_lines":[{"line_number":6478,"context_line":"        # case the return value from _live_migration_operation is None so"},{"line_number":6479,"context_line":"        # we can\u0027t use opthread."},{"line_number":6480,"context_line":"        if not opthread:"},{"line_number":6481,"context_line":"            return"},{"line_number":6482,"context_line":""},{"line_number":6483,"context_line":"        finish_event \u003d eventlet.event.Event()"},{"line_number":6484,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_ee7ec268","line":6481,"updated":"2016-03-09 19:15:21.000000000","message":"In order to avoid having this to satisfy unit tests I wrote https://review.openstack.org/290780 and tested that it works here.","commit_id":"f721a944985a422541e7745d437b62fd1a274a8b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6e4d6b68aa3e25ce01cc49502865f1fe7a5d5ff9","unresolved":false,"context_lines":[{"line_number":6478,"context_line":"        # case the return value from _live_migration_operation is None so"},{"line_number":6479,"context_line":"        # we can\u0027t use opthread."},{"line_number":6480,"context_line":"        if not opthread:"},{"line_number":6481,"context_line":"            return"},{"line_number":6482,"context_line":""},{"line_number":6483,"context_line":"        finish_event \u003d eventlet.event.Event()"},{"line_number":6484,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5aef4532_42298636","line":6481,"in_reply_to":"5aef4532_ee7ec268","updated":"2016-03-09 20:48:18.000000000","message":"Thanks, I\u0027ll stack this on top of your change.","commit_id":"f721a944985a422541e7745d437b62fd1a274a8b"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"02dd45828956744064ff9ce55d53579cc04f3025","unresolved":false,"context_lines":[{"line_number":5982,"context_line":"            serial_listen_addr \u003d (migrate_data.serial_listen_addr if"},{"line_number":5983,"context_line":"                \u0027serial_listen_addr\u0027 in migrate_data else None)"},{"line_number":5984,"context_line":"            if (\u0027target_connect_addr\u0027 in migrate_data and"},{"line_number":5985,"context_line":"                    migrate_data.target_connect_addr is not None):"},{"line_number":5986,"context_line":"                dest \u003d migrate_data.target_connect_addr"},{"line_number":5987,"context_line":""},{"line_number":5988,"context_line":"            migratable_flag \u003d getattr(libvirt, \u0027VIR_DOMAIN_XML_MIGRATABLE\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_f852d111","line":5985,"updated":"2016-03-10 16:34:33.000000000","message":"I support this fix, but there seems to be an additional step that could be taken later to get the target address right?","commit_id":"cf4bfcebd9838cc13fdf45bae167b64aff1184f7"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"ea9ab1522d0f4f365bb6d5a48df4172465674dfd","unresolved":false,"context_lines":[{"line_number":5982,"context_line":"            serial_listen_addr \u003d (migrate_data.serial_listen_addr if"},{"line_number":5983,"context_line":"                \u0027serial_listen_addr\u0027 in migrate_data else None)"},{"line_number":5984,"context_line":"            if (\u0027target_connect_addr\u0027 in migrate_data and"},{"line_number":5985,"context_line":"                    migrate_data.target_connect_addr is not None):"},{"line_number":5986,"context_line":"                dest \u003d migrate_data.target_connect_addr"},{"line_number":5987,"context_line":""},{"line_number":5988,"context_line":"            migratable_flag \u003d getattr(libvirt, \u0027VIR_DOMAIN_XML_MIGRATABLE\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_52f6418f","line":5985,"in_reply_to":"5aef4532_5eb5ad7b","updated":"2016-03-10 17:32:56.000000000","message":"I didn\u0027t catch that dest was being overwritten here and was concerned about how we got into a migration situation with no dest available.","commit_id":"cf4bfcebd9838cc13fdf45bae167b64aff1184f7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a6f31cc011d661b524e1066f0f81bcc8c244f836","unresolved":false,"context_lines":[{"line_number":5982,"context_line":"            serial_listen_addr \u003d (migrate_data.serial_listen_addr if"},{"line_number":5983,"context_line":"                \u0027serial_listen_addr\u0027 in migrate_data else None)"},{"line_number":5984,"context_line":"            if (\u0027target_connect_addr\u0027 in migrate_data and"},{"line_number":5985,"context_line":"                    migrate_data.target_connect_addr is not None):"},{"line_number":5986,"context_line":"                dest \u003d migrate_data.target_connect_addr"},{"line_number":5987,"context_line":""},{"line_number":5988,"context_line":"            migratable_flag \u003d getattr(libvirt, \u0027VIR_DOMAIN_XML_MIGRATABLE\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aef4532_5eb5ad7b","line":5985,"in_reply_to":"5aef4532_f852d111","updated":"2016-03-10 17:17:33.000000000","message":"As in like fallback to pulling it out of the migrate_data.migration.dest_compute or something?","commit_id":"cf4bfcebd9838cc13fdf45bae167b64aff1184f7"}]}
