)]}'
{"nova/virt/vmwareapi/vmops.py":[{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"f0c874f457beb6003ade5881bdd608a077179a8d","unresolved":false,"context_lines":[{"line_number":947,"context_line":"        try:"},{"line_number":948,"context_line":"            # Create a temporary VM (linked clone from snapshot), then export"},{"line_number":949,"context_line":"            # the VM\u0027s root disk to glance via HttpNfc API"},{"line_number":950,"context_line":"            snapshot_vm_ref, snapshot_vm_name \u003d \\"},{"line_number":951,"context_line":"                self._create_linked_clone_from_snapshot("},{"line_number":952,"context_line":"                instance, vm_ref, snapshot_ref, dc_info)"},{"line_number":953,"context_line":"            images.upload_image_stream_optimized("}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_4e5bfe54","line":950,"updated":"2015-08-24 09:35:27.000000000","message":"snapshot_vm_name doesn\u0027t seem to be used","commit_id":"22a73da1e81437a36464c3a30e0261041b8f884f"},{"author":{"_account_id":13158,"name":"Zhongcheng Lao","email":"zlao@vmware.com","username":"zlao"},"change_message_id":"fdbcd19210ae4a3933e6e801c8769872ae47c895","unresolved":false,"context_lines":[{"line_number":947,"context_line":"        try:"},{"line_number":948,"context_line":"            # Create a temporary VM (linked clone from snapshot), then export"},{"line_number":949,"context_line":"            # the VM\u0027s root disk to glance via HttpNfc API"},{"line_number":950,"context_line":"            snapshot_vm_ref, snapshot_vm_name \u003d \\"},{"line_number":951,"context_line":"                self._create_linked_clone_from_snapshot("},{"line_number":952,"context_line":"                instance, vm_ref, snapshot_ref, dc_info)"},{"line_number":953,"context_line":"            images.upload_image_stream_optimized("}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_6159338e","line":950,"in_reply_to":"fa1b9901_4e5bfe54","updated":"2015-08-24 09:54:29.000000000","message":"Done","commit_id":"22a73da1e81437a36464c3a30e0261041b8f884f"},{"author":{"_account_id":9172,"name":"Radoslav Gerganov","email":"rgerganov@vmware.com","username":"rgerganov"},"change_message_id":"f0c874f457beb6003ade5881bdd608a077179a8d","unresolved":false,"context_lines":[{"line_number":967,"context_line":""},{"line_number":968,"context_line":"            except Exception as ex:"},{"line_number":969,"context_line":"                LOG.exception(ex)"},{"line_number":970,"context_line":"                LOG.warning(_LW(\u0027Failed to remove snapshot.\u0027),"},{"line_number":971,"context_line":"                            instance\u003dinstance)"},{"line_number":972,"context_line":""},{"line_number":973,"context_line":"    def reboot(self, instance, network_info, reboot_type\u003d\"SOFT\"):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_4e221ebb","line":970,"updated":"2015-08-24 09:35:27.000000000","message":"\u0027Failed to remove temporary VM and its snapshot\u0027","commit_id":"22a73da1e81437a36464c3a30e0261041b8f884f"},{"author":{"_account_id":13158,"name":"Zhongcheng Lao","email":"zlao@vmware.com","username":"zlao"},"change_message_id":"fdbcd19210ae4a3933e6e801c8769872ae47c895","unresolved":false,"context_lines":[{"line_number":967,"context_line":""},{"line_number":968,"context_line":"            except Exception as ex:"},{"line_number":969,"context_line":"                LOG.exception(ex)"},{"line_number":970,"context_line":"                LOG.warning(_LW(\u0027Failed to remove snapshot.\u0027),"},{"line_number":971,"context_line":"                            instance\u003dinstance)"},{"line_number":972,"context_line":""},{"line_number":973,"context_line":"    def reboot(self, instance, network_info, reboot_type\u003d\"SOFT\"):"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_a15f4b74","line":970,"in_reply_to":"fa1b9901_4e221ebb","updated":"2015-08-24 09:54:29.000000000","message":"Done","commit_id":"22a73da1e81437a36464c3a30e0261041b8f884f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7b98e6122657ac16eb504701fed3d9390c26db2f","unresolved":false,"context_lines":[{"line_number":965,"context_line":"                self._delete_vm_snapshot(instance, vm_ref, snapshot_ref)"},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"            except Exception as ex:"},{"line_number":968,"context_line":"                LOG.exception(ex)"},{"line_number":969,"context_line":"                LOG.warning(_LW(\u0027Failed to remove temporary VM \u0027"},{"line_number":970,"context_line":"                                \u0027and its snapshot.\u0027),"},{"line_number":971,"context_line":"                            instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_3fb76b3b","line":968,"updated":"2015-08-30 10:45:34.000000000","message":"I think that it would be better if you just did:\n\n                LOG.exception(_LE(\u0027Failed to remove temporary VM \u0027\n                                \u0027and its snapshot.\u0027),\n                            instance\u003dinstance)","commit_id":"8de316667614b202876efb1601cb4c784b752294"},{"author":{"_account_id":13158,"name":"Zhongcheng Lao","email":"zlao@vmware.com","username":"zlao"},"change_message_id":"5bd328725d16882754bbc5cef311cd7bbd144d9a","unresolved":false,"context_lines":[{"line_number":965,"context_line":"                self._delete_vm_snapshot(instance, vm_ref, snapshot_ref)"},{"line_number":966,"context_line":""},{"line_number":967,"context_line":"            except Exception as ex:"},{"line_number":968,"context_line":"                LOG.exception(ex)"},{"line_number":969,"context_line":"                LOG.warning(_LW(\u0027Failed to remove temporary VM \u0027"},{"line_number":970,"context_line":"                                \u0027and its snapshot.\u0027),"},{"line_number":971,"context_line":"                            instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da20952f_7d6c0635","line":968,"in_reply_to":"da20952f_3fb76b3b","updated":"2015-08-31 01:25:08.000000000","message":"Will change it to\n\nLOG.warning(_LE(\u0027Failed to remove temporary VM \u0027\n                                \u0027and its snapshot.\u0027),\n                      instance\u003dinstance, exc_info\u003dTrue)\n\nas I\u0027ve noticed a similar call in _destroy_instance.","commit_id":"8de316667614b202876efb1601cb4c784b752294"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"8760f7d6618792b08f0525a32470f2d237bd4477","unresolved":false,"context_lines":[{"line_number":966,"context_line":"                # TODO(vui) Add handling for when vmdk volume is attached."},{"line_number":967,"context_line":"                self._delete_vm_snapshot(instance, vm_ref, snapshot_ref)"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"            except Exception:"},{"line_number":970,"context_line":"                LOG.warning(_LW(\u0027Failed to remove temporary VM \u0027"},{"line_number":971,"context_line":"                                \u0027and its snapshot.\u0027),"},{"line_number":972,"context_line":"                            instance\u003dinstance, exc_info\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a710552_911c8a78","line":969,"updated":"2015-12-16 13:17:59.000000000","message":"is there no more specific exceptions to catch?","commit_id":"e1fdefd20b5cfd24e368fffce06d7376ecc439d4"},{"author":{"_account_id":13158,"name":"Zhongcheng Lao","email":"zlao@vmware.com","username":"zlao"},"change_message_id":"dbd25d621ddf876232fe4cd41969f9de0f6809e2","unresolved":false,"context_lines":[{"line_number":966,"context_line":"                # TODO(vui) Add handling for when vmdk volume is attached."},{"line_number":967,"context_line":"                self._delete_vm_snapshot(instance, vm_ref, snapshot_ref)"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"            except Exception:"},{"line_number":970,"context_line":"                LOG.warning(_LW(\u0027Failed to remove temporary VM \u0027"},{"line_number":971,"context_line":"                                \u0027and its snapshot.\u0027),"},{"line_number":972,"context_line":"                            instance\u003dinstance, exc_info\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":12,"id":"1a122d0e_39df593b","line":969,"in_reply_to":"5a710552_911c8a78","updated":"2016-04-27 15:04:38.000000000","message":"I don\u0027t think we need to catch specific exceptions here.\nThe cause of the issue was due to any exceptions thrown\nafter the image upload is done.\nThe image state has been changed to ACTIVE automatically,\nwhen the user may be expecting to use the image at that time.\n\nTherefore no matter a specific exception\n(VMware driver specific ones) or\nany kind of generic exception is thrown,\nchanging the image\u0027s state back to other states\nis not something expected by the user.\nThe user may still complain about the issue\nif we only catch specific exceptions.\n\nUnless there is a way to maintain the state on its own in nova,\nI think it\u0027s better to leave all the exceptions\nomitted during the clean up.","commit_id":"e1fdefd20b5cfd24e368fffce06d7376ecc439d4"},{"author":{"_account_id":13158,"name":"Zhongcheng Lao","email":"zlao@vmware.com","username":"zlao"},"change_message_id":"32978a56f7d3e3ae666d1066d64ea33f477314ee","unresolved":false,"context_lines":[{"line_number":966,"context_line":"                # TODO(vui) Add handling for when vmdk volume is attached."},{"line_number":967,"context_line":"                self._delete_vm_snapshot(instance, vm_ref, snapshot_ref)"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"            except Exception:"},{"line_number":970,"context_line":"                LOG.warning(_LW(\u0027Failed to remove temporary VM \u0027"},{"line_number":971,"context_line":"                                \u0027and its snapshot.\u0027),"},{"line_number":972,"context_line":"                            instance\u003dinstance, exc_info\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a7e1126_137ecbe4","line":969,"in_reply_to":"5a710552_911c8a78","updated":"2015-12-17 00:38:17.000000000","message":"I just don\u0027t think we should catch a specific exception because it\u0027s going to ignore any kind of exceptions once the image state becomes ACTIVE.","commit_id":"e1fdefd20b5cfd24e368fffce06d7376ecc439d4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"85f131465b0577d95153e908ebe4b14a2631a7ae","unresolved":false,"context_lines":[{"line_number":966,"context_line":"                # TODO(vui) Add handling for when vmdk volume is attached."},{"line_number":967,"context_line":"                self._delete_vm_snapshot(instance, vm_ref, snapshot_ref)"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"            except Exception:"},{"line_number":970,"context_line":"                LOG.warning(_LW(\u0027Failed to remove temporary VM \u0027"},{"line_number":971,"context_line":"                                \u0027and its snapshot.\u0027),"},{"line_number":972,"context_line":"                            instance\u003dinstance, exc_info\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":12,"id":"3a7e1126_f6d20d34","line":969,"in_reply_to":"5a710552_911c8a78","updated":"2015-12-17 00:58:31.000000000","message":"I thought catching Exception is okay here because this is during cleanup of their temporary VM and snapshot and it seemed reasonable to warn and move on no matter what the failure was","commit_id":"e1fdefd20b5cfd24e368fffce06d7376ecc439d4"}]}
