Merge "Add option for nova endpoint type"
This commit is contained in:
commit
bcd383f38c
|
@ -204,6 +204,12 @@ nova_opts = [
|
|||
cfg.StrOpt('region_name',
|
||||
help=_('Name of nova region to use. Useful if keystone manages'
|
||||
' more than one region.')),
|
||||
cfg.StrOpt('endpoint_type',
|
||||
default='public',
|
||||
choices=['public', 'admin', 'internal'],
|
||||
help=_('Type of the nova endpoint to use. This endpoint will'
|
||||
' be looked up in the keystone catalog and should be'
|
||||
' one of public, internal or admin.')),
|
||||
]
|
||||
cfg.CONF.register_opts(nova_opts, group=NOVA_CONF_SECTION)
|
||||
|
||||
|
|
|
@ -60,6 +60,7 @@ class Notifier(object):
|
|||
NOVA_API_VERSION,
|
||||
session=session,
|
||||
region_name=cfg.CONF.nova.region_name,
|
||||
endpoint_type=cfg.CONF.nova.endpoint_type,
|
||||
extensions=extensions)
|
||||
self.batch_notifier = batch_notifier.BatchNotifier(
|
||||
cfg.CONF.send_events_interval, self.send_events)
|
||||
|
|
|
@ -309,3 +309,23 @@ class TestNovaNotify(base.BaseTestCase):
|
|||
event = self.nova_notifier.create_port_changed_event('delete_port',
|
||||
{}, returned_obj)
|
||||
self.assertEqual(expected_event, event)
|
||||
|
||||
@mock.patch('novaclient.client.Client')
|
||||
def test_endpoint_types(self, mock_client):
|
||||
nova.Notifier()
|
||||
mock_client.assert_called_once_with(
|
||||
nova.NOVA_API_VERSION,
|
||||
session=mock.ANY,
|
||||
region_name=cfg.CONF.nova.region_name,
|
||||
endpoint_type='public',
|
||||
extensions=mock.ANY)
|
||||
|
||||
mock_client.reset_mock()
|
||||
cfg.CONF.set_override('endpoint_type', 'internal', 'nova')
|
||||
nova.Notifier()
|
||||
mock_client.assert_called_once_with(
|
||||
nova.NOVA_API_VERSION,
|
||||
session=mock.ANY,
|
||||
region_name=cfg.CONF.nova.region_name,
|
||||
endpoint_type='internal',
|
||||
extensions=mock.ANY)
|
||||
|
|
Loading…
Reference in New Issue