)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"aa989cb47bb8e848f10dd58d4375f2d6e233c288","unresolved":false,"context_lines":[{"line_number":6296,"context_line":"            LOG.debug(\"Live migration monitoring is all done\","},{"line_number":6297,"context_line":"                      instance\u003dinstance)"},{"line_number":6298,"context_line":""},{"line_number":6299,"context_line":"    def _is_post_copy_enabled(self):"},{"line_number":6300,"context_line":"        if (CONF.libvirt.live_migration_permit_post_copy and"},{"line_number":6301,"context_line":"            self._is_post_copy_available()):"},{"line_number":6302,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_1671840c","line":6299,"updated":"2016-06-14 07:11:19.000000000","message":"You don\u0027t need to check it this way. You already have migration_flags (self._block_migration_flags and self._live_migration_flags) set during init_host so you can just make sure that migration_flags \u0026 libvirt.VIR_MIGRATE_POST_COPY !\u003d 0","commit_id":"795398ab448d44eb89e7124137e42377f12170c2"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"20fa8bec7893be0690f5318a807fe6fc5e9650c2","unresolved":false,"context_lines":[{"line_number":6001,"context_line":"        migration \u003d migrate_data.migration"},{"line_number":6002,"context_line":"        curdowntime \u003d None"},{"line_number":6003,"context_line":""},{"line_number":6004,"context_line":"        if block_migration:"},{"line_number":6005,"context_line":"            migration_flags \u003d self._block_migration_flags"},{"line_number":6006,"context_line":"        else:"},{"line_number":6007,"context_line":"            migration_flags \u003d self._live_migration_flags"}],"source_content_type":"text/x-python","patch_set":7,"id":"7aa08908_875dd87b","line":6004,"range":{"start_line":6004,"start_character":11,"end_line":6004,"end_character":26},"updated":"2016-06-15 19:17:43.000000000","message":"block_migration parameter is deprecated and shouldn\u0027t be used anymore - since Mitaka block_migration is always \u0027None\u0027. You can find correct value in migrate_data.block_migration.\n\nThere is a patch series up for review to remove it from code - https://review.openstack.org/#/q/topic:block-migration-cleanup","commit_id":"42492a7863829ae9a250ba4da759982f8c55b891"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"39f7af6e1dccb9aa0d0dec2d53245c5f8b298ef3","unresolved":false,"context_lines":[{"line_number":6001,"context_line":"        migration \u003d migrate_data.migration"},{"line_number":6002,"context_line":"        curdowntime \u003d None"},{"line_number":6003,"context_line":""},{"line_number":6004,"context_line":"        if migrate_data.block_migration:"},{"line_number":6005,"context_line":"            migration_flags \u003d self._block_migration_flags"},{"line_number":6006,"context_line":"        else:"},{"line_number":6007,"context_line":"            migration_flags \u003d self._live_migration_flags"},{"line_number":6008,"context_line":""},{"line_number":6009,"context_line":"        n \u003d 0"},{"line_number":6010,"context_line":"        start \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_ed159ae5","line":6007,"range":{"start_line":6004,"start_character":8,"end_line":6007,"end_character":56},"updated":"2016-06-15 21:11:12.000000000","message":"please move this out of _live_migration_monitor to smth like def _live_migration_flags(self, migration):","commit_id":"700172452677b4565ad42c5fe1d553ce0e8e6c99"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2fd1ecfe91d2c560fbad66f40a4dd0988bd90e8f","unresolved":false,"context_lines":[{"line_number":5987,"context_line":""},{"line_number":5988,"context_line":"        return ram_gb + disk_gb"},{"line_number":5989,"context_line":""},{"line_number":5990,"context_line":"    def _live_migration_flags(self, is_block_migration):"},{"line_number":5991,"context_line":"        if is_block_migration:"},{"line_number":5992,"context_line":"            return self._block_migration_flags"},{"line_number":5993,"context_line":"        return self._live_migration_flags"}],"source_content_type":"text/x-python","patch_set":12,"id":"7aa08908_7ba2eb9b","line":5990,"range":{"start_line":5990,"start_character":8,"end_line":5990,"end_character":29},"updated":"2016-06-16 11:04:08.000000000","message":"This can\u0027t have the same name as already existing property _live_migration_flags. You can change it to something like _get_migration_flags.","commit_id":"18f4bc420bf01375f73db94fb62754a00e804ecd"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2fd1ecfe91d2c560fbad66f40a4dd0988bd90e8f","unresolved":false,"context_lines":[{"line_number":6041,"context_line":"                                          self.active_migrations,"},{"line_number":6042,"context_line":"                                          on_migration_failure,"},{"line_number":6043,"context_line":"                                          migration,"},{"line_number":6044,"context_line":"                                          self._is_post_copy_enabled("},{"line_number":6045,"context_line":"                                              migration_flags))"},{"line_number":6046,"context_line":""},{"line_number":6047,"context_line":"                now \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":12,"id":"7aa08908_fb025b71","line":6044,"range":{"start_line":6044,"start_character":42,"end_line":6044,"end_character":68},"updated":"2016-06-16 11:04:08.000000000","message":"You can create private property here in monitor so you won\u0027t call this method many times during single live migration.","commit_id":"18f4bc420bf01375f73db94fb62754a00e804ecd"}],"nova/virt/libvirt/migration.py":[{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"39f7af6e1dccb9aa0d0dec2d53245c5f8b298ef3","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"def run_tasks(guest, instance, active_migrations, on_migration_failure,"},{"line_number":298,"context_line":"              migration\u003dNone, is_post_copy_enabled\u003dFalse):"},{"line_number":299,"context_line":"    \"\"\"Run any pending migration tasks"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    :param guest: a nova.virt.libvirt.guest.Guest"}],"source_content_type":"text/x-python","patch_set":9,"id":"7aa08908_6dcd2ab7","line":298,"range":{"start_line":298,"start_character":14,"end_line":298,"end_character":56},"updated":"2016-06-15 21:11:12.000000000","message":"please update doc for these params","commit_id":"700172452677b4565ad42c5fe1d553ce0e8e6c99"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"2fd1ecfe91d2c560fbad66f40a4dd0988bd90e8f","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"def run_tasks(guest, instance, active_migrations, on_migration_failure,"},{"line_number":298,"context_line":"              migration\u003dNone, is_post_copy_enabled\u003dFalse):"},{"line_number":299,"context_line":"    \"\"\"Run any pending migration tasks"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"    :param guest: a nova.virt.libvirt.guest.Guest"}],"source_content_type":"text/x-python","patch_set":12,"id":"7aa08908_5b39ef3e","line":298,"range":{"start_line":298,"start_character":14,"end_line":298,"end_character":56},"updated":"2016-06-16 11:04:08.000000000","message":"Is there a reason why these two arguments have default values?","commit_id":"18f4bc420bf01375f73db94fb62754a00e804ecd"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b8289089ee396aa97a0f034edc00d71fb536576c","unresolved":false,"context_lines":[{"line_number":326,"context_line":"            elif is_post_copy_enabled:"},{"line_number":327,"context_line":"                trigger_postcopy_switch(guest, instance, migration)"},{"line_number":328,"context_line":"            else:"},{"line_number":329,"context_line":"                task \u003d \u0027pause\u0027"},{"line_number":330,"context_line":"        if task \u003d\u003d \u0027pause\u0027:"},{"line_number":331,"context_line":"            if migration.status \u003d\u003d \u0027running (post-copy)\u0027:"},{"line_number":332,"context_line":"                LOG.warning(_LW(\"Failed to pause instance during \""}],"source_content_type":"text/x-python","patch_set":13,"id":"7aa08908_c1f6895c","line":329,"updated":"2016-06-16 12:45:27.000000000","message":"Why do we need to keep the check for \u0027pause\u0027 below - we changed the only place which queues tasks, to use \"force-complete\", so I think you can just directly call guest.pause() here, and get rid of the block below","commit_id":"8db64a79a42c1abf65544f3206ad846a763e83de"}]}
