)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"5db7f81cee27679ba40cc3240f13d3e2c6bfbca6","unresolved":false,"context_lines":[{"line_number":2653,"context_line":""},{"line_number":2654,"context_line":"        dest_size \u003d int(vol_size) * units.Gi"},{"line_number":2655,"context_line":""},{"line_number":2656,"context_line":"        if image_size \u003e dest_size:"},{"line_number":2657,"context_line":"            raise exception.FlavorDiskSmallerThanImage("},{"line_number":2658,"context_line":"                flavor_size\u003ddest_size, image_size\u003dimage_size)"},{"line_number":2659,"context_line":""},{"line_number":2660,"context_line":"        if image_min_disk \u003e dest_size:"},{"line_number":2661,"context_line":"            raise exception.FlavorDiskSmallerThanMinDisk("},{"line_number":2662,"context_line":"                flavor_size\u003ddest_size, image_min_disk\u003dimage_min_disk)"},{"line_number":2663,"context_line":""},{"line_number":2664,"context_line":"        new_vol \u003d self.volume_api.create(context,"},{"line_number":2665,"context_line":"                                         vol_size,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a30ddce_4f28d886","line":2662,"range":{"start_line":2656,"start_character":0,"end_line":2662,"end_character":69},"updated":"2017-03-09 17:09:23.000000000","message":"Why not to adjust disk_size to fit image_meta\u0027s requirements?","commit_id":"a93efff2f025fa824f669836be0794a62103b2f0"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"5db7f81cee27679ba40cc3240f13d3e2c6bfbca6","unresolved":false,"context_lines":[{"line_number":2665,"context_line":"                                         vol_size,"},{"line_number":2666,"context_line":"                                         vol_name,"},{"line_number":2667,"context_line":"                                         display_description,"},{"line_number":2668,"context_line":"                                         volume_type\u003dvol_type,"},{"line_number":2669,"context_line":"                                         metadata\u003dmetadata,"},{"line_number":2670,"context_line":"                                         availability_zone\u003davailability_zone,"},{"line_number":2671,"context_line":"                                         image_id\u003dimage_meta.id)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a30ddce_aa3ea2d7","line":2668,"range":{"start_line":2668,"start_character":41,"end_line":2668,"end_character":61},"updated":"2017-03-09 17:09:23.000000000","message":"This is the only reason not to use virt.block_device.convert_volume, because the last one does not support volume types. The same is partially true for AZs. This is needed if we reboot an instance booted from a volume specified in boot params. But should we support this case? Would it be right to recreate the volume which was created not by Nova? I think we may not support this case. I.e. if a user created a volume and used it to boot a volume, he/she must care about a new volume to reboot the instance. Attach/detach root volume feature may be used for that when it\u0027s developed (i\u0027ve seen the spec for that some time ago).\n\nSo i\u0027d propose to use virt.block_device.convert_volume to create the new volume instead of this direct volume_api call. Moreover, a lot of Nova guys like to remember \u0027no more orchestration stuff\u0027 rule. If you reuse the existing method, you decrease a risk of this rule usage.","commit_id":"a93efff2f025fa824f669836be0794a62103b2f0"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"5db7f81cee27679ba40cc3240f13d3e2c6bfbca6","unresolved":false,"context_lines":[{"line_number":2669,"context_line":"                                         metadata\u003dmetadata,"},{"line_number":2670,"context_line":"                                         availability_zone\u003davailability_zone,"},{"line_number":2671,"context_line":"                                         image_id\u003dimage_meta.id)"},{"line_number":2672,"context_line":"        self._await_block_device_map_created(context, new_vol[\u0027id\u0027])"},{"line_number":2673,"context_line":"        LOG.debug(\u0027Created new root volume %s. Updating bdm.\u0027,"},{"line_number":2674,"context_line":"                  new_vol[\u0027id\u0027])"},{"line_number":2675,"context_line":"        bdm.volume_id \u003d new_vol[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a30ddce_cfd04822","line":2672,"updated":"2017-03-09 17:09:23.000000000","message":"In case of timeout, where new_vol is deleted? It\u0027s not recorded in bdm yet, so it will not be deleted by regular way during the instance termination.","commit_id":"a93efff2f025fa824f669836be0794a62103b2f0"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"5db7f81cee27679ba40cc3240f13d3e2c6bfbca6","unresolved":false,"context_lines":[{"line_number":2709,"context_line":"                                        \u0027%(volume_id)s due to %(exc)s\u0027),"},{"line_number":2710,"context_line":"                                    {\u0027volume_id\u0027: root_bdm.volume_id,"},{"line_number":2711,"context_line":"                                     \u0027exc\u0027: exc})"},{"line_number":2712,"context_line":"                bdms \u003d list(block_device.get_bdms_to_connect("},{"line_number":2713,"context_line":"                    bdms, exclude_root_mapping\u003dTrue))"},{"line_number":2714,"context_line":"                bdms.insert(0, new_root_bdm)"},{"line_number":2715,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9a30ddce_2f72c449","line":2712,"range":{"start_line":2712,"start_character":41,"end_line":2712,"end_character":60},"updated":"2017-03-09 17:09:23.000000000","message":"It skips ephemeral and swap bdms.","commit_id":"a93efff2f025fa824f669836be0794a62103b2f0"},{"author":{"_account_id":10224,"name":"Feodor Tersin","email":"ftersin@hotmail.com","username":"ftersin"},"change_message_id":"5db7f81cee27679ba40cc3240f13d3e2c6bfbca6","unresolved":false,"context_lines":[{"line_number":2711,"context_line":"                                     \u0027exc\u0027: exc})"},{"line_number":2712,"context_line":"                bdms \u003d list(block_device.get_bdms_to_connect("},{"line_number":2713,"context_line":"                    bdms, exclude_root_mapping\u003dTrue))"},{"line_number":2714,"context_line":"                bdms.insert(0, new_root_bdm)"},{"line_number":2715,"context_line":""},{"line_number":2716,"context_line":"        instance.task_state \u003d task_states.REBUILD_BLOCK_DEVICE_MAPPING"},{"line_number":2717,"context_line":"        instance.save(expected_task_state\u003d[task_states.REBUILDING])"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a30ddce_efa26c98","line":2714,"updated":"2017-03-09 17:09:23.000000000","message":"How do you persist the bdm in DB?","commit_id":"a93efff2f025fa824f669836be0794a62103b2f0"}]}
