Merge "Rename endpoint type to interface"

This commit is contained in:
Jenkins 2015-07-17 13:55:47 +00:00 committed by Gerrit Code Review
commit bbe71eb9a3
13 changed files with 46 additions and 50 deletions

View File

@ -78,7 +78,7 @@ The keys match the :program:`openstack` global options but without the
username: openstack username: openstack
password: xyzpdq!lazydog password: xyzpdq!lazydog
region_name: DFW,ORD,IAD region_name: DFW,ORD,IAD
endpoint_type: internal interface: internal
In the above example, the ``auth_url`` for the ``rackspace`` cloud is taken In the above example, the ``auth_url`` for the ``rackspace`` cloud is taken
from :file:`clouds-public.yaml` (see below). from :file:`clouds-public.yaml` (see below).
@ -97,7 +97,7 @@ to the following options if the ``rackspace`` entry in :file:`clouds-public.yaml
--os-username openstack --os-username openstack
--os-password xyzpdq!lazydog --os-password xyzpdq!lazydog
--os-region-name DFW --os-region-name DFW
--os-endpoint-type internal --os-interface internal
and can be selected on the command line:: and can be selected on the command line::
@ -107,9 +107,9 @@ Note that multiple regions are listed in the ``rackspace`` entry. An otherwise
identical configuration is created for each region. If ``-os-region-name`` is not identical configuration is created for each region. If ``-os-region-name`` is not
specified on the command line, the first region in the list is used by default. specified on the command line, the first region in the list is used by default.
The selection of ``endpoint_type`` (as seen above in the ``rackspace`` entry) The selection of ``interface`` (as seen above in the ``rackspace`` entry)
is optional. For this configuration to work, every service for this cloud is optional. For this configuration to work, every service for this cloud
instance must already be configured to support this type of endpoint. instance must already be configured to support this type of interface.
clouds-public.yaml clouds-public.yaml
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~

View File

@ -67,7 +67,7 @@ OPTIONS
The authentication plugin type to use when connecting to the Identity service. The authentication plugin type to use when connecting to the Identity service.
If this option is not set, :program:`openstack` will attempt to guess the If this option is not set, :program:`openstack` will attempt to guess the
authentication method to use based on the other options. authentication method to use based on the other options.
If this option is set, its version must match :option:`--os-identity-api-version` If this option is set, its version must match :option:`--os-identity-api-version`
:option:`--os-auth-url` <auth-url> :option:`--os-auth-url` <auth-url>
Authentication URL Authentication URL
@ -120,8 +120,8 @@ OPTIONS
:option:`--os-XXXX-api-version` <XXXX-api-version> :option:`--os-XXXX-api-version` <XXXX-api-version>
Additional API version options will be available depending on the installed API libraries. Additional API version options will be available depending on the installed API libraries.
:option:`--os-endpoint-type` <endpoint-type> :option:`--os-interface` <interface>
Endpoint type. Valid options are `public`, `admin` and `internal`. Interface type. Valid options are `public`, `admin` and `internal`.
COMMANDS COMMANDS
======== ========
@ -299,7 +299,7 @@ The following environment variables can be set to alter the behaviour of :progra
The name of a cloud configuration in ``clouds.yaml``. The name of a cloud configuration in ``clouds.yaml``.
:envvar:`OS_AUTH_PLUGIN` :envvar:`OS_AUTH_PLUGIN`
The authentication plugin to use when connecting to the Identity service, its version must match the Identity API version The authentication plugin to use when connecting to the Identity service, its version must match the Identity API version
:envvar:`OS_AUTH_URL` :envvar:`OS_AUTH_URL`
Authentication URL Authentication URL
@ -346,8 +346,8 @@ The following environment variables can be set to alter the behaviour of :progra
:envvar:`OS_XXXX_API_VERSION` :envvar:`OS_XXXX_API_VERSION`
Additional API version options will be available depending on the installed API libraries. Additional API version options will be available depending on the installed API libraries.
:envvar:`OS_ENDPOINT_TYPE` :envvar:`OS_INTERFACE`
Endpoint type. Valid options are `public`, `admin` and `internal`. Interface type. Valid options are `public`, `admin` and `internal`.
BUGS BUGS

View File

@ -86,7 +86,7 @@ class ClientManager(object):
self._pw_callback = pw_func self._pw_callback = pw_func
self._url = self._cli_options.auth.get('url', None) self._url = self._cli_options.auth.get('url', None)
self._region_name = self._cli_options.region_name self._region_name = self._cli_options.region_name
self._endpoint_type = self._cli_options.endpoint_type self._interface = self._cli_options.interface
self.timing = self._cli_options.timing self.timing = self._cli_options.timing
@ -185,22 +185,22 @@ class ClientManager(object):
return self._auth_ref return self._auth_ref
def get_endpoint_for_service_type(self, service_type, region_name=None, def get_endpoint_for_service_type(self, service_type, region_name=None,
endpoint_type='public'): interface='public'):
"""Return the endpoint URL for the service type.""" """Return the endpoint URL for the service type."""
if not endpoint_type: if not interface:
endpoint_type = 'public' interface = 'public'
# See if we are using password flow auth, i.e. we have a # See if we are using password flow auth, i.e. we have a
# service catalog to select endpoints from # service catalog to select endpoints from
if self.auth_ref: if self.auth_ref:
endpoint = self.auth_ref.service_catalog.url_for( endpoint = self.auth_ref.service_catalog.url_for(
service_type=service_type, service_type=service_type,
region_name=region_name, region_name=region_name,
endpoint_type=endpoint_type, endpoint_type=interface,
) )
else: else:
# Get the passed endpoint directly from the auth plugin # Get the passed endpoint directly from the auth plugin
endpoint = self.auth.get_endpoint(self.session, endpoint = self.auth.get_endpoint(self.session,
interface=endpoint_type) interface=interface)
return endpoint return endpoint

View File

@ -48,9 +48,8 @@ def make_client(instance):
extensions = [extension.Extension('list_extensions', list_extensions)] extensions = [extension.Extension('list_extensions', list_extensions)]
# Remember endpoint_type only if it is set # Remember interface only if it is set
kwargs = utils.build_kwargs_dict('endpoint_type', kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)
instance._endpoint_type)
client = compute_client( client = compute_client(
session=instance.session, session=instance.session,

View File

@ -46,9 +46,8 @@ def make_client(instance):
API_VERSIONS) API_VERSIONS)
LOG.debug('Instantiating identity client: %s', identity_client) LOG.debug('Instantiating identity client: %s', identity_client)
# Remember interface only if endpoint_type is set # Remember interface only if interface is set
kwargs = utils.build_kwargs_dict('interface', kwargs = utils.build_kwargs_dict('interface', instance._interface)
instance._endpoint_type)
client = identity_client( client = identity_client(
session=instance.session, session=instance.session,

View File

@ -46,7 +46,7 @@ def make_client(instance):
endpoint = instance.get_endpoint_for_service_type( endpoint = instance.get_endpoint_for_service_type(
API_NAME, API_NAME,
region_name=instance._region_name, region_name=instance._region_name,
endpoint_type=instance._endpoint_type, interface=instance._interface,
) )
client = image_client( client = image_client(
@ -69,7 +69,7 @@ def make_client(instance):
endpoint=instance.get_endpoint_for_service_type( endpoint=instance.get_endpoint_for_service_type(
IMAGE_API_TYPE, IMAGE_API_TYPE,
region_name=instance._region_name, region_name=instance._region_name,
endpoint_type=instance._endpoint_type, interface=instance._interface,
) )
) )

View File

@ -47,12 +47,11 @@ def make_client(instance):
endpoint = instance.get_endpoint_for_service_type( endpoint = instance.get_endpoint_for_service_type(
API_NAME, API_NAME,
region_name=instance._region_name, region_name=instance._region_name,
endpoint_type=instance._endpoint_type, interface=instance._interface,
) )
# Remember endpoint_type only if it is set # Remember endpoint_type only if it is set
kwargs = utils.build_kwargs_dict('endpoint_type', kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)
instance._endpoint_type)
client = network_client( client = network_client(
session=instance.session, session=instance.session,

View File

@ -36,7 +36,7 @@ def make_client(instance):
endpoint = instance.get_endpoint_for_service_type( endpoint = instance.get_endpoint_for_service_type(
'object-store', 'object-store',
region_name=instance._region_name, region_name=instance._region_name,
endpoint_type=instance._endpoint_type, interface=instance._interface,
) )
client = object_store_v1.APIv1( client = object_store_v1.APIv1(

View File

@ -209,14 +209,14 @@ class OpenStackShell(app.App):
DEFAULT_DOMAIN + DEFAULT_DOMAIN +
' (Env: OS_DEFAULT_DOMAIN)') ' (Env: OS_DEFAULT_DOMAIN)')
parser.add_argument( parser.add_argument(
'--os-endpoint-type', '--os-interface',
metavar='<endpoint-type>', metavar='<interface>',
dest='endpoint_type', dest='interface',
choices=['admin', 'public', 'internal'], choices=['admin', 'public', 'internal'],
default=utils.env('OS_ENDPOINT_TYPE'), default=utils.env('OS_INTERFACE'),
help='Select an endpoint type.' help='Select an interface type.'
' Valid endpoint types: [admin, public, internal].' ' Valid interface types: [admin, public, internal].'
' (Env: OS_ENDPOINT_TYPE)') ' (Env: OS_INTERFACE)')
parser.add_argument( parser.add_argument(
'--timing', '--timing',
default=False, default=False,
@ -263,10 +263,10 @@ class OpenStackShell(app.App):
self.options.project_name = tenant_name self.options.project_name = tenant_name
# Do configuration file handling # Do configuration file handling
# Ignore the default value of endpoint_type. Only if it is set later # Ignore the default value of interface. Only if it is set later
# will it be used. # will it be used.
cc = cloud_config.OpenStackConfig( cc = cloud_config.OpenStackConfig(
override_defaults={'endpoint_type': None, }) override_defaults={'interface': None, })
self.log.debug("defaults: %s", cc.defaults) self.log.debug("defaults: %s", cc.defaults)
self.cloud = cc.get_one_cloud( self.cloud = cc.get_one_cloud(

View File

@ -54,7 +54,7 @@ class FakeOptions(object):
self.identity_api_version = '2.0' self.identity_api_version = '2.0'
self.timing = None self.timing = None
self.region_name = None self.region_name = None
self.endpoint_type = None self.interface = None
self.url = None self.url = None
self.auth = {} self.auth = {}
self.default_domain = 'default' self.default_domain = 'default'
@ -124,7 +124,7 @@ class TestClientManager(utils.TestCase):
auth_url=fakes.AUTH_URL, auth_url=fakes.AUTH_URL,
), ),
auth_type='v2token', auth_type='v2token',
endpoint_type=fakes.ENDPOINT_TYPE, interface=fakes.INTERFACE,
region_name=fakes.REGION_NAME, region_name=fakes.REGION_NAME,
), ),
api_version=API_VERSION, api_version=API_VERSION,
@ -141,8 +141,8 @@ class TestClientManager(utils.TestCase):
auth_v2.Token, auth_v2.Token,
) )
self.assertEqual( self.assertEqual(
fakes.ENDPOINT_TYPE, fakes.INTERFACE,
client_manager._endpoint_type, client_manager._interface,
) )
self.assertEqual( self.assertEqual(
fakes.REGION_NAME, fakes.REGION_NAME,

View File

@ -27,7 +27,7 @@ USERNAME = "itchy"
PASSWORD = "scratchy" PASSWORD = "scratchy"
PROJECT_NAME = "poochie" PROJECT_NAME = "poochie"
REGION_NAME = "richie" REGION_NAME = "richie"
ENDPOINT_TYPE = "catchy" INTERFACE = "catchy"
TEST_RESPONSE_DICT = fixture.V2Token(token_id=AUTH_TOKEN, TEST_RESPONSE_DICT = fixture.V2Token(token_id=AUTH_TOKEN,
user_name=USERNAME) user_name=USERNAME)

View File

@ -39,7 +39,7 @@ DEFAULT_REGION_NAME = "ZZ9_Plural_Z_Alpha"
DEFAULT_TOKEN = "token" DEFAULT_TOKEN = "token"
DEFAULT_SERVICE_URL = "http://127.0.0.1:8771/v3.0/" DEFAULT_SERVICE_URL = "http://127.0.0.1:8771/v3.0/"
DEFAULT_AUTH_PLUGIN = "v2password" DEFAULT_AUTH_PLUGIN = "v2password"
DEFAULT_ENDPOINT_TYPE = "internal" DEFAULT_INTERFACE = "internal"
DEFAULT_COMPUTE_API_VERSION = "2" DEFAULT_COMPUTE_API_VERSION = "2"
DEFAULT_IDENTITY_API_VERSION = "2" DEFAULT_IDENTITY_API_VERSION = "2"
@ -63,7 +63,7 @@ CLOUD_1 = {
}, },
'region_name': 'occ-cloud', 'region_name': 'occ-cloud',
'donut': 'glazed', 'donut': 'glazed',
'endpoint_type': 'public', 'interface': 'public',
} }
} }
} }
@ -107,7 +107,7 @@ global_options = {
'--os-default-domain': (DEFAULT_DOMAIN_NAME, True, True), '--os-default-domain': (DEFAULT_DOMAIN_NAME, True, True),
'--os-cacert': ('/dev/null', True, True), '--os-cacert': ('/dev/null', True, True),
'--timing': (True, True, False), '--timing': (True, True, False),
'--os-endpoint-type': (DEFAULT_ENDPOINT_TYPE, True, True) '--os-interface': (DEFAULT_INTERFACE, True, True)
} }
auth_options = { auth_options = {
@ -127,7 +127,7 @@ auth_options = {
'--os-auth-type': ("v2password", True, True), '--os-auth-type': ("v2password", True, True),
'--os-token': (DEFAULT_TOKEN, True, True), '--os-token': (DEFAULT_TOKEN, True, True),
'--os-url': (DEFAULT_SERVICE_URL, True, True), '--os-url': (DEFAULT_SERVICE_URL, True, True),
'--os-endpoint-type': (DEFAULT_ENDPOINT_TYPE, True, True), '--os-interface': (DEFAULT_INTERFACE, True, True),
} }
@ -616,7 +616,7 @@ class TestShellCli(TestShell):
) )
self.assertEqual( self.assertEqual(
'public', 'public',
_shell.cloud.config['endpoint_type'], _shell.cloud.config['interface'],
) )
@mock.patch("os_client_config.config.OpenStackConfig._load_vendor_file") @mock.patch("os_client_config.config.OpenStackConfig._load_vendor_file")

View File

@ -53,9 +53,8 @@ def make_client(instance):
extensions = [extension.Extension('list_extensions', list_extensions)] extensions = [extension.Extension('list_extensions', list_extensions)]
# Remember endpoint_type only if it is set # Remember interface only if it is set
kwargs = utils.build_kwargs_dict('endpoint_type', kwargs = utils.build_kwargs_dict('endpoint_type', instance._interface)
instance._endpoint_type)
client = volume_client( client = volume_client(
session=instance.session, session=instance.session,