On 07/05/2012 03:12 PM, Matt Joyce wrote:
Don't know if we want it.

So the justifications are:

1.  Redundancy
2.  Scalability
3.  Separation of concerns.

For example, I could see a Set up where there are two Keystone servers with different back ends, one using the corporate LDAP for in house use, one using a MySQL database for partners.

I could see variations where a Keystone instance gets deployed inside a corporate firewall, using a strict auth mechanism like Kerberos or Smart Cards, and those tokens are used to talk to a remove Openstack install. Again, just for a subset of users.


But we may want to consider the idea of satellite read only keystone servers.

Not sure we can do strict read only, if the satellite serverws are responsible for issuing out tokens.


Mind you that may just be solving problems we don't even have yet.

-Matt

On Thu, Jul 5, 2012 at 11:26 AM, Adam Young <ayo...@redhat.com <mailto:ayo...@redhat.com>> wrote:

    I am contemplating writing up a post-Folsom Blueprint for Keystone
    Federation and /or replication, and would like to solicit input
    from the community.

    With Signed tokens,  we can provide the name of the Keystone
    server that signed the token.  With this comes the need to verify
    that the specified Keystone server is a valid server.  The logical
    way would be to check it against the service catalog.  I think the
    flow should go something like this:

    when you start up a service like glance it should have a Keystone
    server specified.

    When a token comes in with Keystone server that it does not
    recognize,  it queries the known Keystone server's service catalog
    to see if the keystone server is a registered endpoint.  This
    service catalog can get cached for some short amount of time to
    ensure we don't trigger a flurry of activity on a series of bogus
    requests.

    When a new Keystone server comes on line,  it gets registered with
    an existing Keystone server.  At this point, it requests its token
    signing certificate.  Once it recieves the signing cert, an  AMQP
    message then goes out to the other Keystone servers announcing the
    new keystone service.

    Retirement of a Keystone server would be done in a similar way.

    There are three scenarios I could see:

    1)  No one Keystone server would hold a complete user or tenant
    list.  Instead,  each would hold a subset of the tenants.  A user
    might exist in multiple Keystone databases if they are enrolled in
    multiple tenants, some of which are in one Keystone, some of which
    are in another.

    2)  The entire user database is synchronized across all of the
    keystone instances.

    3)  The Keystone instances use a single shared DBMS and are
    automatically synchronized.  Federation is just for redundancy and
    scaling.

    I don't want to build this just to build it.  I'd like to know if
    A)  there is a real need for Keystone Federation and B) If anyone
    else has thought through the problem and encountered issues I have
    not enumerated.  If there is enough interest, I will edit the
    discussion into a blueprint.



    _______________________________________________
    Mailing list: https://launchpad.net/~openstack
    <https://launchpad.net/%7Eopenstack>
    Post to     : openstack@lists.launchpad.net
    <mailto:openstack@lists.launchpad.net>
    Unsubscribe : https://launchpad.net/~openstack
    <https://launchpad.net/%7Eopenstack>
    More help   : https://help.launchpad.net/ListHelp




_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to