[openstack-dev] [nova] Metadata API cross joining "instance_metadata" and "instance_system_metadata"
Jay Pipes
jaypipes at gmail.com
Tue Dec 18 12:48:08 UTC 2018
On 12/17/2018 06:15 PM, Matt Riedemann wrote:
> On 12/12/2018 1:18 PM, Matt Riedemann wrote:
>> Coming back on this thread [1], I've got a partial fix up which I'm
>> hoping will help:
>>
>> https://review.openstack.org/#/c/624778/
>>
>> That will avoid joining on some other tables depending on your
>> configuration. It would be great if you could see if that helps
>> resolve your issue. I think you just reverted
>> https://review.openstack.org/#/c/276861/ as a workaround but it would
>> be good to know if a more permanent fix (mine) gets you similar, or at
>> least satisfactory, results.
>>
>> [1]
>> http://lists.openstack.org/pipermail/openstack-dev/2018-October/thread.html#135941
>>
>
> I have abandoned that change since it turns out that we need to join on
> the instance_system_metadata table to get the instance password which is
> retrieved from a base metadata request. Otherwise you can see the
> failures here [1].
>
> So either we need to:
>
> * Optimize the instance get DB query and joins we do. Dan was looking at
> this but it was non-trivial.
>
> * Reconsider how we store the instance password so it's not in the
> instance_system_metadata table.
>
> Or deployments can aggressively cache the metadata API responses (or
> scale out the number of metadata API workers) to try and deal with load.
>
> [1]
> http://logs.openstack.org/78/624778/1/check/tempest-full/8d3c124/controller/logs/screen-n-api-meta.txt.gz#_Dec_13_08_45_56_602421
Well, technically, we *could* do all three of the above, right? :) It's
not an either/or situation, AFAIU.
From looking at your patches, I think the long-term solution to this
would be to stop storing the instance password in the
instance_system_metadata table, but from looking into those code paths
(eww...) I realize that would be a huge chunk of tech debt refactoring.
Maybe something to line up for early Train?
Best,
-jay
More information about the openstack-discuss
mailing list