Horizon interface address and memcached override
Note: This should not result in any behavior changes in regular Kolla, just Kolla-Kubernetes and only when you've overridden stuff in globals.yml Allows override of interface address and memcached pools, so that Kubernetes can do the right thing. There are some significant architectural issues involved in memcached pooling in the Kolla-kubernetes world. Avoiding them right now. Current working with this Kolla-Kubernetes globals.yml file: api_interface_address: "0.0.0.0" memcached_servers: "memcached" keystone_database_address: "mariadb" keystone_admin_url: "http://keystone-admin:35357/v3" keystone_internal_url: "http://keystone-public:5000/v3" keystone_public_url: "http://keystone-public:5000/v3" Three tings to note: * In Kolla-Kubernetes, the service is not using net=host, so a 0.0.0.0 interface address is totally OK. That patch has been merged. * In Kolla-Kubernetes, the global.yml file doesn't do var substitution so you have to be explicit about the URLs, otherwise Keystone will look like it was provisioned but it won't quite be provisioned right. * In order to not duplicate tons of code, moved the keystone_admin_url / keystone_internal_url / keystone_public_url to the common defaults from the keystone defaults. Co-Authored-By: Ryan Hallisey <rhallise@redhat.com> Change-Id: I586ce1c6c3300254c4e2a398ff46645df576aeb0 Partially-implements: blueprint api-interface-bind-address-override
This commit is contained in:
parent
492411f267
commit
a6d89f44e9
@ -17,3 +17,10 @@ heka_image_full: "{{ heka_image }}:{{ heka_tag }}"
|
||||
cron_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-cron"
|
||||
cron_tag: "{{ openstack_release }}"
|
||||
cron_image_full: "{{ cron_image }}:{{ cron_tag }}"
|
||||
|
||||
####################
|
||||
# OpenStack
|
||||
####################
|
||||
keystone_admin_url: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}/v3"
|
||||
keystone_internal_url: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}/v3"
|
||||
keystone_public_url: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ keystone_public_port }}/v3"
|
||||
|
@ -1,5 +1,5 @@
|
||||
{% set python_path = '/usr/lib/python2.7/site-packages' if kolla_install_type == 'binary' else '/var/lib/kolla/venv/lib/python2.7/site-packages' %}
|
||||
Listen {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}:80
|
||||
Listen {{ api_interface_address }}:80
|
||||
|
||||
<VirtualHost *:80>
|
||||
LogLevel warn
|
||||
|
@ -132,7 +132,12 @@ SECRET_KEY='{{ horizon_secret_key }}'
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
|
||||
'LOCATION': [{% for host in groups['memcached'] %}'{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}'{% if not loop.last %},{% endif %}{% endfor %}]
|
||||
|
||||
{% if orchestration_engine == 'KUBERNETES' %}
|
||||
'LOCATION': '{{ memcached_servers }}'
|
||||
{% else %}
|
||||
'LOCATION': '{% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}'
|
||||
{%- endif %}
|
||||
}
|
||||
}
|
||||
|
||||
@ -154,7 +159,7 @@ EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||
#]
|
||||
|
||||
OPENSTACK_HOST = "{{ kolla_internal_fqdn }}"
|
||||
OPENSTACK_KEYSTONE_URL = "{{ internal_protocol }}://%s:{{ keystone_public_port }}/v3" % OPENSTACK_HOST
|
||||
OPENSTACK_KEYSTONE_URL = "{{ keystone_public_url }}"
|
||||
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_"
|
||||
|
||||
# Enables keystone web single-sign-on if set to True.
|
||||
|
@ -20,10 +20,6 @@ keystone_image_full: "{{ keystone_image }}:{{ keystone_tag }}"
|
||||
####################
|
||||
# OpenStack
|
||||
####################
|
||||
keystone_admin_url: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}/v3"
|
||||
keystone_internal_url: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}/v3"
|
||||
keystone_public_url: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ keystone_public_port }}/v3"
|
||||
|
||||
keystone_logging_debug: "{{ openstack_logging_debug }}"
|
||||
|
||||
openstack_keystone_auth: "{'auth_url':'{{ openstack_auth.auth_url }}','username':'{{ openstack_auth.username }}','password':'{{ openstack_auth.password }}','project_name':'{{ openstack_auth.project_name }}','domain_name':'default'}"
|
Loading…
Reference in New Issue
Block a user