[Openstack-operators] [nova] Regression bug for boot from volume with IsolatedHostsFilter

Matt Riedemann mriedemos at gmail.com
Sun Feb 11 21:45:09 UTC 2018


I triaged this bug a couple of weeks ago:

https://bugs.launchpad.net/nova/+bug/1746483

It looks like it's been regressed since Mitaka when that filter started 
using the RequestSpec object rather than legacy filter_properties dict.

Looking a bit deeper though, it looks like this filter never worked for 
volume-backed instances. That's because this code, called from the 
compute API, never takes the image_id out of the volumes 
"volume_image_metadata":

https://github.com/openstack/nova/blob/fa6c0f9cb14f1b4ce4d9b1dbacb1743173089986/nova/utils.py#L1032

So before the regression that breaks the filter, the filter just never 
got the image.id to validate and accepted whatever host for that 
instance since it didn't know the image to tell if it was isolated or not.

I've got a functional recreate test for the bug and I think it's a 
pretty easy fix, but a question comes up about backports, which is - do 
we do two fixes for this bug, one to backport to stable which is just 
handling the missing RequestSpec.image.id attribute in the filter so the 
filter doesn't explode? Then we do another fix which actually pulls the 
image_id off the volume_image_metadata and put that properly into the 
RequestSpec so the filter actually _works_ with volume-backed instances? 
That would technically be a change in behavior for the filter, albeit 
likely the correct thing to do all along but we just never did it, and 
apparently no one ever noticed or cared (it's not a default enabled 
filter after all).

-- 

Thanks,

Matt



More information about the OpenStack-operators mailing list