← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1719460] [NEW] (perf) Unnecessarily joining instance.services when listing instances regardless of microversion

 

Public bug reported:

Microversion 2.16 adds the ability to show the host status of an
instance when listing servers with details or showing a single server's
details. By default that is only shown for an admin.

Change https://review.openstack.org/#/c/355558/ helped improve the
performance for this by avoiding lazy-loading the instance.services
column by doing the join in the DB API when querying the instances from
the database.

However, that check is not based on version 2.16, like the 2.26 tags
check below it.

This means that we are unnecessarily joining with the services table
when querying instances with microversions < 2.16, which happens, for
example, by default in the openstack CLI which uses microversion 2.1.

We arguably should make this also conditional on policy so we don't join
for non-admins by default, but that's less of an issue probably as non-
admins probably aren't listing thousands of instances from the
deployment like an admin would.

** Affects: nova
     Importance: Medium
         Status: Triaged


** Tags: api performance

** Summary changed:

- instance.services loading when listing instances regardless of microversion
+ (perf) Unnecessarily joining instance.services when listing instances regardless of microversion

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1719460

Title:
  (perf) Unnecessarily joining instance.services when listing instances
  regardless of microversion

Status in OpenStack Compute (nova):
  Triaged

Bug description:
  Microversion 2.16 adds the ability to show the host status of an
  instance when listing servers with details or showing a single
  server's details. By default that is only shown for an admin.

  Change https://review.openstack.org/#/c/355558/ helped improve the
  performance for this by avoiding lazy-loading the instance.services
  column by doing the join in the DB API when querying the instances
  from the database.

  However, that check is not based on version 2.16, like the 2.26 tags
  check below it.

  This means that we are unnecessarily joining with the services table
  when querying instances with microversions < 2.16, which happens, for
  example, by default in the openstack CLI which uses microversion 2.1.

  We arguably should make this also conditional on policy so we don't
  join for non-admins by default, but that's less of an issue probably
  as non-admins probably aren't listing thousands of instances from the
  deployment like an admin would.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1719460/+subscriptions


Follow ups