Add extra admin-network configuration
This commit is contained in:
parent
c25bd9dedf
commit
6dac953777
@ -167,13 +167,20 @@ options:
|
||||
# end of NVP/NSX configuration
|
||||
# Network configuration options
|
||||
# by default all access is over 'private-address'
|
||||
os-admin-network:
|
||||
type: string
|
||||
description: |
|
||||
The IP address and netmask of the OpenStack Admin network (e.g.,
|
||||
192.168.0.0/24)
|
||||
.
|
||||
This network will be used for admin endpoints.
|
||||
os-internal-network:
|
||||
type: string
|
||||
description: |
|
||||
The IP address and netmask of the OpenStack Internal network (e.g.,
|
||||
192.168.0.0/24)
|
||||
.
|
||||
This network will be used for admin and internal endpoints.
|
||||
This network will be used for internal endpoints.
|
||||
os-public-network:
|
||||
type: string
|
||||
description: |
|
||||
|
@ -239,8 +239,12 @@ def identity_joined(rid=None):
|
||||
internal_url = canonical_url(CONFIGS,
|
||||
address=get_address_in_network(config('os-internal-network'),
|
||||
unit_get('private-address')))
|
||||
admin_url = canonical_url(CONFIGS,
|
||||
address=get_address_in_network(config('os-admin-network'),
|
||||
unit_get('private-address')))
|
||||
relation_set(relation_id=rid, **determine_endpoints(public_url,
|
||||
internal_url))
|
||||
internal_url,
|
||||
admin_url))
|
||||
|
||||
|
||||
@hooks.hook('identity-service-relation-changed')
|
||||
|
@ -643,7 +643,7 @@ def ssh_compute_remove(public_key, user=None):
|
||||
_keys.write(keys)
|
||||
|
||||
|
||||
def determine_endpoints(public_url, internal_url):
|
||||
def determine_endpoints(public_url, internal_url, admin_url):
|
||||
'''Generates a dictionary containing all relevant endpoints to be
|
||||
passed to keystone as relation settings.'''
|
||||
region = config('region')
|
||||
@ -654,42 +654,51 @@ def determine_endpoints(public_url, internal_url):
|
||||
(public_url, api_port('nova-api-os-compute')))
|
||||
nova_internal_url = ('%s:%s/v2/$(tenant_id)s' %
|
||||
(internal_url, api_port('nova-api-os-compute')))
|
||||
nova_admin_url = ('%s:%s/v2/$(tenant_id)s' %
|
||||
(admin_url, api_port('nova-api-os-compute')))
|
||||
else:
|
||||
nova_public_url = ('%s:%s/v1.1/$(tenant_id)s' %
|
||||
(public_url, api_port('nova-api-os-compute')))
|
||||
nova_internal_url = ('%s:%s/v1.1/$(tenant_id)s' %
|
||||
(internal_url, api_port('nova-api-os-compute')))
|
||||
nova_admin_url = ('%s:%s/v1.1/$(tenant_id)s' %
|
||||
(admin_url, api_port('nova-api-os-compute')))
|
||||
|
||||
ec2_public_url = '%s:%s/services/Cloud' % (public_url, api_port('nova-api-ec2'))
|
||||
ec2_internal_url = '%s:%s/services/Cloud' % (internal_url, api_port('nova-api-ec2'))
|
||||
ec2_admin_url = '%s:%s/services/Cloud' % (admin_url, api_port('nova-api-ec2'))
|
||||
|
||||
nova_volume_public_url = ('%s:%s/v1/$(tenant_id)s' %
|
||||
(public_url, api_port('nova-api-os-compute')))
|
||||
nova_volume_internal_url = ('%s:%s/v1/$(tenant_id)s' %
|
||||
(internal_url, api_port('nova-api-os-compute')))
|
||||
nova_volume_admin_url = ('%s:%s/v1/$(tenant_id)s' %
|
||||
(admin_url, api_port('nova-api-os-compute')))
|
||||
|
||||
neutron_public_url = '%s:%s' % (public_url, api_port('neutron-server'))
|
||||
neutron_internal_url = '%s:%s' % (internal_url, api_port('neutron-server'))
|
||||
neutron_admin_url = '%s:%s' % (admin_url, api_port('neutron-server'))
|
||||
|
||||
s3_public_url = '%s:%s' % (public_url, api_port('nova-objectstore'))
|
||||
s3_internal_url = '%s:%s' % (internal_url, api_port('nova-objectstore'))
|
||||
s3_admin_url = '%s:%s' % (admin_url, api_port('nova-objectstore'))
|
||||
|
||||
# the base endpoints
|
||||
endpoints = {
|
||||
'nova_service': 'nova',
|
||||
'nova_region': region,
|
||||
'nova_public_url': nova_public_url,
|
||||
'nova_admin_url': nova_internal_url,
|
||||
'nova_admin_url': nova_admin_url,
|
||||
'nova_internal_url': nova_internal_url,
|
||||
'ec2_service': 'ec2',
|
||||
'ec2_region': region,
|
||||
'ec2_public_url': ec2_public_url,
|
||||
'ec2_admin_url': ec2_internal_url,
|
||||
'ec2_admin_url': ec2_admin_url,
|
||||
'ec2_internal_url': ec2_internal_url,
|
||||
's3_service': 's3',
|
||||
's3_region': region,
|
||||
's3_public_url': s3_public_url,
|
||||
's3_admin_url': s3_internal_url,
|
||||
's3_admin_url': s3_admin_url,
|
||||
's3_internal_url': s3_internal_url,
|
||||
}
|
||||
|
||||
@ -698,7 +707,7 @@ def determine_endpoints(public_url, internal_url):
|
||||
'nova-volume_service': 'nova-volume',
|
||||
'nova-volume_region': region,
|
||||
'nova-volume_public_url': nova_volume_public_url,
|
||||
'nova-volume_admin_url': nova_volume_internal_url,
|
||||
'nova-volume_admin_url': nova_volume_admin_url,
|
||||
'nova-volume_internal_url': nova_volume_internal_url,
|
||||
})
|
||||
|
||||
@ -716,7 +725,7 @@ def determine_endpoints(public_url, internal_url):
|
||||
'quantum_service': 'quantum',
|
||||
'quantum_region': region,
|
||||
'quantum_public_url': neutron_public_url,
|
||||
'quantum_admin_url': neutron_internal_url,
|
||||
'quantum_admin_url': neutron_admin_url,
|
||||
'quantum_internal_url': neutron_internal_url,
|
||||
})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user