← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1690845] [NEW] hypervisor show/uptime may give inaccurate results when using multiple cells and a duplicate id

 

Public bug reported:

This was pointed out during review:

https://review.openstack.org/#/c/461532/4/nova/compute/api.py@4536

If we have multiple cells and compute hosts within them that have the
same primary key id, doing a show or uptime call to the os-hypervisors
API could result in retrieving the wrong host.

For example, let's say I have two cells, A and B, and a nova-compute
service in each one with id=1.

When I want to show details on that one (GET /os-hypervisors/1) I'm only
going to get it back from the first cell processed (A).

The API should be smarter about letting the user know when there are
duplicates and fail, like we do for showing details about or deleting a
service record in the os-services API and the
nova.compute.api.HostAPI._find_service method.

Eventually when we add a microversion to get/return compute nodes
(hypervisors) and services by their unique uuid then we won't need to
worry about the duplicate case. That's being worked in this blueprint:
https://blueprints.launchpad.net/nova/+spec/service-hyper-uuid-in-api

** Affects: nova
     Importance: Medium
         Status: Triaged


** Tags: api multi-cell

-- 
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/1690845

Title:
  hypervisor show/uptime may give inaccurate results when using multiple
  cells and a duplicate id

Status in OpenStack Compute (nova):
  Triaged

Bug description:
  This was pointed out during review:

  https://review.openstack.org/#/c/461532/4/nova/compute/api.py@4536

  If we have multiple cells and compute hosts within them that have the
  same primary key id, doing a show or uptime call to the os-hypervisors
  API could result in retrieving the wrong host.

  For example, let's say I have two cells, A and B, and a nova-compute
  service in each one with id=1.

  When I want to show details on that one (GET /os-hypervisors/1) I'm
  only going to get it back from the first cell processed (A).

  The API should be smarter about letting the user know when there are
  duplicates and fail, like we do for showing details about or deleting
  a service record in the os-services API and the
  nova.compute.api.HostAPI._find_service method.

  Eventually when we add a microversion to get/return compute nodes
  (hypervisors) and services by their unique uuid then we won't need to
  worry about the duplicate case. That's being worked in this blueprint:
  https://blueprints.launchpad.net/nova/+spec/service-hyper-uuid-in-api

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