Merge "De-client-ify Endpoint Create"
This commit is contained in:
commit
94403a3574
@ -943,29 +943,25 @@ class OperatorCloud(openstackcloud.OpenStackCloud):
|
||||
endpoint_args.update(
|
||||
{'service_id': service['id'], 'region': region})
|
||||
|
||||
# TODO(mordred) When this changes to REST, force interface=admin
|
||||
# in the adapter call
|
||||
with _utils.shade_exceptions(
|
||||
"Failed to create endpoint for service"
|
||||
" {service}".format(service=service['name'])
|
||||
):
|
||||
endpoint = self.manager.submit_task(
|
||||
_tasks.EndpointCreate(**endpoint_args)
|
||||
)
|
||||
return [endpoint]
|
||||
data = self._identity_client.post(
|
||||
'/endpoints', json={'endpoint': endpoint_args},
|
||||
endpoint_filter={'interface': 'admin'},
|
||||
error_message=("Failed to create endpoint for service"
|
||||
" {service}".format(service=service['name'])))
|
||||
return [self._get_and_munchify('endpoint', data)]
|
||||
else:
|
||||
endpoints_args = []
|
||||
if url:
|
||||
# v3 in use, v3-like arguments, one endpoint created
|
||||
endpoints_args.append(
|
||||
{'url': url, 'interface': interface,
|
||||
'service': service['id'], 'enabled': enabled,
|
||||
'service_id': service['id'], 'enabled': enabled,
|
||||
'region': region})
|
||||
else:
|
||||
# v3 in use, v2.0-like arguments, one endpoint created for each
|
||||
# interface url provided
|
||||
endpoint_args = {'region': region, 'enabled': enabled,
|
||||
'service': service['id']}
|
||||
'service_id': service['id']}
|
||||
if public_url:
|
||||
endpoint_args.update({'url': public_url,
|
||||
'interface': 'public'})
|
||||
@ -979,17 +975,15 @@ class OperatorCloud(openstackcloud.OpenStackCloud):
|
||||
'interface': 'admin'})
|
||||
endpoints_args.append(endpoint_args.copy())
|
||||
|
||||
with _utils.shade_exceptions(
|
||||
"Failed to create endpoint for service"
|
||||
" {service}".format(service=service['name'])
|
||||
):
|
||||
endpoints = []
|
||||
for args in endpoints_args:
|
||||
endpoint = self.manager.submit_task(
|
||||
_tasks.EndpointCreate(**args)
|
||||
)
|
||||
endpoints.append(endpoint)
|
||||
return endpoints
|
||||
endpoints = []
|
||||
error_msg = ("Failed to create endpoint for service"
|
||||
" {service}".format(service=service['name']))
|
||||
for args in endpoints_args:
|
||||
data = self._identity_client.post(
|
||||
'/endpoints', json={'endpoint': args},
|
||||
error_message=error_msg)
|
||||
endpoints.append(self._get_and_munchify('endpoint', data))
|
||||
return endpoints
|
||||
|
||||
@_utils.valid_kwargs('enabled', 'service_name_or_id', 'url', 'interface',
|
||||
'region')
|
||||
|
@ -393,7 +393,8 @@ class RequestsMockTestCase(BaseTestCase):
|
||||
request = response.copy()
|
||||
request.pop('id')
|
||||
for u in ('publicURL', 'internalURL', 'adminURL'):
|
||||
request[u.lower()] = request.pop(u, None)
|
||||
if request.get(u):
|
||||
request[u.lower()] = request.pop(u)
|
||||
return _EndpointDataV2(endpoint_id, service_id, region, public_url,
|
||||
internal_url, admin_url, v3_endpoints,
|
||||
{'endpoint': response}, {'endpoint': request})
|
||||
|
@ -155,11 +155,6 @@ class TestCloudEndpoints(base.RequestsMockTestCase):
|
||||
json=public_endpoint_data_disabled.json_response,
|
||||
validate=dict(
|
||||
json=public_endpoint_data_disabled.json_request)),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
append=[public_endpoint_data_disabled.endpoint_id]),
|
||||
status_code=200,
|
||||
json=public_endpoint_data_disabled.json_response),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(resource='services'),
|
||||
status_code=200,
|
||||
@ -170,31 +165,16 @@ class TestCloudEndpoints(base.RequestsMockTestCase):
|
||||
status_code=200,
|
||||
json=public_endpoint_data.json_response,
|
||||
validate=dict(json=public_endpoint_data.json_request)),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
append=[public_endpoint_data.endpoint_id]),
|
||||
status_code=200,
|
||||
json=public_endpoint_data.json_response),
|
||||
dict(method='POST',
|
||||
uri=self.get_mock_url(),
|
||||
status_code=200,
|
||||
json=internal_endpoint_data.json_response,
|
||||
validate=dict(json=internal_endpoint_data.json_request)),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
append=[internal_endpoint_data.endpoint_id]),
|
||||
status_code=200,
|
||||
json=internal_endpoint_data.json_response),
|
||||
dict(method='POST',
|
||||
uri=self.get_mock_url(),
|
||||
status_code=200,
|
||||
json=admin_endpoint_data.json_response,
|
||||
validate=dict(json=admin_endpoint_data.json_request)),
|
||||
dict(method='GET',
|
||||
uri=self.get_mock_url(
|
||||
append=[admin_endpoint_data.endpoint_id]),
|
||||
status_code=200,
|
||||
json=admin_endpoint_data.json_response),
|
||||
])
|
||||
|
||||
endpoints = self.op_cloud.create_endpoint(
|
||||
|
Loading…
x
Reference in New Issue
Block a user