Update and refactor zunclient
I do two things on this patch: [1] update params in zunclient [2] refactor params in zunclient by usingi memoized_with_request python-zunclient v1 api refactor client and remove or rename parameters: removed zun_url by using endpoint_override instead input_auth_token was renamed to auth_token and zun-ui was using the old params, listing images and containers on horizon will raise error like: MissingRequiredOptions: Auth plugin requires parameters which were not given: auth_url Change-Id: I6e54981057bad877317ca19d049b8b071394f556 Depends-On: Ie9be389495e2f13454f1f8d1c1d66b22d813a9ec
This commit is contained in:
parent
a51944b2b4
commit
aeee17c10c
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
|
|
||||||
from horizon import exceptions
|
from horizon import exceptions
|
||||||
from horizon.utils.memoized import memoized
|
from horizon.utils.memoized import memoized_with_request
|
||||||
import logging
|
import logging
|
||||||
from openstack_dashboard.api import base
|
from openstack_dashboard.api import base
|
||||||
from zunclient.common import utils
|
from zunclient.common import utils
|
||||||
@ -25,21 +25,40 @@ CONTAINER_CREATE_ATTRS = zun_client.containers.CREATION_ATTRIBUTES
|
|||||||
IMAGE_PULL_ATTRS = zun_client.images.PULL_ATTRIBUTES
|
IMAGE_PULL_ATTRS = zun_client.images.PULL_ATTRIBUTES
|
||||||
|
|
||||||
|
|
||||||
@memoized
|
def get_auth_params_from_request(request):
|
||||||
def zunclient(request):
|
"""Extracts properties needed by zunclient call from the request object.
|
||||||
zun_url = ""
|
|
||||||
|
These will be used to memoize the calls to zunclient.
|
||||||
|
"""
|
||||||
|
endpoint_override = ""
|
||||||
try:
|
try:
|
||||||
zun_url = base.url_for(request, 'container')
|
endpoint_override = base.url_for(request, 'container')
|
||||||
except exceptions.ServiceCatalogException:
|
except exceptions.ServiceCatalogException:
|
||||||
LOG.debug('No Container Management service is configured.')
|
LOG.debug('No Container Management service is configured.')
|
||||||
return None
|
return None
|
||||||
|
return (
|
||||||
|
request.user.username,
|
||||||
|
request.user.token.id,
|
||||||
|
request.user.tenant_id,
|
||||||
|
endpoint_override
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@memoized_with_request(get_auth_params_from_request)
|
||||||
|
def zunclient(request_auth_params):
|
||||||
|
(
|
||||||
|
username,
|
||||||
|
token_id,
|
||||||
|
project_id,
|
||||||
|
endpoint_override
|
||||||
|
) = request_auth_params
|
||||||
|
|
||||||
LOG.debug('zunclient connection created using the token "%s" and url'
|
LOG.debug('zunclient connection created using the token "%s" and url'
|
||||||
'"%s"' % (request.user.token.id, zun_url))
|
' "%s"' % (token_id, endpoint_override))
|
||||||
c = zun_client.Client(username=request.user.username,
|
c = zun_client.Client(username=username,
|
||||||
project_id=request.user.tenant_id,
|
project_id=project_id,
|
||||||
input_auth_token=request.user.token.id,
|
auth_token=token_id,
|
||||||
zun_url=zun_url)
|
endpoint_override=endpoint_override)
|
||||||
return c
|
return c
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user