Its also could be more difficult for ops to debug if it autocreates it on a 
cluster when config management is broken and you don't realize it, and you see 
keys that were created, but totally wrong for the cluster.

Though maybe there should be a generic ha=True option in keystone to override 
that behavior and never try creating keys. Then default ha=False.

Thanks,
Kevin
________________________________
From: Adam Young [ayo...@redhat.com]
Sent: Monday, April 18, 2016 3:14 PM
To: openstack-dev@lists.openstack.org
Subject: Re: [openstack-dev] [Keystone] State of Fernet Token deployment

On 04/18/2016 10:29 AM, Brant Knudson wrote:


On Fri, Apr 15, 2016 at 9:04 PM, Adam Young 
<ayo...@redhat.com<mailto:ayo...@redhat.com>> wrote:
We all want Fernet to be a reality.  We ain't there yet (Except for mfish who 
has no patience) but we are getting closer.  The goal is to get Fernet as the 
default token provider as soon as possible. The review to do this has uncovered 
a few details that need to be fixed before we can do this.

Trusts for V2 tokens were not working correctly.  Relatively easy fix. 
https://review.openstack.org/#/c/278693/ Patch is still failing on Python 3.  
The tests are kindof racy due to the revocation event 1 second granularity.  
Some of the tests here have A sleep (1) in them still, but all should be using 
the time control aspect of the unit test fixtures.

Some of the tests also use the same user to validate a token as that have, for 
example, a role unassigned.  These expose a problem that the revocation events 
are catching too many tokens, some of which should not be treated as revoked.

Also, some of the logic for revocation checking has to change. Before, if a 
user had two roles, and had one removed, the token would be revoked.  Now, 
however, the token will validate successful, but the response will only have 
the single assigned role in it.


Python 3 tests are failing because the Fernet formatter is insisting that all 
project-ids be valid UUIDs, but some of the old tests have "FOO" and "BAR" as 
ids.  These either need to be converted to UUIDS, or the formatter needs to be 
more forgiving.

Caching of token validations was messing with revocation checking. Tokens that 
were valid once were being reported as always valid. Thus, the current review  
removes all caching on token validations, a change we cannot maintain.  Once 
all the test are successfully passing, we will re-introduce the cache, and be 
far more aggressive about cache invalidation.

Tempest tests are currently failing due to Devstack not properly identifying 
Fernet as the default token provider, and creating the Fernet key repository.  
I'm tempted to just force devstack to always create the directory, as a user 
would need it if they ever switched the token provider post launch anyway.


There's a review to change devstack to default to fernet: 
https://review.openstack.org/#/c/195780/ . This was mostly to show that tempest 
still passes with fernet configured. It uncovered a couple of test issues 
(similar in nature to the revocation checking issues mentioned in the original 
note) that have since been fixed.

We'd prefer to not have devstack overriding config options and instead use 
keystone's defaults. The problem is if fernet is the default in keystone then 
it won't work out of the box since the key database won't exist. One option 
that I think we should investigate is to have keystone create the key database 
on startup if it doesn't exist.

In some deployment, they should be owned by different users.  In general, a 
system/daemon user should not be writing to /etc.  Key rotation/etc is likely 
to be handled by an external Content management system, so it might not be the 
right default.



- Brant




__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: 
openstack-dev-requ...@lists.openstack.org?subject:unsubscribe<mailto:openstack-dev-requ...@lists.openstack.org?subject:unsubscribe>
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to