set nova admin role if keystone user has "Admin" role

This commit is contained in:
Jesse Andrews 2011-06-09 19:02:12 -07:00
parent 6ff079a458
commit cfce057aaa
1 changed files with 3 additions and 0 deletions

View File

@ -61,6 +61,9 @@ class KeystoneAuthShim(wsgi.Middleware):
user_ref = self.auth.get_user(user_id)
except:
user_ref = self.auth.create_user(user_id)
# set admin if user has admin role
if user_ref.is_admin() != (req.headers.get('X_ROLE', None) == 'Admin'):
self.auth.modify_user(user_ref, admin=req.headers.get('X_ROLE') == 'Admin')
project_id = req.headers['X_TENANT']
try:
project_ref = self.auth.get_project(project_id)