On 10/16/2017 09:22 AM, Matt Riedemann wrote:

2. Should we null out the instance.availability_zone when it's shelved offloaded
like we do for the instance.host and instance.node attributes? Similarly, we
would not take into account the RequestSpec.availability_zone when scheduling
during unshelve. I tend to prefer this option because once you unshelve offload
an instance, it's no longer associated with a host and therefore no longer
associated with an AZ.

This statement isn't true in the case where the user specifically requested a non-default AZ at boot time.

However, is it reasonable to assume that the user doesn't
care that the instance, once unshelved, is no longer in the originally requested
AZ? Probably not a safe assumption.

If they didn't request a non-default AZ then I think we could remove it.

3. When a user unshelves, they can't propose a new AZ (and I don't think we want
to add that capability to the unshelve API). So if the original AZ is gone,
should we automatically remove the RequestSpec.availability_zone when
scheduling? I tend to not like this as it's very implicit and the user could see
the AZ on their instance change before and after unshelve and be confused.

I think allowing the user to specify an AZ on unshelve might be a reasonable option. Or maybe just allow modifying the AZ of a shelved instance without unshelving it via a PUT on /servers/{server_id}.

4. We could simply do nothing about this specific bug and assert the behavior is
correct. The user requested an instance in a specific AZ, shelved that instance
and when they wanted to unshelve it, it's no longer available so it fails. The
user would have to delete the instance and create a new instance from the shelve
snapshot image in a new AZ.

I'm inclined to feel that this is operator error. If they want to delete an AZ that has shelved instances then they should talk with their customers and update the stored AZ in the DB to a new "valid" one. (Though currently this would require manual DB operations.)

If we implemented Sylvain's spec in #1 above, maybe
we don't have this problem going forward since you couldn't remove/delete an AZ
when there are even shelved offloaded instances still tied to it.

I kind of think it would be okay to disallow deleting AZs with shelved instances in them.

Chris

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to