From 3003ed8ef8078e97a2deeaf1f561292a3708755c Mon Sep 17 00:00:00 2001 From: Brian Waldon Date: Mon, 19 Nov 2012 12:47:54 -0800 Subject: [PATCH] Hook up region_name argument Connect the --os-region-name option passed through the CLI to the call to service_catalog.url_for. Fixes bug 1080739. Change-Id: I2d19d62a999a82a91de3883db12bbc24e900de25 --- glanceclient/shell.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/glanceclient/shell.py b/glanceclient/shell.py index 99991eb..17ad33d 100644 --- a/glanceclient/shell.py +++ b/glanceclient/shell.py @@ -311,9 +311,16 @@ class OpenStackImagesShell(object): def _get_endpoint(self, client, **kwargs): """Get an endpoint using the provided keystone client.""" - endpoint = client.service_catalog.url_for( - service_type=kwargs.get('service_type') or 'image', - endpoint_type=kwargs.get('endpoint_type') or 'publicURL') + endpoint_kwargs = { + 'service_type': kwargs.get('service_type') or 'image', + 'endpoint_type': kwargs.get('endpoint_type') or 'publicURL', + } + + if kwargs.get('region_name'): + endpoint_kwargs['attr'] = 'region' + endpoint_kwargs['filter_value'] = kwargs.get('region_name') + + endpoint = client.service_catalog.url_for(**endpoint_kwargs) return self._strip_version(endpoint) def _get_image_url(self, args): @@ -389,7 +396,8 @@ class OpenStackImagesShell(object): 'auth_url': args.os_auth_url, 'service_type': args.os_service_type, 'endpoint_type': args.os_endpoint_type, - 'insecure': args.insecure + 'insecure': args.insecure, + 'region_name': args.os_region_name, } _ksclient = self._get_ksclient(**kwargs) token = args.os_auth_token or _ksclient.auth_token