From 248767ef63cd0747a0ee97916058467bfd96b629 Mon Sep 17 00:00:00 2001 From: Andrey Pavlov Date: Mon, 7 Sep 2015 13:30:41 +0300 Subject: [PATCH] Adding sahara_url and endpoint_type to OpenstackClient CLI Adding ability to specify Data processing API url and endpoint type that will be used by OpenstackClient CLI Change-Id: I72d9b3f051b8d7b144e2f762be45f11080246222 Partially implements: blueprint cli-as-openstackclient-plugin --- saharaclient/osc/plugin.py | 12 +++++++++++- saharaclient/tests/unit/osc/test_plugin.py | 6 +++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/saharaclient/osc/plugin.py b/saharaclient/osc/plugin.py index 9329703b..e93968e8 100644 --- a/saharaclient/osc/plugin.py +++ b/saharaclient/osc/plugin.py @@ -34,11 +34,15 @@ def make_client(instance): LOG.debug('Instantiating data-processing client: %s', data_processing_client) + kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface) + client = data_processing_client( session=instance.session, region_name=instance._region_name, cacert=instance._cacert, - insecure=instance._insecure + insecure=instance._insecure, + sahara_url=instance._cli_options.data_processing_url, + **kwargs ) return client @@ -54,4 +58,10 @@ def build_option_parser(parser): help=("Data processing API version, default=" + DEFAULT_DATA_PROCESSING_API_VERSION + ' (Env: OS_DATA_PROCESSING_API_VERSION)')) + parser.add_argument( + "--os-data-processing-url", + default=utils.env( + "OS_DATA_PROCESSING_URL"), + help=("Data processing API URL, " + "(Env: OS_DATA_PROCESSING_API_URL)")) return parser diff --git a/saharaclient/tests/unit/osc/test_plugin.py b/saharaclient/tests/unit/osc/test_plugin.py index 7d057f47..6e288b9c 100644 --- a/saharaclient/tests/unit/osc/test_plugin.py +++ b/saharaclient/tests/unit/osc/test_plugin.py @@ -30,9 +30,13 @@ class TestDataProcessingPlugin(base.BaseTestCase): instance._region_name = 'region_name' instance._cacert = 'cacert' instance._insecure = 'insecure' + instance._cli_options.data_processing_url = 'url' + instance._interface = 'public' plugin.make_client(instance) p_client.assert_called_with(session='session', region_name='region_name', cacert='cacert', - insecure='insecure') + insecure='insecure', + sahara_url='url', + endpoint_type='public')