Ensure endpoint type is used for network commands

Currently OS_ENDPOINT_TYPE and --os-interface are being ignored for
network commands. This means the public URL is always used.

Make sure that these are picked up correctly so we hit the correct
endpoint (internal/admin/etc.) for commands such as:

 $ openstack --os-interface internal network list

Closes-bug: 1592368
(cherry picked from commit 7c603e4a67)
Change-Id: Iac05204e3056e386d84d3644b5da1a2bb322bb0a
This commit is contained in:
Stuart McLaren 2016-06-14 11:16:12 +00:00 committed by Steve Martinelli
parent 53a79c33f8
commit ebf4c7f255
1 changed files with 7 additions and 1 deletions

View File

@ -14,6 +14,7 @@
import logging
from openstack import connection
from openstack import profile
from openstackclient.common import utils
@ -31,8 +32,13 @@ API_VERSIONS = {
def make_client(instance):
"""Returns a network proxy"""
prof = profile.Profile()
prof.set_region(API_NAME, instance._region_name)
prof.set_version(API_NAME, instance._api_version[API_NAME])
prof.set_interface(API_NAME, instance._interface)
conn = connection.Connection(authenticator=instance.session.auth,
verify=instance.session.verify)
verify=instance.session.verify,
profile=prof)
LOG.debug('Connection: %s', conn)
LOG.debug('Network client initialized using OpenStack SDK: %s',
conn.network)