Merge "Heat and Synergy interfere on the management of the users trust"
This commit is contained in:
commit
2180a51e92
@ -263,24 +263,30 @@ class Worker(Thread):
|
||||
blocking = True
|
||||
|
||||
if quota.allocate(server, blocking=blocking):
|
||||
try:
|
||||
km = self.keystone_manager
|
||||
trust = km.getTrust(context["trust_id"])
|
||||
token = trust.getToken(km.getToken().getId())
|
||||
|
||||
context["auth_token"] = token.getId()
|
||||
context["user_id"] = token.getUser().getId()
|
||||
except Exception as ex:
|
||||
LOG.error("Worker %r: error on getting the token "
|
||||
"for server (id=%r) reason=%s"
|
||||
% (self.name, server.getId(), ex))
|
||||
raise ex
|
||||
|
||||
try:
|
||||
computes = self.nova_manager.selectComputes(request)
|
||||
except Exception as ex:
|
||||
LOG.warn("Worker %s: compute not found for server %r!"
|
||||
" [reason=%s]" % (self.name,
|
||||
server.getId(), ex))
|
||||
server.getId(), ex.message))
|
||||
|
||||
found = False
|
||||
|
||||
for compute in computes:
|
||||
try:
|
||||
km = self.keystone_manager
|
||||
trust = km.getTrust(context["trust_id"])
|
||||
token = trust.getToken(km.getToken().getId())
|
||||
|
||||
context["auth_token"] = token.getId()
|
||||
context["user_id"] = token.getUser().getId()
|
||||
|
||||
self.nova_manager.buildServer(request, compute)
|
||||
|
||||
LOG.info("Worker %r: server (id=%r) "
|
||||
@ -574,13 +580,18 @@ class SchedulerManager(Manager):
|
||||
km = self.keystone_manager
|
||||
token_user = km.validateToken(context["auth_token"])
|
||||
token_admin = km.getToken()
|
||||
admin_id = token_admin.getUser().getId()
|
||||
trust = None
|
||||
|
||||
trusts = km.getTrusts(
|
||||
user_id=token_user.getUser().getId(), token=token_user)
|
||||
|
||||
if trusts:
|
||||
trust = trusts[0]
|
||||
else:
|
||||
for _trust in trusts:
|
||||
if _trust.getTrusteeUserId() == admin_id:
|
||||
trust = _trust
|
||||
break
|
||||
|
||||
if not trust:
|
||||
trust = km.makeTrust(
|
||||
token_admin.getUser().getId(), token_user)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user