)]}'
{"nova/virt/libvirt/driver.py":[{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"6c908d3c28309f5c89b4604c8b96e3e94404ffc4","unresolved":false,"context_lines":[{"line_number":5859,"context_line":"        \u0027\u0027\u0027Calculate total amount of data to be transferred"},{"line_number":5860,"context_line":""},{"line_number":5861,"context_line":"        :param instance: the nova.objects.Instance being migrated"},{"line_number":5862,"context_line":"        :param guest: the Guest being migrated"},{"line_number":5863,"context_line":"        :param block_migration: true if block migration is requested"},{"line_number":5864,"context_line":""},{"line_number":5865,"context_line":"        Calculates the total amount of data that needs to be"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_98797a32","line":5862,"updated":"2015-12-08 17:23:17.000000000","message":"need to update the param here.","commit_id":"8215bffdc702b329a0101d614d39543390894f56"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"c2e3f4b6eb4148979dfd0cb22fe5d10dce889f66","unresolved":false,"context_lines":[{"line_number":5859,"context_line":"        \u0027\u0027\u0027Calculate total amount of data to be transferred"},{"line_number":5860,"context_line":""},{"line_number":5861,"context_line":"        :param instance: the nova.objects.Instance being migrated"},{"line_number":5862,"context_line":"        :param guest: the Guest being migrated"},{"line_number":5863,"context_line":"        :param block_migration: true if block migration is requested"},{"line_number":5864,"context_line":""},{"line_number":5865,"context_line":"        Calculates the total amount of data that needs to be"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_02f74cf6","line":5862,"in_reply_to":"7a740942_98797a32","updated":"2015-12-09 16:10:30.000000000","message":"Missed that one, thanks!","commit_id":"8215bffdc702b329a0101d614d39543390894f56"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"fde523184850a3497ec47198488949d75776e9ed","unresolved":false,"context_lines":[{"line_number":6117,"context_line":"        if block_migration:"},{"line_number":6118,"context_line":"            disk_paths \u003d self._live_migration_copy_disk_paths("},{"line_number":6119,"context_line":"                context, instance, guest)"},{"line_number":6120,"context_line":"            migrate_data.update({\u0027disk_paths\u0027: disk_paths})"},{"line_number":6121,"context_line":""},{"line_number":6122,"context_line":"        # TODO(sahid): We are converting all calls from a"},{"line_number":6123,"context_line":"        # virDomain object to use nova.virt.libvirt.Guest."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_9ffe3c37","line":6120,"updated":"2015-12-09 15:20:06.000000000","message":"Please don\u0027t add more stuff to the migrate_data dict, particularly when it doesn\u0027t need to be passed across the RPC between src \u0026 dst. Just pass the data in as a normal python parameter to the methods that need it.","commit_id":"8215bffdc702b329a0101d614d39543390894f56"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"c2e3f4b6eb4148979dfd0cb22fe5d10dce889f66","unresolved":false,"context_lines":[{"line_number":6117,"context_line":"        if block_migration:"},{"line_number":6118,"context_line":"            disk_paths \u003d self._live_migration_copy_disk_paths("},{"line_number":6119,"context_line":"                context, instance, guest)"},{"line_number":6120,"context_line":"            migrate_data.update({\u0027disk_paths\u0027: disk_paths})"},{"line_number":6121,"context_line":""},{"line_number":6122,"context_line":"        # TODO(sahid): We are converting all calls from a"},{"line_number":6123,"context_line":"        # virDomain object to use nova.virt.libvirt.Guest."}],"source_content_type":"text/x-python","patch_set":1,"id":"7a740942_429f94b4","line":6120,"in_reply_to":"7a740942_9ffe3c37","updated":"2015-12-09 16:10:30.000000000","message":"Will change it. This will also remove dependency on objectifying migrate data...","commit_id":"8215bffdc702b329a0101d614d39543390894f56"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"26df82b2b0ceb36271a4de1ad27b4cfc7d821159","unresolved":false,"context_lines":[{"line_number":5877,"context_line":"            ram_gb \u003d 2"},{"line_number":5878,"context_line":""},{"line_number":5879,"context_line":"        if not block_migration:"},{"line_number":5880,"context_line":"            return ram_gb"},{"line_number":5881,"context_line":""},{"line_number":5882,"context_line":"        disk_gb \u003d 0"},{"line_number":5883,"context_line":"        for path in disk_paths:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a740942_ebd45bbe","line":5880,"updated":"2015-12-09 17:21:39.000000000","message":"Since we pass in \u0027disk_paths \u003d\u003d []\u0027 when doing non-block migration, we can really just delete the \u0027block_migration\u0027 parameter from this method entirely now, and remove this conditional here. The for loop will just \"do the right thing\" when disk_paths is []","commit_id":"3c1658951745398766d245f4062d94550ae34432"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"11674b8d8c79fb9f4ba21ad04e091749fb09f254","unresolved":false,"context_lines":[{"line_number":5880,"context_line":"        #   2. Block live migration without additional non-shared storage"},{"line_number":5881,"context_line":"        #      attached"},{"line_number":5882,"context_line":"        if not disk_paths:"},{"line_number":5883,"context_line":"            return ram_gb"},{"line_number":5884,"context_line":""},{"line_number":5885,"context_line":"        # In case of block live migration with additional non-shared storage"},{"line_number":5886,"context_line":"        # attached, e.g., swap or ephemeral disk, count disks size and sum it"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_a91b911b","line":5883,"updated":"2015-12-10 11:16:31.000000000","message":"I think Dan\u0027s point in patch set 2 was that this conditional is redundant. Given the method is now working on a (possibly empty) list of paths it does not make a lot of sense to divide it into two cases any more. If there are no paths in disk_paths the code below will return ram_gb (because disk_gb sums to 0). So you can just drop this conditional.\n\nI would also change the comment below to remove the \"In case of block live migration...\" and just say something like \"Count size of any non-shared disks and sum it with ram (e.g. swap or ephemeral disks)\"","commit_id":"c7145d91348c421927c1eeb753ae8996b9debc7c"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"4011ee15dea2477d6acf6d93218538e0fc13dbd0","unresolved":false,"context_lines":[{"line_number":5880,"context_line":"        #   2. Block live migration without additional non-shared storage"},{"line_number":5881,"context_line":"        #      attached"},{"line_number":5882,"context_line":"        if not disk_paths:"},{"line_number":5883,"context_line":"            return ram_gb"},{"line_number":5884,"context_line":""},{"line_number":5885,"context_line":"        # In case of block live migration with additional non-shared storage"},{"line_number":5886,"context_line":"        # attached, e.g., swap or ephemeral disk, count disks size and sum it"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a740942_29632143","line":5883,"in_reply_to":"7a740942_a91b911b","updated":"2015-12-10 11:18:43.000000000","message":"Yes exactly, just delete these two lines because the for loop on line 5889 is already a no-op if disk_paths is empty.","commit_id":"c7145d91348c421927c1eeb753ae8996b9debc7c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f2336f7ba23dd0e28ab8d30d2e240abbb8d429fd","unresolved":false,"context_lines":[{"line_number":6086,"context_line":"        disk_paths \u003d []"},{"line_number":6087,"context_line":"        if block_migration:"},{"line_number":6088,"context_line":"            disk_paths \u003d self._live_migration_copy_disk_paths("},{"line_number":6089,"context_line":"                context, instance, guest)"},{"line_number":6090,"context_line":""},{"line_number":6091,"context_line":"        # TODO(sahid): We are converting all calls from a"},{"line_number":6092,"context_line":"        # virDomain object to use nova.virt.libvirt.Guest."}],"source_content_type":"text/x-python","patch_set":7,"id":"fa69d971_f6d9f022","line":6089,"updated":"2016-01-11 21:42:48.000000000","message":"Looks like you have a bad rebase because _live_migration_copy_disk_paths only takes a single argument now, so we have this in the multinode jobs for live migration testing:\n\nhttp://logs.openstack.org/53/247853/21/check/gate-tempest-dsvm-multinode-full/909458c/logs/screen-n-cpu.txt.gz?level\u003dTRACE#_2016-01-11_20_17_18_542","commit_id":"f0d5fc61916f41214da580097a09136e4ed2c99a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"592e4ca9bd35ba258cdc95b8beeb1ceb2424a076","unresolved":false,"context_lines":[{"line_number":6086,"context_line":"        disk_paths \u003d []"},{"line_number":6087,"context_line":"        if block_migration:"},{"line_number":6088,"context_line":"            disk_paths \u003d self._live_migration_copy_disk_paths("},{"line_number":6089,"context_line":"                context, instance, guest)"},{"line_number":6090,"context_line":""},{"line_number":6091,"context_line":"        # TODO(sahid): We are converting all calls from a"},{"line_number":6092,"context_line":"        # virDomain object to use nova.virt.libvirt.Guest."}],"source_content_type":"text/x-python","patch_set":7,"id":"da6ed579_9a4f1592","line":6089,"in_reply_to":"da6ed579_0b9bebca","updated":"2016-01-12 14:26:39.000000000","message":"Fixed here: https://review.openstack.org/#/c/266057/","commit_id":"f0d5fc61916f41214da580097a09136e4ed2c99a"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"295180b55be0e3e76a433924ae9195c18f77370c","unresolved":false,"context_lines":[{"line_number":6086,"context_line":"        disk_paths \u003d []"},{"line_number":6087,"context_line":"        if block_migration:"},{"line_number":6088,"context_line":"            disk_paths \u003d self._live_migration_copy_disk_paths("},{"line_number":6089,"context_line":"                context, instance, guest)"},{"line_number":6090,"context_line":""},{"line_number":6091,"context_line":"        # TODO(sahid): We are converting all calls from a"},{"line_number":6092,"context_line":"        # virDomain object to use nova.virt.libvirt.Guest."}],"source_content_type":"text/x-python","patch_set":7,"id":"da6ed579_0b9bebca","line":6089,"in_reply_to":"fa69d971_f6d9f022","updated":"2016-01-12 08:54:35.000000000","message":"Good catch, looks like I failed a rebase on a patch series. On top of series everything is fine.\n\nWill fix this in a minute and submit a change","commit_id":"f0d5fc61916f41214da580097a09136e4ed2c99a"}]}
