[openstack-dev] [nova] How to debug no valid host failures with placement

Ben Nemec openstack at nemebean.com
Wed Aug 1 20:55:13 UTC 2018



On 08/01/2018 02:22 PM, Matt Riedemann wrote:
> On 8/1/2018 12:06 PM, Ben Nemec wrote:
>> To close the loop on the problem I was having, it looks like the 
>> allocation_ratio config opts are now just defaults, and if you want to 
>> change ratios after the initial deployment you need to do so with the 
>> client.
> 
> You mean how 
> https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.disk_allocation_ratio 
> defaults to 0.0 and that's used in the ResourceTracker to set the 
> inventory?
> 
> https://github.com/openstack/nova/blob/31e6e715e00571925b1163950ea028bdade60d76/nova/compute/resource_tracker.py#L120 
> 
> 
> That should get defaulted to 1.0 if you didn't change the config option:
> 
> https://github.com/openstack/nova/blob/31e6e715e00571925b1163950ea028bdade60d76/nova/objects/compute_node.py#L207 
> 
> 
> If you wanted 2.0, then you should set the disk_allocation_ratio config 
> option to 2.0 on that host - I don't think that is a behavior change is it?

I changed disk_allocation_ratio to 2.0 in the config file and it had no 
effect on the existing resource provider.  I assume that is because I 
had initially deployed with it unset, so I got 1.0, and when I later 
wanted to change it the provider already existed with the default value. 
  So in the past I could do the following:

1) Change disk_allocation_ratio in nova.conf
2) Restart nova-scheduler and/or nova-compute

Now it seems like I need to do:

1) Change disk_allocation_ratio in nova.conf
2) Restart nova-scheduler, nova-compute, and nova-placement (or some 
subset of those?)
3) Use osc-placement to fix up the ratios on any existing resource providers

> 
>>
>> I will note that it's a little annoying that you have to specify all 
>> of the fields on this call.
> 
> I agree with you. The "openstack resource provider inventory set" 
> command is similar in that it is a total overwrite of all inventory for 
> the provider:
> 
> https://docs.openstack.org/osc-placement/latest/cli/index.html#resource-provider-inventory-set 
> 
> 
> So if you want to add just one inventory class (or change one) then you 
> have to repeat all of the existing inventory if you don't want to lose 
> that. And I don't think "openstack resource provider inventory class 
> set" lets you add new inventory classes, it only lets you update 
> existing ones.
> 
> So we probably need something like an --amend option on both commands 
> which are sort of meta commands to retain everything else about the 
> inventory for the provider but only changes the fields that the user 
> specifies.
> 
> We've mostly just been trying to get out *any* CLI support at all, so 
> what is there now is basic functionality, warts and all, and we can 
> iterate over time to make the tools more usable.
> 
> To track this, I've created an RFE bug in launchpad:
> 
> https://bugs.launchpad.net/placement-osc-plugin/+bug/1784932
> 

Cool, thanks.



More information about the OpenStack-dev mailing list