← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1757407] [NEW] Notification sending sometimes hits the keystone API to get glance endpoints

 

Public bug reported:

During the investigation of another bug [1] we noticed that notification
sending could trigger keystone API call if the glance/api_server config
is not present in the nova.conf . The notification sending code
paths[2][3] calls info_from_instance [4] that leads to the glance client
get_api_servers function that falls back to keystone to get the
endpoints if the above config is not present.

The versioned notifications do not use the glance endpoint information.
However even if the notifications/notification_format config options is
set to versioned, nova still hits keystone via the instance.exists
notification codepath [3] as that path is shared between versioned and
unversioned notifications.

This leads to an unnecessary REST API call where the result is not used
so the caused performance loss is totally unnecessary.

[1] https://bugs.launchpad.net/nova/+bug/1753550
[2] https://github.com/openstack/nova/blob/db0747591ce8df1b0ca62aac0648b7154fed1f86/nova/compute/utils.py#L305
[3] https://github.com/openstack/nova/blob/6eccfb7c01b7e984cb18c7b75bd20a589dfdfe3d/nova/notifications/base.py#L212
[4] https://github.com/openstack/nova/blob/6eccfb7c01b7e984cb18c7b75bd20a589dfdfe3d/nova/notifications/base.py#L381
[5] https://github.com/openstack/nova/blob/24379f1822e3ae1d4f7c8398e60af6e52b386c32/nova/image/glance.py#L126

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: notifications

** Tags added: notifications

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

Title:
  Notification sending sometimes hits the keystone API to get glance
  endpoints

Status in OpenStack Compute (nova):
  New

Bug description:
  During the investigation of another bug [1] we noticed that
  notification sending could trigger keystone API call if the
  glance/api_server config is not present in the nova.conf . The
  notification sending code paths[2][3] calls info_from_instance [4]
  that leads to the glance client get_api_servers function that falls
  back to keystone to get the endpoints if the above config is not
  present.

  The versioned notifications do not use the glance endpoint
  information. However even if the notifications/notification_format
  config options is set to versioned, nova still hits keystone via the
  instance.exists notification codepath [3] as that path is shared
  between versioned and unversioned notifications.

  This leads to an unnecessary REST API call where the result is not
  used so the caused performance loss is totally unnecessary.

  [1] https://bugs.launchpad.net/nova/+bug/1753550
  [2] https://github.com/openstack/nova/blob/db0747591ce8df1b0ca62aac0648b7154fed1f86/nova/compute/utils.py#L305
  [3] https://github.com/openstack/nova/blob/6eccfb7c01b7e984cb18c7b75bd20a589dfdfe3d/nova/notifications/base.py#L212
  [4] https://github.com/openstack/nova/blob/6eccfb7c01b7e984cb18c7b75bd20a589dfdfe3d/nova/notifications/base.py#L381
  [5] https://github.com/openstack/nova/blob/24379f1822e3ae1d4f7c8398e60af6e52b386c32/nova/image/glance.py#L126

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


Follow ups