[openstack-dev] [nova] How to debug no valid host failures with placement
Eric Fried
openstack at fried.cc
Fri Aug 3 15:12:16 UTC 2018
> I'm of two minds here.
>
> On the one hand, you have the case where the end user has accidentally
> requested some combination of things that isn't normally available, and
> they need to be able to ask the provider what they did wrong. I agree
> that this case is not really an exception, those resources were never
> available in the first place.
>
> On the other hand, suppose the customer issues a valid request and it
> works, and then issues the same request again and it fails, leading to a
> violation of that customers SLA. In this case I would suggest that it
> could be considered an exception since the system is not delivering the
> service that it was intended to deliver.
While the case can be made for this being an exception from *nova* (I'm
not getting into that), it is not an exception from the point of view of
*placement*. You asked a service "list the ways I can do X". The first
time, there were three ways. The second time, zero.
It would be like saying:
# This is the "placement" part
results = [x for x in l if <condition>]
# It is up to the placement *consumer* (e.g. nova) to do this, or not
if len(results) == 0:
raise Something()
The hard point, which I'm not disputing, is that the end user needs a
way to understand *why* len(results) == 0.
efried
.
More information about the OpenStack-dev
mailing list