Use new common specific_endpoint routines
Now that admin_endpoint, public_endpoint, and internal_endpoint in the common library are working, these are the changes to use them in the openstack-network recipes. Note that some calls to 'endpoint' that can't have separate admin, internal, public endpoints. (E.g. network-api-bind, network-linuxbridge, network-openvswitch, etc.) Those will continue to use the general endpoint routine. Partial-Bug: 1412919 Change-Id: Ia08983f6f8da8a96da22969cdb660b44f82780d6
This commit is contained in:
parent
91fef493e5
commit
2918234a39
|
@ -4,6 +4,7 @@ This file is used to list changes made in each version of cookbook-openstack-net
|
|||
## 10.1.1
|
||||
* Removed all files not needed by the neutron cookbook
|
||||
* Add radvd to neutron_l3_packages to support ipv6
|
||||
* Use common specific_endpoint routines (bug 1412919)
|
||||
|
||||
## 10.1.0
|
||||
* Add support for Neutron VPN Service
|
||||
|
|
|
@ -116,8 +116,8 @@ elsif mq_service_type == 'qpid'
|
|||
mq_password = get_password 'user', node['openstack']['mq']['network']['qpid']['username']
|
||||
end
|
||||
|
||||
identity_endpoint = endpoint 'identity-api'
|
||||
identity_admin_endpoint = endpoint 'identity-admin'
|
||||
identity_endpoint = internal_endpoint 'identity-internal'
|
||||
identity_admin_endpoint = admin_endpoint 'identity-admin'
|
||||
auth_uri = ::URI.decode identity_endpoint.to_s
|
||||
|
||||
auth_uri = auth_uri_transform identity_endpoint.to_s, node['openstack']['network']['api']['auth']['version']
|
||||
|
@ -149,7 +149,7 @@ service 'neutron-server' do
|
|||
end
|
||||
|
||||
# Nova interactions
|
||||
nova_endpoint = endpoint 'compute-api'
|
||||
nova_endpoint = internal_endpoint 'compute-api'
|
||||
# TODO(MRV): Need to allow for this in common.
|
||||
# Neutron will append the admin_tenant_id for these nova interaction calls,
|
||||
# remove the tenant_id so we don't end up with two of them on the url.
|
||||
|
|
|
@ -28,12 +28,14 @@ class ::Chef::Recipe
|
|||
include ::Openstack
|
||||
end
|
||||
|
||||
identity_admin_endpoint = endpoint 'identity-admin'
|
||||
identity_admin_endpoint = admin_endpoint 'identity-admin'
|
||||
|
||||
bootstrap_token = get_secret 'openstack_identity_bootstrap_token'
|
||||
auth_uri = ::URI.decode identity_admin_endpoint.to_s
|
||||
|
||||
api_endpoint = endpoint 'network-api'
|
||||
admin_api_endpoint = admin_endpoint 'network-api'
|
||||
public_api_endpoint = public_endpoint 'network-api'
|
||||
internal_api_endpoint = internal_endpoint 'network-api'
|
||||
|
||||
service_pass = get_password 'service', 'openstack-network'
|
||||
service_tenant_name = node['openstack']['network']['service_tenant_name']
|
||||
|
@ -55,9 +57,9 @@ openstack_identity_register 'Register Network Endpoint' do
|
|||
bootstrap_token bootstrap_token
|
||||
service_type node['openstack']['network']['service_type']
|
||||
endpoint_region node['openstack']['network']['region']
|
||||
endpoint_adminurl api_endpoint.to_s
|
||||
endpoint_internalurl api_endpoint.to_s
|
||||
endpoint_publicurl api_endpoint.to_s
|
||||
endpoint_adminurl admin_api_endpoint.to_s
|
||||
endpoint_internalurl internal_api_endpoint.to_s
|
||||
endpoint_publicurl public_api_endpoint.to_s
|
||||
|
||||
action :create_endpoint
|
||||
end
|
||||
|
|
|
@ -24,7 +24,7 @@ include_recipe 'openstack-network'
|
|||
|
||||
platform_options = node['openstack']['network']['platform']
|
||||
|
||||
identity_endpoint = endpoint 'identity-api'
|
||||
identity_endpoint = internal_endpoint 'identity-internal'
|
||||
service_pass = get_password 'service', 'openstack-network'
|
||||
metadata_secret = get_secret node['openstack']['network']['metadata']['secret_name']
|
||||
|
||||
|
|
|
@ -47,6 +47,90 @@ describe 'openstack-network::identity_registration' do
|
|||
)
|
||||
end
|
||||
|
||||
it 'with different admin url values' do
|
||||
admin_url = 'https://admin.host:123/admin_path'
|
||||
general_url = 'http://general.host:456/general_path'
|
||||
|
||||
# Set the general endpoint
|
||||
node.set['openstack']['endpoints']['network-api']['uri'] = general_url
|
||||
# Set the admin endpoint override
|
||||
node.set['openstack']['endpoints']['admin']['network-api']['uri'] = admin_url
|
||||
expect(chef_run).to create_endpoint_openstack_identity_register(
|
||||
'Register Network Endpoint'
|
||||
).with(
|
||||
auth_uri: 'http://127.0.0.1:35357/v2.0',
|
||||
bootstrap_token: 'bootstrap-token',
|
||||
service_type: 'network',
|
||||
endpoint_region: 'RegionOne',
|
||||
endpoint_adminurl: admin_url,
|
||||
endpoint_internalurl: general_url,
|
||||
endpoint_publicurl: general_url
|
||||
)
|
||||
end
|
||||
|
||||
it 'with different public url values' do
|
||||
public_url = 'https://public.host:789/public_path'
|
||||
general_url = 'http://general.host:456/general_path'
|
||||
|
||||
# Set the general endpoint
|
||||
node.set['openstack']['endpoints']['network-api']['uri'] = general_url
|
||||
# Set the public endpoint override
|
||||
node.set['openstack']['endpoints']['public']['network-api']['uri'] = public_url
|
||||
expect(chef_run).to create_endpoint_openstack_identity_register(
|
||||
'Register Network Endpoint'
|
||||
).with(
|
||||
auth_uri: 'http://127.0.0.1:35357/v2.0',
|
||||
bootstrap_token: 'bootstrap-token',
|
||||
service_type: 'network',
|
||||
endpoint_region: 'RegionOne',
|
||||
endpoint_adminurl: general_url,
|
||||
endpoint_internalurl: general_url,
|
||||
endpoint_publicurl: public_url
|
||||
)
|
||||
end
|
||||
|
||||
it 'with different internal url values' do
|
||||
internal_url = 'http://internal.host:456/internal_path'
|
||||
general_url = 'http://general.host:456/general_path'
|
||||
|
||||
# Set the general endpoint
|
||||
node.set['openstack']['endpoints']['network-api']['uri'] = general_url
|
||||
# Set the internal endpoint override
|
||||
node.set['openstack']['endpoints']['internal']['network-api']['uri'] = internal_url
|
||||
expect(chef_run).to create_endpoint_openstack_identity_register(
|
||||
'Register Network Endpoint'
|
||||
).with(
|
||||
auth_uri: 'http://127.0.0.1:35357/v2.0',
|
||||
bootstrap_token: 'bootstrap-token',
|
||||
service_type: 'network',
|
||||
endpoint_region: 'RegionOne',
|
||||
endpoint_adminurl: general_url,
|
||||
endpoint_internalurl: internal_url,
|
||||
endpoint_publicurl: general_url
|
||||
)
|
||||
end
|
||||
|
||||
it 'with different internal,public, and admin url values' do
|
||||
admin_url = 'https://admin.host:123/admin_path'
|
||||
internal_url = 'http://internal.host:456/internal_path'
|
||||
public_url = 'https://public.host:789/public_path'
|
||||
|
||||
node.set['openstack']['endpoints']['internal']['network-api']['uri'] = internal_url
|
||||
node.set['openstack']['endpoints']['public']['network-api']['uri'] = public_url
|
||||
node.set['openstack']['endpoints']['admin']['network-api']['uri'] = admin_url
|
||||
|
||||
expect(chef_run).to create_endpoint_openstack_identity_register(
|
||||
'Register Network Endpoint'
|
||||
).with(
|
||||
auth_uri: 'http://127.0.0.1:35357/v2.0',
|
||||
bootstrap_token: 'bootstrap-token',
|
||||
service_type: 'network',
|
||||
endpoint_region: 'RegionOne',
|
||||
endpoint_adminurl: admin_url,
|
||||
endpoint_internalurl: internal_url,
|
||||
endpoint_publicurl: public_url
|
||||
)
|
||||
end
|
||||
it 'with custom region override' do
|
||||
node.set['openstack']['network']['region'] = 'netRegion'
|
||||
|
||||
|
|
|
@ -121,21 +121,21 @@ shared_context 'endpoint-stubs' do
|
|||
allow_any_instance_of(Chef::Recipe).to receive(:endpoint)
|
||||
.with('network-api-bind')
|
||||
.and_return(double(host: 'network_host', port: 'network_port'))
|
||||
allow_any_instance_of(Chef::Recipe).to receive(:endpoint)
|
||||
allow_any_instance_of(Chef::Recipe).to receive(:internal_endpoint)
|
||||
.with('compute-api')
|
||||
.and_return(double(
|
||||
scheme: 'compute_scheme',
|
||||
host: 'compute_host',
|
||||
port: 'compute_port'))
|
||||
allow_any_instance_of(Chef::Recipe).to receive(:endpoint)
|
||||
allow_any_instance_of(Chef::Recipe).to receive(:admin_endpoint)
|
||||
.with('identity-admin')
|
||||
.and_return(double(
|
||||
host: 'identity_host',
|
||||
port: 'identity_port',
|
||||
scheme: 'identity_scheme',
|
||||
to_s: 'identity_uri'))
|
||||
allow_any_instance_of(Chef::Recipe).to receive(:endpoint)
|
||||
.with('identity-api')
|
||||
allow_any_instance_of(Chef::Recipe).to receive(:internal_endpoint)
|
||||
.with('identity-internal')
|
||||
.and_return('identity_endpoint_value')
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue