)]}'
{"nova/compute/rpcapi.py":[{"author":{"_account_id":8151,"name":"Michal Jura","email":"mjura@suse.com","username":"mjura"},"change_message_id":"ed99c918b8e18a8f1e863b388cacf166032e7a3d","unresolved":false,"context_lines":[{"line_number":541,"context_line":"        cctxt \u003d self.client.prepare(server\u003dhost, version\u003dversion)"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":"        if (migrate_data is not None and"},{"line_number":544,"context_line":"            migrate_data.has_key(\u0027sync\u0027) and"},{"line_number":545,"context_line":"            migrate_data[\u0027sync\u0027]):"},{"line_number":546,"context_line":"            cctxt.call(ctxt, \u0027live_migration\u0027, instance\u003dinstance,"},{"line_number":547,"context_line":"                       dest\u003ddest, block_migration\u003dblock_migration,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_66fa0a45","line":544,"updated":"2015-06-25 07:46:32.000000000","message":".has_key() is deprecated, use \u0027in\u0027","commit_id":"990aa2f3df7f0ad3c69c52b89ff4d55b9e02bd5c"},{"author":{"_account_id":16066,"name":"xiexs","email":"xiexs@cn.fujitsu.com","username":"simen"},"change_message_id":"db65223dd770ee3007220a2bbf2e73eaa4f454db","unresolved":false,"context_lines":[{"line_number":541,"context_line":"        cctxt \u003d self.client.prepare(server\u003dhost, version\u003dversion)"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":"        if (migrate_data is not None and"},{"line_number":544,"context_line":"            migrate_data.has_key(\u0027sync\u0027) and"},{"line_number":545,"context_line":"            migrate_data[\u0027sync\u0027]):"},{"line_number":546,"context_line":"            cctxt.call(ctxt, \u0027live_migration\u0027, instance\u003dinstance,"},{"line_number":547,"context_line":"                       dest\u003ddest, block_migration\u003dblock_migration,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a1a9d01_cbcda3b8","line":544,"in_reply_to":"fa32b979_66fa0a45","updated":"2015-09-28 01:34:43.000000000","message":"Done","commit_id":"990aa2f3df7f0ad3c69c52b89ff4d55b9e02bd5c"}],"nova/conductor/manager.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"7c3bedc45e13a25659f05832a68b1e45a582efc8","unresolved":false,"context_lines":[{"line_number":510,"context_line":"            self.migrate_server(context, instance, scheduler_hint, live\u003dTrue,"},{"line_number":511,"context_line":"                                rebuild\u003dFalse, flavor\u003dNone,"},{"line_number":512,"context_line":"                                block_migration\u003dFalse, disk_over_commit\u003dFalse,"},{"line_number":513,"context_line":"                                migrate_data\u003dmigrate_data)"},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"    @messaging.expected_exceptions(exception.NoValidHost,"},{"line_number":516,"context_line":"                                   exception.ComputeServiceUnavailable,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a4dcd0f_5eecdb8e","line":513,"updated":"2015-08-05 11:00:51.000000000","message":"With the existing code multiple guest instances could migrate in parallel. With your change to use synchronous migration, every guest is serialized, so overall enabling host maintenance mode is going to take much longer. So I don\u0027t think making the migrate API synchronous is a viable approach.\n\nI think it must remain asynchronous, and the code must simply monitor the host and/or task state of the instances to identify when migration is finished or has failed.","commit_id":"990aa2f3df7f0ad3c69c52b89ff4d55b9e02bd5c"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":8151,"name":"Michal Jura","email":"mjura@suse.com","username":"mjura"},"change_message_id":"ed99c918b8e18a8f1e863b388cacf166032e7a3d","unresolved":false,"context_lines":[{"line_number":5345,"context_line":"        # at least \"sync:True/False\" pair. If it is True, call wait()."},{"line_number":5346,"context_line":"        # For now, the only user is host_maintenance_mode()."},{"line_number":5347,"context_line":"        if (migrate_data is not None and"},{"line_number":5348,"context_line":"            migrate_data.has_key(\u0027sync\u0027) and migrate_data[\u0027sync\u0027]):"},{"line_number":5349,"context_line":"            migrate_thread.wait()"},{"line_number":5350,"context_line":""},{"line_number":5351,"context_line":"    def _update_xml(self, xml_str, volume, listen_addrs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_a6b25292","line":5348,"updated":"2015-06-25 07:46:32.000000000","message":".has_key() is deprecated, use \u0027in\u0027","commit_id":"990aa2f3df7f0ad3c69c52b89ff4d55b9e02bd5c"}]}
