← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1339382] Re: horizon ignores region for identity

 

Even when setting the available regions, Horizon is always talking to
the first Identity endpoint in the list, ignoring what's in that region
list except for the initial login. This does not seem to be the correct
behavior. In our case the identity system is global but the we have
separate VIPs per geographic region. When Horizon chooses to only talk
to one geographic region regardless it add a single point of failure.

In this example, I'm signing into a region "West" which has a defined
endpoint of http://d...

Sign-in:

2014-07-11 19:02:59,575 24827 DEBUG keystoneclient.session REQ: curl -i
-X POST http://d:5000/v2.0/tokens -H ...

After I get the catalog, Horizon says "well I'll just use the first one
I find"

And all subsequent calls do this, talking to "C" which is 1500 miles
away.

2014-07-11 19:03:01,334 24829 DEBUG keystoneclient.session REQ: curl -i
-X POST http://c:5000/v2.0/tokens

While this works, since our Identity is global, it is inefficient. It
also causes all generated OPENRC files to point to the same place,
thereby propagating this inefficiency and SPOF to our users.

** Changed in: horizon
       Status: Invalid => New

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

Title:
  horizon ignores region for identity

Status in OpenStack Dashboard (Horizon):
  New

Bug description:
  In our setup we have multiple regions with an identity endpoint in
  each. For some reason Horizon ignores regions for idenity and just
  returns the first one in the list.

  in openstack_dashboard/api/base.py
  def get_url_for_service(service, region, endpoint_type):
      identity_version = get_version_from_service(service)
      for endpoint in service['endpoints']:
          # ignore region for identity
          if service['type'] == 'identity' or region == endpoint['region']:
              try:
  ...

  This causes the openrc file generation to include the first identity
  endpoint always and it always shows the first one in the endpoint
  list.

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


References