<div>Make sure you're specifying a tenant (e.g. OS_TENANT_NAME) in order to receive authorization (e.g. the admin role) to perform nova list. You can debug the authn/authz process using "keystone token-get" (this doc is for folsom, but should work for essex, although the arguments may have changed, check "keystone --help"):</div>
<div><br></div><a href="http://docs.openstack.org/trunk/openstack-compute/install/apt/content/verifying-identity-install.html">http://docs.openstack.org/trunk/openstack-compute/install/apt/content/verifying-identity-install.html</a><br>
<br><div>If you're running into issues between your LDAP schema and what keystone Essex expects, it's worth pointing out that keystone became a lot more flexible in terms of LDAP configuration in Folsom.</div><div class="gmail_extra">
<br clear="all"><div><div><br></div>-Dolph</div><br>
<br><br><div class="gmail_quote">On Tue, Dec 18, 2012 at 3:07 PM, Christopher Smith <span dir="ltr"><<a href="mailto:csmith@wolfram.com" target="_blank">csmith@wolfram.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hey everybody,<br>
<br>
We're trying very hard to build an Openstack cluster here, and I've been running into some trouble with the Keystone LDAP identity backend.  I have every expectation that this is just something I have misconfigured, but honestly the documentation seems somewhat lacking for this, so I haven't been able to figure out what is going wrong.<br>

<br>
Here's the current situation:<br>
<br>
We have gotten an entire Openstack installation working, using the SQL backends to keystone.  We're currently trying to move the identity into LDAP.  This has caused a few problems, but the one I'm stuck on at the moment is that the admin user seems not to be associated with the admin role.  Nor does keystone seem to be attempting at all to look up role information.<br>

<br>
The relevant section of keystone.conf looks like:<br>
<br>
[ldap]<br>
url = ldap://<a href="http://ldap.wolfram.com" target="_blank">ldap.wolfram.com</a><br>
tree_dn = ou=OpenStack,dc=wolfram,dc=com<br>
user_tree_dn = ou=Users,ou=OpenStack,dc=wolfram,dc=com<br>
role_tree_dn = ou=Roles,ou=OpenStack,dc=example,dc=com<br>
tenant_tree_dn = ou=Groups,ou=OpenStack,dc=wolfram,dc=com<br>
user = cn=directory,ou=misc,ou=OpenStack,dc=wolfram,dc=com<br>
password = redacted (but the bind is successful)<br>
suffix = cn=wolfram,cn=com<br>
<br>
Now, I've captured the traffic between keystone and ldap for when I execute any nova operation, say, nova list.  What I get is a set of successful binds as cn=directory, a search request against ou=Users, one against ou=Groups, one for admin's UID in ou=Users, then re-bind as the Admin object -- also successful, so I assume I'm authenticated. Next I have a search by ID for the admin group.  This, depending on the operation, might be repeated along with additional lookups for the lists of users and groups against the corresponding OUs.  Anyway, all of this looks reasonable to me, expect that it doesn't appear to ever be trying to assign roles, which I'd like for it to do.<br>

<br>
My LDAP structure looks like this:<br>
<br>
ou=OpenStack<br>
  ou=Groups<br>
    Contains a set of groupOfNames objects with cn=id,ou=name member=DN of member.  Our tenants are stored here.<br>
  ou=misc<br>
    This is just a place to stick the keystone directory user for the initial bind.<br>
  ou=Roles<br>
    Contains a set of organizationalRole objects with ou=name, cn=id, roleOccupant=DN of member<br>
  ou=Users<br>
    Contains a set of inetOrgPerson objects with ou=username and cn=id<br>
<br>
Any ideas what I'm missing?<br>
<br>
Chris<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Christopher Smith<br>
Systems Engineer, Wolfram Research<br>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</font></span></blockquote></div><br></div>