emulated ldap enabled improperly handles updates
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
Undecided
|
Adam Young |
Bug Description
When tenant_
TYPE_OR_
This is because during EnabledEmuMixIn
diff --git a/keystone/
index a8b4fda..2ec675e 100644
--- a/keystone/
+++ b/keystone/
@@ -496,19 +496,21 @@ class EnabledEmuMixIn
return bool(enabled_value)
def _add_enabled(self, object_id):
- conn = self.get_
- modlist = [(ldap.MOD_ADD,
- 'member',
- [self._
- try:
- conn.modify_
- except ldap.NO_
- attr_list = [('objectClass', ['groupOfNames']),
- ('member',
- [self._
- if self.use_
- attr_list[
- conn.add_
+ enabled_value = self._get_
+ if not enabled_value:
+ conn = self.get_
+ modlist = [(ldap.MOD_ADD,
+ 'member',
+ [self._
+ try:
+ conn.modify_
+ except ldap.NO_
+ attr_list = [('objectClass', ['groupOfNames']),
+ ('member',
+ [self._
+ if self.use_
+ attr_list[
+ conn.add_
def _remove_
conn = self.get_
This way modify operation is attempted if the object already exists.
Changed in keystone: | |
assignee: | Allan Feid (crayz) → Adam Young (ayoung) |
Changed in keystone: | |
milestone: | none → grizzly-rc1 |
status: | Fix Committed → Fix Released |
Changed in keystone: | |
milestone: | grizzly-rc1 → 2013.1 |
The paste above doesn't seem to have worked with spacing