[openstack-dev] [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-dev
mailing list