That catches the UnableToMigrateToSelf because it doesn't reschedule and re-raises UnableToMigrateToSelf from _prep_resize which then sets the instance to error status:
That exception handler is kind of a pain - we have similar issues with rebuild failing and setting the instance to error status when it probably shouldn't.
In this case we should probably raise InstanceFaultRollback when we hit UnableToMigrateToSelf but even that would set the instance status back to active which it's not in this case (they resized a stopped VM).
And yes that code still exists on master...so this is a valid bug, but has less to do with the 2.56 microversion.
Oh yes I see:
https:/ /github. com/openstack/ nova/blob/ stable/ ocata/nova/ compute/ manager. py#L3798
That catches the UnableToMigrate ToSelf because it doesn't reschedule and re-raises UnableToMigrate ToSelf from _prep_resize which then sets the instance to error status:
https:/ /github. com/openstack/ nova/blob/ stable/ ocata/nova/ compute/ manager. py#L6801
That exception handler is kind of a pain - we have similar issues with rebuild failing and setting the instance to error status when it probably shouldn't.
In this case we should probably raise InstanceFaultRo llback when we hit UnableToMigrate ToSelf but even that would set the instance status back to active which it's not in this case (they resized a stopped VM).
And yes that code still exists on master...so this is a valid bug, but has less to do with the 2.56 microversion.