← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1424745] Re: SQL/LDAP are not able to honor multiple filters in driver_hints.Hints()

 

** Changed in: keystone
       Status: Fix Committed => Fix Released

** Changed in: keystone
    Milestone: None => kilo-3

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Keystone.
https://bugs.launchpad.net/bugs/1424745

Title:
  SQL/LDAP are not able to honor multiple filters in
  driver_hints.Hints()

Status in OpenStack Identity (Keystone):
  Fix Released

Bug description:
  When iterating over the list of filters to honor them [1] [2], the
  method remove elements from that list at the same time [3] [4].

  This way, not all filters are honored since the internal idx used by
  python is not aware of the removal while iterating. The following
  example code exposes this behavior:

  a=[1,2]
  for b in a:
      print b
      a.remove(b)

  It prints 1 and the list ends with element 2.

  [1] https://github.com/openstack/keystone/blob/master/keystone/common/sql/core.py#L319-L325
  [2] https://github.com/openstack/keystone/blob/master/keystone/common/ldap/core.py#L1750-L1755
  [3] https://github.com/openstack/keystone/blob/master/keystone/common/sql/core.py#L314
  [4] https://github.com/openstack/keystone/blob/master/keystone/common/ldap/core.py#L1742

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


References