Change kolla_internal_address variable

Due to poor planning on our variable names we have a situation where
we have "internal_address" which must be a VIP, but "external_address"
which should be a DNS name. Now with two vips "external_vip_address"
is a new variable.

This corrects that issue by deprecating kolla_internal_address and
replacing it with 4 nicely named variables.

kolla_internal_vip_address
kolla_internal_fqdn
kolla_external_vip_address
kolla_external_fqdn

The default behaviour will remain the same, and the way the variable
inheritance is setup the kolla_internal_address variable can still be
set in globals.yml and propogate out to these 4 new variables like it
normally would, but all reference to kolla_internal_address has been
completely removed.

Change-Id: I4556dcdbf4d91a8d2751981ef9c64bad44a719e5
Partially-Implements: blueprint ssl-kolla
This commit is contained in:
SamYaple 2016-02-26 01:02:25 +00:00
parent 35830a65ef
commit d3cfb2052a
50 changed files with 218 additions and 216 deletions

View File

@ -22,9 +22,10 @@ kolla_base_distro: "centos"
# Valid options are [ binary, source ]
kolla_install_type: "binary"
# Value set in the public_url endpoint in Keystone
kolla_external_vip_address: "{{ kolla_internal_address }}"
kolla_external_address: "{{ kolla_external_vip_address }}"
kolla_internal_vip_address: "{{ kolla_internal_address }}"
kolla_internal_fqdn: "{{ kolla_internal_address }}"
kolla_external_vip_address: "{{ kolla_internal_vip_address }}"
kolla_external_fqdn: "{{ kolla_internal_fqdn if kolla_external_vip_address == kolla_internal_vip_address else kolla_external_vip_address }}"
kolla_enable_sanity_checks: "no"
@ -34,7 +35,7 @@ kolla_enable_sanity_glance: "{{ kolla_enable_sanity_checks }}"
####################
# Database options
####################
database_address: "{{ kolla_internal_address }}"
database_address: "{{ kolla_internal_fqdn }}"
database_user: "root"
@ -152,7 +153,7 @@ nova_console: "novnc"
# OpenStack authentication string. You should only need to override these if you
# are changing the admin tenant/project or user.
openstack_auth:
auth_url: "{{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}"
auth_url: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}"
username: "admin"
password: "{{ keystone_admin_password }}"
project_name: "admin"
@ -160,7 +161,7 @@ openstack_auth:
# This shouldn't be needed for long. It is only temporary until we get the
# ansible modules sorted out
openstack_auth_v2:
auth_url: "{{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}/v2.0"
auth_url: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}/v2.0"
username: "admin"
password: "{{ keystone_admin_password }}"
project_name: "admin"
@ -206,7 +207,7 @@ rabbitmq_user: "openstack"
# HAProxy options
####################
haproxy_user: "openstack"
haproxy_enable_external_vip: "{{ 'no' if kolla_external_vip_address == kolla_internal_address else 'yes' }}"
haproxy_enable_external_vip: "{{ 'no' if kolla_external_vip_address == kolla_internal_vip_address else 'yes' }}"
#################################

View File

@ -24,7 +24,7 @@ cinder_backup_cache_mode: "{{ ceph_cinder_backup_cache_mode }}"
####################
cinder_database_name: "cinder"
cinder_database_user: "cinder"
cinder_database_address: "{{ kolla_internal_address }}"
cinder_database_address: "{{ kolla_internal_fqdn }}"
####################
@ -50,9 +50,9 @@ cinder_api_image_full: "{{ cinder_api_image }}:{{ cinder_api_tag }}"
####################
# OpenStack
####################
cinder_public_address: "{{ kolla_external_address }}"
cinder_admin_address: "{{ kolla_internal_address }}"
cinder_internal_address: "{{ kolla_internal_address }}"
cinder_public_address: "{{ kolla_external_fqdn }}"
cinder_admin_address: "{{ kolla_internal_fqdn }}"
cinder_internal_address: "{{ kolla_internal_fqdn }}"
cinder_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -6,9 +6,9 @@
service_type=volume
description='Openstack Block Storage'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_cinder_auth }}' }}"
-e "{'openstack_cinder_auth':{{ openstack_cinder_auth }}}"
@ -26,9 +26,9 @@
service_type=volumev2
description='Openstack Block Storage'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ cinder_api_port }}/v2/%(tenant_id)s'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_cinder_auth }}' }}"
-e "{'openstack_cinder_auth':{{ openstack_cinder_auth }}}"

View File

@ -11,7 +11,7 @@ use_stderr = False
enable_v1_api=false
volume_name_template = %s
glance_api_servers = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ glance_api_port }}
glance_api_servers = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ glance_api_port }}
glance_api_version = 2
os_region_name = {{ openstack_region_name }}
@ -47,8 +47,8 @@ auth_strategy = keystone
connection = mysql+pymysql://{{ cinder_database_user }}:{{ cinder_database_password }}@{{ cinder_database_address }}/{{ cinder_database_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default

View File

@ -4,5 +4,5 @@ export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD={{ keystone_admin_password }}
export OS_AUTH_URL={{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}/v3
export OS_AUTH_URL={{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}/v3
export OS_IDENTITY_API_VERSION=3

View File

@ -3,7 +3,7 @@
# Elasticsearch
####################
elasticsearch_port: "{{ elasticsearch_port }}"
elasticsearch_host: "{{ kolla_internal_address }}"
elasticsearch_host: "{{ kolla_internal_vip_address }}"
elasticsearch_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-elasticsearch"
elasticsearch_tag: "{{ openstack_release }}"
elasticsearch_image_full: "{{ elasticsearch_image }}:{{ elasticsearch_tag }}"

View File

@ -19,7 +19,7 @@ glance_cache_mode: "{{ ceph_glance_cache_mode }}"
####################
glance_database_name: "glance"
glance_database_user: "glance"
glance_database_address: "{{ kolla_internal_address }}"
glance_database_address: "{{ kolla_internal_fqdn }}"
####################
@ -37,9 +37,9 @@ glance_api_image_full: "{{ glance_api_image }}:{{ glance_api_tag }}"
####################
# OpenStack
####################
glance_public_address: "{{ kolla_external_address }}"
glance_admin_address: "{{ kolla_internal_address }}"
glance_internal_address: "{{ kolla_internal_address }}"
glance_public_address: "{{ kolla_external_fqdn }}"
glance_admin_address: "{{ kolla_internal_fqdn }}"
glance_internal_address: "{{ kolla_internal_fqdn }}"
glance_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -6,9 +6,9 @@
service_type=image
description='Openstack Image'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ glance_api_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ glance_api_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ glance_api_port }}'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ glance_api_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ glance_api_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ glance_api_port }}'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_glance_auth }}' }}"
-e "{'openstack_glance_auth':{{ openstack_glance_auth }}}"

View File

@ -8,8 +8,7 @@ use_forwarded_for = true
bind_host = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
bind_port = {{ glance_api_port }}
registry_host = {{ kolla_internal_address }}
registry_host = {{ kolla_internal_fqdn }}
{% if enable_ceph | bool %}
show_image_direct_url= True
@ -19,8 +18,8 @@ show_image_direct_url= True
connection = mysql+pymysql://{{ glance_database_user }}:{{ glance_database_password }}@{{ glance_database_address }}/{{ glance_database_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default

View File

@ -12,8 +12,8 @@ bind_port = {{ glance_registry_port }}
connection = mysql+pymysql://{{ glance_database_user }}:{{ glance_database_password }}@{{ glance_database_address }}/{{ glance_database_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default

View File

@ -30,4 +30,6 @@
changed_when: status.stdout.find('changed') != -1
- name: Waiting for virtual IP to appear
wait_for: host="{{ kolla_internal_address }}" port="{{ mariadb_port }}"
wait_for:
host: "{{ kolla_internal_vip_address }}"
port: "{{ mariadb_port }}"

View File

@ -8,12 +8,12 @@
action: "stop_container"
common_options: "{{ docker_common_options }}"
name: "keepalived"
when: kolla_internal_address not in secondary_addresses
when: kolla_internal_vip_address not in secondary_addresses
# Upgrading master keepalived and haproxy
- include: start.yml
when: kolla_internal_address in secondary_addresses
when: kolla_internal_vip_address in secondary_addresses
# Upgrading slave keepalived and haproxy
- include: start.yml
when: kolla_internal_address not in secondary_addresses
when: kolla_internal_vip_address not in secondary_addresses

View File

@ -32,7 +32,7 @@ listen mariadb
option tcplog
option tcpka
option mysql-check user haproxy
bind {{ kolla_internal_address }}:{{ mariadb_port }}
bind {{ kolla_internal_vip_address }}:{{ mariadb_port }}
{% for host in groups['mariadb'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ mariadb_port }} check inter 2000 rise 2 fall 5 {% if not loop.first %}backup{% endif %}
@ -41,7 +41,7 @@ listen mariadb
{% if enable_rabbitmq | bool %}
listen rabbitmq_management
bind {{ kolla_internal_address }}:{{ rabbitmq_management_port }}
bind {{ kolla_internal_vip_address }}:{{ rabbitmq_management_port }}
{% for host in groups['rabbitmq'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ rabbitmq_management_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -49,7 +49,7 @@ listen rabbitmq_management
{% if enable_mongodb | bool %}
listen mongodb
bind {{ kolla_internal_address }}:{{ mongodb_port }}
bind {{ kolla_internal_vip_address }}:{{ mongodb_port }}
{% for host in groups['mongodb'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ mongodb_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -57,7 +57,7 @@ listen mongodb
{% if enable_keystone | bool %}
listen keystone_internal
bind {{ kolla_internal_address }}:{{ keystone_public_port }}
bind {{ kolla_internal_vip_address }}:{{ keystone_public_port }}
{% for host in groups['keystone'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ keystone_public_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -71,7 +71,7 @@ listen keystone_external
{% endif %}
listen keystone_admin
bind {{ kolla_internal_address }}:{{ keystone_admin_port }}
bind {{ kolla_internal_vip_address }}:{{ keystone_admin_port }}
{% for host in groups['keystone'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ keystone_admin_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -79,13 +79,13 @@ listen keystone_admin
{% if enable_glance | bool %}
listen glance_registry
bind {{ kolla_internal_address }}:{{ glance_registry_port }}
bind {{ kolla_internal_vip_address }}:{{ glance_registry_port }}
{% for host in groups['glance-registry'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ glance_registry_port }} check inter 2000 rise 2 fall 5
{% endfor %}
listen glance_api
bind {{ kolla_internal_address }}:{{ glance_api_port }}
bind {{ kolla_internal_vip_address }}:{{ glance_api_port }}
{% for host in groups['glance-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ glance_api_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -107,32 +107,32 @@ listen glance_api_external
{% if enable_nova | bool %}
listen nova_api
bind {{ kolla_internal_address }}:{{ nova_api_port }}
bind {{ kolla_internal_vip_address }}:{{ nova_api_port }}
{% for host in groups['nova-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ nova_api_port }} check inter 2000 rise 2 fall 5
{% endfor %}
listen nova_api_ec2
bind {{ kolla_internal_address }}:{{ nova_api_ec2_port }}
bind {{ kolla_internal_vip_address }}:{{ nova_api_ec2_port }}
{% for host in groups['nova-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ nova_api_ec2_port }} check inter 2000 rise 2 fall 5
{% endfor %}
listen nova_metadata
bind {{ kolla_internal_address }}:{{ nova_metadata_port }}
bind {{ kolla_internal_vip_address }}:{{ nova_metadata_port }}
{% for host in groups['nova-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ nova_metadata_port }} check inter 2000 rise 2 fall 5
{% endfor %}
{% if nova_console == 'novnc' %}
listen nova_novncproxy
bind {{ kolla_internal_address }}:{{ nova_novncproxy_port }}
bind {{ kolla_internal_vip_address }}:{{ nova_novncproxy_port }}
{% for host in groups['nova-novncproxy'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ nova_novncproxy_port }} check inter 2000 rise 2 fall 5
{% endfor %}
{% elif nova_console == 'spice' %}
listen nova_spicehtml5proxy
bind {{ kolla_internal_address }}:{{ nova_spicehtml5proxy_port }}
bind {{ kolla_internal_vip_address }}:{{ nova_spicehtml5proxy_port }}
{% for host in groups['nova-spicehtml5proxy'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ nova_spicehtml5proxy_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -175,7 +175,7 @@ listen nova_spicehtml5proxy_external
{% if enable_neutron | bool %}
listen neutron_server
bind {{ kolla_internal_address }}:{{ neutron_server_port }}
bind {{ kolla_internal_vip_address }}:{{ neutron_server_port }}
{% for host in groups['neutron-server'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ neutron_server_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -191,7 +191,7 @@ listen neutron_server_external
{% if enable_horizon | bool %}
listen horizon
bind {{ kolla_internal_address }}:80
bind {{ kolla_internal_vip_address }}:80
{% for host in groups['horizon'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:80 check inter 2000 rise 2 fall 5
{% endfor %}
@ -207,7 +207,7 @@ listen horizon_external
{% if enable_cinder | bool %}
listen cinder_api
bind {{ kolla_internal_address }}:{{ cinder_api_port }}
bind {{ kolla_internal_vip_address }}:{{ cinder_api_port }}
{% for host in groups['cinder-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ cinder_api_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -223,13 +223,13 @@ listen cinder_api_external
{% if enable_heat | bool %}
listen heat_api
bind {{ kolla_internal_address }}:{{ heat_api_port }}
bind {{ kolla_internal_vip_address }}:{{ heat_api_port }}
{% for host in groups['heat-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ heat_api_port }} check inter 2000 rise 2 fall 5
{% endfor %}
listen heat_api_cfn
bind {{ kolla_internal_address }}:{{ heat_api_cfn_port }}
bind {{ kolla_internal_vip_address }}:{{ heat_api_cfn_port }}
{% for host in groups['heat-api-cfn'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ heat_api_cfn_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -251,14 +251,14 @@ listen heat_api_cfn_external
{% if enable_ironic | bool %}
listen ironic_api
bind {{ kolla_internal_address}}:{{ ironic_api_port }}
bind {{ kolla_internal_vip_address }}:{{ ironic_api_port }}
{% for host in groups['ironic-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ ironic_api_port }} check inter 2000 rise 2 fall 5
{% endfor %}
{% if haproxy_enable_external_vip | bool %}
listen ironic_api_external
bind {{ kolla_external_vip_address}}:{{ ironic_api_port }}
bind {{ kolla_external_vip_address }}:{{ ironic_api_port }}
{% for host in groups['ironic-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ ironic_api_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -267,14 +267,14 @@ listen ironic_api_external
{% if enable_swift | bool %}
listen swift_api
bind {{ kolla_internal_address}}:{{ swift_proxy_server_port }}
bind {{ kolla_internal_vip_address }}:{{ swift_proxy_server_port }}
{% for host in groups['swift-proxy-server'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ swift_proxy_server_port }} check inter 2000 rise 2 fall 5
{% endfor %}
{% if haproxy_enable_external_vip | bool %}
listen swift_api_external
bind {{ kolla_external_vip_address}}:{{ swift_proxy_server_port }}
bind {{ kolla_external_vip_address }}:{{ swift_proxy_server_port }}
{% for host in groups['swift-proxy-server'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ swift_proxy_server_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -283,7 +283,7 @@ listen swift_api_external
{% if enable_murano | bool %}
listen murano_api
bind {{ kolla_internal_address }}:{{ murano_api_port }}
bind {{ kolla_internal_vip_address }}:{{ murano_api_port }}
{% for host in groups['murano-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ murano_api_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -299,7 +299,7 @@ listen murano_api_external
{% if enable_magnum | bool %}
listen magnum_api
bind {{ kolla_internal_address }}:{{ magnum_api_port }}
bind {{ kolla_internal_vip_address }}:{{ magnum_api_port }}
{% for host in groups['magnum-api'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ magnum_api_port }} check inter 2000 rise 2 fall 5
{% endfor %}
@ -315,14 +315,14 @@ listen magnum_api_external
{% if enable_ceph | bool and enable_ceph_rgw | bool %}
listen radosgw
bind {{ kolla_internal_address}}:{{ rgw_port }}
bind {{ kolla_internal_vip_address }}:{{ rgw_port }}
{% for host in groups['ceph-rgw'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ rgw_port }} check inter 2000 rise 2 fall 5
{% endfor %}
{% if haproxy_enable_external_vip | bool %}
listen radosgw_external
bind {{ kolla_external_vip_address}}:{{ rgw_port }}
bind {{ kolla_external_vip_address }}:{{ rgw_port }}
{% for host in groups['ceph-rgw'] %}
server {{ hostvars[host]['ansible_hostname'] }} {{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ rgw_port }} check inter 2000 rise 2 fall 5
{% endfor %}

View File

@ -12,7 +12,7 @@ vrrp_instance kolla_internal_vip {
priority {{ groups['haproxy'].index(inventory_hostname) + 1 }}
advert_int 1
virtual_ipaddress {
{{ kolla_internal_address }}
{{ kolla_internal_vip_address }}
}
track_script {
check_alive

View File

@ -6,7 +6,7 @@ project_name: "heat"
####################
heat_database_name: "heat"
heat_database_user: "heat"
heat_database_address: "{{ kolla_internal_address }}"
heat_database_address: "{{ kolla_internal_fqdn }}"
####################
@ -27,9 +27,9 @@ heat_engine_image_full: "{{ heat_engine_image }}:{{ heat_engine_tag }}"
####################
# OpenStack
####################
heat_public_address: "{{ kolla_external_address }}"
heat_admin_address: "{{ kolla_internal_address }}"
heat_internal_address: "{{ kolla_internal_address }}"
heat_public_address: "{{ kolla_external_fqdn }}"
heat_admin_address: "{{ kolla_internal_fqdn }}"
heat_internal_address: "{{ kolla_internal_fqdn }}"
heat_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -6,9 +6,9 @@
service_type=orchestration
description='Openstack Orchestration'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ heat_api_port }}/v1/%(tenant_id)s'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ heat_api_port }}/v1/%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ heat_api_port }}/v1/%(tenant_id)s'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ heat_api_port }}/v1/%(tenant_id)s'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ heat_api_port }}/v1/%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ heat_api_port }}/v1/%(tenant_id)s'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_heat_auth }}' }}"
-e "{'openstack_heat_auth':{{ openstack_heat_auth }}}"
@ -26,9 +26,9 @@
service_type=orchestration
description='Openstack Orchestration'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ heat_api_port }}/v1'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ heat_api_cfn_port }}/v1'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ heat_api_cfn_port }}/v1'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ heat_api_port }}/v1'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ heat_api_cfn_port }}/v1'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ heat_api_cfn_port }}/v1'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_heat_auth }}' }}"
-e "{'openstack_heat_auth':{{ openstack_heat_auth }}}"

View File

@ -3,9 +3,9 @@ debug = {{ heat_logging_debug }}
log_dir = /var/log/kolla/heat
heat_watch_server_url = {{ public_protocol }}://{{ kolla_external_address }}:{{ heat_api_cfn_port }}
heat_metadata_server_url = {{ public_protocol }}://{{ kolla_external_address }}:{{ heat_api_cfn_port }}
heat_waitcondition_server_url = {{ public_protocol }}://{{ kolla_external_address }}:{{ heat_api_cfn_port }}/v1/waitcondition
heat_watch_server_url = {{ public_protocol }}://{{ kolla_external_fqdn }}:{{ heat_api_cfn_port }}
heat_metadata_server_url = {{ public_protocol }}://{{ kolla_external_fqdn }}:{{ heat_api_cfn_port }}
heat_waitcondition_server_url = {{ public_protocol }}://{{ kolla_external_fqdn }}:{{ heat_api_cfn_port }}/v1/waitcondition
stack_domain_admin = heat_domain_admin
stack_domain_admin_password = {{ heat_domain_admin_password }}
@ -38,8 +38,8 @@ bind_port = {{ heat_api_cfn_port }}
connection = mysql+pymysql://{{ heat_database_user }}:{{ heat_database_password }}@{{ heat_database_address }}/{{ heat_database_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default
@ -48,8 +48,8 @@ username = heat
password = {{ heat_keystone_password }}
[trustee]
auth_uri = http://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = http://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = http://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = http://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_plugin = password
project_domain_id = default
user_domain_id = default
@ -58,10 +58,10 @@ username = heat
password = {{ heat_keystone_password }}
[ec2authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
[clients_keystone]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
[oslo_messaging_notifications]
driver = noop

View File

@ -147,7 +147,7 @@ EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
# ('http://cluster2.example.com:5000/v2.0', 'cluster2'),
#]
OPENSTACK_HOST = "{{ kolla_external_address }}"
OPENSTACK_HOST = "{{ kolla_external_fqdn }}"
OPENSTACK_KEYSTONE_URL = "{{ public_protocol }}://%s:{{ keystone_public_port }}/v3" % OPENSTACK_HOST
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_"

View File

@ -6,7 +6,7 @@ project_name: "ironic"
####################
ironic_database_name: "ironic"
ironic_database_user: "ironic"
ironic_database_address: "{{ kolla_internal_address }}"
ironic_database_address: "{{ kolla_internal_fqdn }}"
####################
@ -32,9 +32,9 @@ ironic_pxe_image_full: "{{ ironic_pxe_image }}:{{ ironic_pxe_tag }}"
####################
# OpenStack
####################
ironic_public_address: "{{ kolla_external_address }}"
ironic_admin_address: "{{ kolla_internal_address }}"
ironic_internal_address: "{{ kolla_internal_address }}"
ironic_public_address: "{{ kolla_external_fqdn }}"
ironic_admin_address: "{{ kolla_internal_fqdn }}"
ironic_internal_address: "{{ kolla_internal_fqdn }}"
ironic_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -1,6 +1,6 @@
[discoverd]
database = inspector.sqlite3
os_auth_url = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}/v2.0
os_auth_url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}/v2.0
os_username = {{ openstack_auth.username }}
os_password = {{ openstack_auth.password }}
os_tenant_name = {{ openstack_auth.project_name }}

View File

@ -10,7 +10,7 @@ host_ip = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['a
{% if service_name == 'ironic-conductor' %}
[conductor]
api_url = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ ironic_api_port }}
api_url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ ironic_api_port }}
clean_nodes = false
{% endif %}
@ -18,8 +18,8 @@ clean_nodes = false
connection = mysql+pymysql://{{ ironic_database_user }}:{{ ironic_database_password }}@{{ ironic_database_address }}/{{ ironic_database_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default
@ -28,10 +28,10 @@ username = {{ ironic_keystone_user }}
password = {{ ironic_keystone_password }}
[glance]
glance_host = {{ kolla_internal_address }}
glance_host = {{ kolla_internal_fqdn }}
[neutron]
url = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ neutron_server_port }}
url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}
[oslo_messaging_rabbit]
rabbit_userid = {{ rabbitmq_user }}

View File

@ -6,7 +6,7 @@ project_name: "keystone"
####################
keystone_database_name: "keystone"
keystone_database_user: "keystone"
keystone_database_address: "{{ kolla_internal_address }}"
keystone_database_address: "{{ kolla_internal_fqdn }}"
####################
@ -20,9 +20,9 @@ keystone_image_full: "{{ keystone_image }}:{{ keystone_tag }}"
####################
# OpenStack
####################
keystone_public_address: "{{ kolla_external_address }}"
keystone_admin_address: "{{ kolla_internal_address }}"
keystone_internal_address: "{{ kolla_internal_address }}"
keystone_public_address: "{{ kolla_external_fqdn }}"
keystone_admin_address: "{{ kolla_internal_fqdn }}"
keystone_internal_address: "{{ kolla_internal_fqdn }}"
keystone_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -24,9 +24,9 @@
service_type=identity
description='Openstack Identity'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ keystone_public_port }}'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ keystone_public_port }}'
region_name={{ openstack_region_name }}
auth_type=admin_token
auth={{ '{{ openstack_keystone_token_auth }}' }}"

View File

@ -3,7 +3,7 @@
# Kibana
####################
kibana_port: "{{ kibana_port }}"
kibana_host: "{{ kolla_internal_address }}"
kibana_host: "{{ kolla_internal_vip_address }}"
kibana_app_id: "discover"
kibana_request_timeout: 300000
kibana_shard_timeout: 0

View File

@ -1,6 +1,6 @@
port: {{ kibana_port }}
host: {{ kibana_host }}
elasticsearch_url: "{{ internal_protocol }}://{{ kolla_internal_address }}:{{ elasticsearch_port }}"
elasticsearch_url: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ elasticsearch_port }}"
elasticsearch_preserve_host: {{ elasticsearch_preserve_host }}
default_app_id: {{ kibana_app_id }}
request_timeout: {{ kibana_request_timeout }}

View File

@ -6,7 +6,7 @@ project_name: "magnum"
####################
magnum_database_name: "magnum"
magnum_database_user: "magnum"
magnum_database_address: "{{ kolla_internal_address }}"
magnum_database_address: "{{ kolla_internal_fqdn }}"
####################
@ -23,9 +23,9 @@ magnum_conductor_image_full: "{{ magnum_conductor_image }}:{{ magnum_conductor_t
####################
# OpenStack
####################
magnum_public_address: "{{ kolla_external_address }}"
magnum_admin_address: "{{ kolla_internal_address }}"
magnum_internal_address: "{{ kolla_internal_address }}"
magnum_public_address: "{{ kolla_external_fqdn }}"
magnum_admin_address: "{{ kolla_internal_fqdn }}"
magnum_internal_address: "{{ kolla_internal_fqdn }}"
magnum_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -6,9 +6,9 @@
service_type=container
description='Openstack Container Service'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ magnum_api_port }}/v1'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ magnum_api_port }}/v1'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ magnum_api_port }}/v1'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ magnum_api_port }}/v1'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ magnum_api_port }}/v1'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ magnum_api_port }}/v1'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_magnum_auth }}' }}"
-e "{'openstack_magnum_auth':{{ openstack_magnum_auth }}}"

View File

@ -16,8 +16,8 @@ connection = mysql+pymysql://{{ magnum_database_user }}:{{ magnum_database_passw
region_name = {{ openstack_region_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default
@ -26,8 +26,8 @@ username = {{ magnum_keystone_user }}
password = {{ magnum_keystone_password }}
[trustee]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default

View File

@ -1,6 +1,6 @@
---
- name: Waiting for MariaDB service to be ready through VIP
command: "docker exec mariadb mysql -h {{ kolla_internal_address }} -u haproxy -e 'show databases;'"
command: "docker exec mariadb mysql -h {{ kolla_internal_fqdn }} -u haproxy -e 'show databases;'"
register: result
until: result | success
changed_when: False

View File

@ -6,7 +6,7 @@ project_name: "mistral"
####################
mistral_database_name: "mistral"
mistral_database_user: "mistral"
mistral_database_address: "{{ kolla_internal_address }}"
mistral_database_address: "{{ kolla_internal_fqdn }}"
####################
@ -28,9 +28,9 @@ mistral_api_image_full: "{{ mistral_api_image }}:{{ mistral_api_tag }}"
####################
# OpenStack
####################
mistral_public_address: "{{ kolla_external_address }}"
mistral_admin_address: "{{ kolla_internal_address }}"
mistral_internal_address: "{{ kolla_internal_address }}"
mistral_public_address: "{{ kolla_external_fqdn }}"
mistral_admin_address: "{{ kolla_internal_fqdn }}"
mistral_internal_address: "{{ kolla_internal_fqdn }}"
mistral_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -6,9 +6,9 @@
service_type=application_catalog
description='Openstack Application Catalog'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ mistral_api_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ mistral_api_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ mistral_api_port }}'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ mistral_api_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ mistral_api_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ mistral_api_port }}'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_mistral_auth }}' }}"
-e "{'openstack_mistral_auth':{{ openstack_mistral_auth }}}"

View File

@ -16,8 +16,8 @@ bind_port = {{ mistral_api_port }}
connection = mysql+pymysql://{{ mistral_database_user }}:{{ mistral_database_password }}@{{ mistral_database_address }}/{{ mistral_database_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default
@ -26,7 +26,7 @@ username = {{ mistral_keystone_user }}
password = {{ mistral_keystone_password }}
[mistral]
url = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ mistral_api_port }}
url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ mistral_api_port }}
[oslo_messaging_rabbit]
rabbit_userid = {{ rabbitmq_user }}

View File

@ -6,7 +6,7 @@ project_name: "murano"
####################
murano_database_name: "murano"
murano_database_user: "murano"
murano_database_address: "{{ kolla_internal_address }}"
murano_database_address: "{{ kolla_internal_fqdn }}"
####################
@ -24,9 +24,9 @@ murano_api_image_full: "{{ murano_api_image }}:{{ murano_api_tag }}"
####################
# OpenStack
####################
murano_public_address: "{{ kolla_external_address }}"
murano_admin_address: "{{ kolla_internal_address }}"
murano_internal_address: "{{ kolla_internal_address }}"
murano_public_address: "{{ kolla_external_fqdn }}"
murano_admin_address: "{{ kolla_internal_fqdn }}"
murano_internal_address: "{{ kolla_internal_fqdn }}"
murano_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -6,9 +6,9 @@
service_type=application_catalog
description='Openstack Application Catalogue'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ murano_api_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ murano_api_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ murano_api_port }}'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ murano_api_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ murano_api_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ murano_api_port }}'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_murano_auth }}' }}"
-e "{'openstack_murano_auth':{{ openstack_murano_auth }}}"

View File

@ -12,8 +12,8 @@ bind_port = {{ murano_api_port }}
connection = mysql+pymysql://{{ murano_database_user }}:{{ murano_database_password }}@{{ murano_database_address }}/{{ murano_database_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default
@ -22,7 +22,7 @@ username = {{ murano_keystone_user }}
password = {{ murano_keystone_password }}
[murano]
url = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ murano_api_port }}
url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ murano_api_port }}
[oslo_messaging_rabbit]
rabbit_userid = {{ rabbitmq_user }}

View File

@ -6,7 +6,7 @@ project_name: "neutron"
####################
neutron_database_name: "neutron"
neutron_database_user: "neutron"
neutron_database_address: "{{ kolla_internal_address }}"
neutron_database_address: "{{ kolla_internal_fqdn }}"
####################
@ -48,9 +48,9 @@ openvswitch_vswitchd_image_full: "{{ openvswitch_vswitchd_image }}:{{ openvswitc
####################
# OpenStack
####################
neutron_public_address: "{{ kolla_external_address }}"
neutron_admin_address: "{{ kolla_internal_address }}"
neutron_internal_address: "{{ kolla_internal_address }}"
neutron_public_address: "{{ kolla_external_fqdn }}"
neutron_admin_address: "{{ kolla_internal_fqdn }}"
neutron_internal_address: "{{ kolla_internal_fqdn }}"
neutron_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -6,9 +6,9 @@
service_type=network
description='Openstack Networking'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ neutron_server_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ neutron_server_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ neutron_server_port }}'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ neutron_server_port }}'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_neutron_auth }}' }}"
-e "{'openstack_neutron_auth':{{ openstack_neutron_auth }}}"

View File

@ -1,5 +1,5 @@
# metadata_agent.ini
[DEFAULT]
nova_metadata_ip = {{ kolla_internal_address }}
nova_metadata_ip = {{ kolla_internal_fqdn }}
nova_metadata_port = {{ nova_metadata_port }}
metadata_proxy_shared_secret = {{ metadata_secret }}

View File

@ -34,7 +34,7 @@ core_plugin = ml2
service_plugins = router
[nova]
auth_url = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default
@ -59,8 +59,8 @@ root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf
connection = mysql+pymysql://{{ neutron_database_user }}:{{ neutron_database_password }}@{{ neutron_database_address }}/{{ neutron_database_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default

View File

@ -19,11 +19,11 @@ nova_cache_mode: "{{ ceph_nova_cache_mode }}"
####################
nova_database_name: "nova"
nova_database_user: "nova"
nova_database_address: "{{ kolla_internal_address }}"
nova_database_address: "{{ kolla_internal_fqdn }}"
nova_api_database_name: "nova_api"
nova_api_database_user: "nova_api"
nova_api_database_address: "{{ kolla_internal_address }}"
nova_api_database_address: "{{ kolla_internal_fqdn }}"
####################
# Docker
@ -67,9 +67,9 @@ nova_compute_ironic_image_full: "{{ nova_compute_ironic_image }}:{{ nova_compute
####################
# OpenStack
####################
nova_public_address: "{{ kolla_external_address }}"
nova_admin_address: "{{ kolla_internal_address }}"
nova_internal_address: "{{ kolla_internal_address }}"
nova_public_address: "{{ kolla_external_fqdn }}"
nova_admin_address: "{{ kolla_internal_fqdn }}"
nova_internal_address: "{{ kolla_internal_fqdn }}"
nova_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -6,9 +6,9 @@
service_type=compute
description='Openstack Compute'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ nova_api_port }}/v2/%(tenant_id)s'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ nova_api_port }}/v2/%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ nova_api_port }}/v2/%(tenant_id)s'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_nova_auth }}' }}"
-e "{'openstack_nova_auth':{{ openstack_nova_auth }}}"

View File

@ -60,7 +60,7 @@ novncproxy_port = {{ nova_novncproxy_port }}
vncserver_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
vncserver_proxyclient_address = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
{% if inventory_hostname in groups['compute'] %}
novncproxy_base_url = {{ public_protocol }}://{{ kolla_external_address }}:{{ nova_novncproxy_port }}/vnc_auto.html
novncproxy_base_url = {{ public_protocol }}://{{ kolla_external_fqdn }}:{{ nova_novncproxy_port }}/vnc_auto.html
{% endif %}
{% elif nova_console == 'spice' %}
[vnc]
@ -70,7 +70,7 @@ enabled = false
server_listen = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
server_proxyclient_address = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
{% if inventory_hostname in groups['compute'] %}
html5proxy_base_url = {{ public_protocol }}://{{ kolla_external_address }}:{{ nova_spicehtml5proxy_port }}/spice_auto.html
html5proxy_base_url = {{ public_protocol }}://{{ kolla_external_fqdn }}:{{ nova_spicehtml5proxy_port }}/spice_auto.html
{% endif %}
html5proxy_host = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}
html5proxy_port = {{ nova_spicehtml5proxy_port }}
@ -83,7 +83,7 @@ admin_username = {{ ironic_keystone_user }}
admin_password = {{ ironic_keystone_password }}
admin_url = {{ openstack_auth_v2.auth_url }}
admin_tenant_name = service
api_endpoint = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ ironic_api_port }}/v1
api_endpoint = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ ironic_api_port }}/v1
{% endif %}
[oslo_messaging_rabbit]
@ -97,7 +97,7 @@ lock_path = /var/lib/nova/tmp
[glance]
{% if enable_ceph | bool %}
host = {{ kolla_internal_address }}
host = {{ kolla_internal_fqdn }}
port = {{ glance_api_port }}
{% else %}
api_servers = {% for host in groups['glance-api'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ glance_api_port }}{% if not loop.last %},{% endif %}{% endfor %}
@ -109,12 +109,12 @@ num_retries = {{ groups['glance-api'] | length }}
catalog_info = volume:cinder:internalURL
[neutron]
url = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ neutron_server_port }}
url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}
auth_strategy = keystone
metadata_proxy_shared_secret = {{ metadata_secret }}
service_metadata_proxy = true
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_plugin = password
project_domain_name = default
user_domain_id = default
@ -129,8 +129,8 @@ connection = mysql+pymysql://{{ nova_database_user }}:{{ nova_database_password
connection = mysql+pymysql://{{ nova_api_database_user }}:{{ nova_api_database_password }}@{{ nova_api_database_address }}/{{ nova_api_database_name }}
[keystone_authtoken]
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default

View File

@ -9,7 +9,7 @@
- name: Checking free port for Cinder API HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ cinder_api_port }}"
connect_timeout: 1
state: stopped
@ -25,7 +25,7 @@
- name: Checking free port for Glance API HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ glance_api_port }}"
connect_timeout: 1
state: stopped
@ -41,7 +41,7 @@
- name: Checking free port for Glance Registry HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ glance_registry_port }}"
connect_timeout: 1
state: stopped
@ -49,7 +49,7 @@
- name: Checking free port for HAProxy stats
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ haproxy_stats_port }}"
connect_timeout: 1
state: stopped
@ -65,7 +65,7 @@
- name: Checking free port for Heat API HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ heat_api_port }}"
connect_timeout: 1
state: stopped
@ -81,7 +81,7 @@
- name: Checking free port for Heat API CFN HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ heat_api_cfn_port }}"
connect_timeout: 1
state: stopped
@ -97,7 +97,7 @@
- name: Checking free port for Horizon HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "80"
connect_timeout: 1
state: stopped
@ -113,7 +113,7 @@
- name: Checking free port for Ironic HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ ironic_api_port }}"
connect_timeout: 1
state: stopped
@ -137,7 +137,7 @@
- name: Checking free port for Keystone Admin HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ keystone_admin_port }}"
connect_timeout: 1
state: stopped
@ -153,7 +153,7 @@
- name: Checking free port for Keystone Public HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ keystone_public_port }}"
connect_timeout: 1
state: stopped
@ -169,7 +169,7 @@
- name: Checking free port for MariaDB HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ mariadb_port }}"
connect_timeout: 1
state: stopped
@ -217,7 +217,7 @@
- name: Checking free port for Murano API HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ murano_api_port }}"
connect_timeout: 1
state: stopped
@ -233,7 +233,7 @@
- name: Checking free port for Neutron Server HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ neutron_server_port }}"
connect_timeout: 1
state: stopped
@ -249,7 +249,7 @@
- name: Checking free port for Nova API HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_api_port }}"
connect_timeout: 1
state: stopped
@ -265,7 +265,7 @@
- name: Checking free port for Nova API EC2 HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_api_ec2_port }}"
connect_timeout: 1
state: stopped
@ -281,7 +281,7 @@
- name: Checking free port for Nova Metadata HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_metadata_port }}"
connect_timeout: 1
state: stopped
@ -297,7 +297,7 @@
- name: Checking free port for Nova NoVNC HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_novncproxy_port }}"
connect_timeout: 1
state: stopped
@ -313,7 +313,7 @@
- name: Checking free port for Nova Spice HTML5 HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ nova_spicehtml5proxy_port }}"
connect_timeout: 1
state: stopped
@ -337,7 +337,7 @@
- name: Checking free port for RabbitMQ Management HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ rabbitmq_management_port }}"
connect_timeout: 1
state: stopped
@ -377,7 +377,7 @@
- name: Checking free port for Mongodb HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ mongodb_port }}"
connect_timeout: 1
state: stopped
@ -425,7 +425,7 @@
- name: Checking free port for Swift Proxy Server HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ swift_proxy_server_port }}"
connect_timeout: 1
state: stopped
@ -441,7 +441,7 @@
- name: Checking free port for RadosGW HAProxy
wait_for:
host: "{{ kolla_internal_address }}"
host: "{{ kolla_internal_vip_address }}"
port: "{{ rgw_port }}"
connect_timeout: 1
state: stopped

View File

@ -27,9 +27,9 @@ swift_rsyncd_image_full: "{{ swift_rsyncd_image }}:{{ swift_rsyncd_tag }}"
####################
# OpenStack
####################
swift_public_address: "{{ kolla_external_address }}"
swift_admin_address: "{{ kolla_internal_address }}"
swift_internal_address: "{{ kolla_internal_address }}"
swift_public_address: "{{ kolla_external_fqdn }}"
swift_admin_address: "{{ kolla_internal_fqdn }}"
swift_internal_address: "{{ kolla_internal_fqdn }}"
swift_logging_debug: "{{ openstack_logging_debug }}"

View File

@ -6,9 +6,9 @@
service_type=object-store
description='Openstack Object Storage'
endpoint_region={{ openstack_region_name }}
admin_url='{{ admin_protocol }}://{{ kolla_internal_address }}:{{ swift_proxy_server_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_address }}:{{ swift_proxy_server_port }}/v1/AUTH_%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_address }}:{{ swift_proxy_server_port }}/v1/AUTH_%(tenant_id)s'
admin_url='{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ swift_proxy_server_port }}'
internal_url='{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ swift_proxy_server_port }}/v1/AUTH_%(tenant_id)s'
public_url='{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ swift_proxy_server_port }}/v1/AUTH_%(tenant_id)s'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_swift_auth }}' }}"
-e "{'openstack_swift_auth':{{ openstack_swift_auth }}}"

View File

@ -30,8 +30,8 @@ use = egg:swift#proxy_logging
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
auth_uri = {{ internal_protocol }}://{{ kolla_internal_address }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_address }}:{{ keystone_admin_port }}
auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }}
auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
auth_type = password
project_domain_id = default
user_domain_id = default

View File

@ -385,15 +385,13 @@ All variables for the environment can be specified in the files:
Start by editing /etc/kolla/globals.yml. Check and edit, if needed, these
parameters: kolla_base_distro, kolla_install_type.
The kolla\_\*\_address variables can both be the same. Please specify
an unused IP address in the network to act as a VIP for
kolla\_internal\_address. The VIP will be used with keepalived and
Please specify an unused IP address in the network to act as a VIP for
kolla\_internal\_vip\_address. The VIP will be used with keepalived and
added to the "api\_interface" as specified in the globals.yml
::
kolla_external_address: "openstack.example.com"
kolla_internal_address: "10.10.10.254"
kolla_internal_vip_address: "10.10.10.254"
If the environment doesn't have a free IP address available for VIP
configuration, the host's IP address may be used here by disabling HAProxy by
@ -471,9 +469,9 @@ deployment takes 25 minutes. These are estimates; different hardware may be
faster or slower but should be near these results.
After successful deployment of OpenStack, the Horizon dashboard will be
available by entering IP address or hostname from "kolla_external_address",
or kolla_internal_address in case then kolla_external_address uses
kolla_internal_address.
available by entering IP address or hostname from kolla\_external\_fqdn, or
kolla\_internal\_fqdn. If these variables were not set during deploy they
default to kolla\_internal\_vip\_address.
Useful tools
-------------

View File

@ -18,21 +18,23 @@
# the hosts running keepalived for high-availability. When running an All-In-One
# without haproxy and keepalived, this should be the first IP on your
# 'network_interface' as set in the Networking section below.
kolla_internal_address: "10.10.10.254"
kolla_internal_vip_address: "10.10.10.254"
# The Public address used to communicate with OpenStack as set in the public_url
# for the endpoints that will be created. It defaults to kolla_internal_address
# but can be overridden in your globals.yml to a public address. It is up to the
# deployer to ensure that that public address maps to the environment correctly.
# It is recommended to use a DNS name as well, but not required.
#kolla_external_address: "{{ kolla_internal_address }}"
# This is the DNS name that maps to the kolla_internal_vip_address VIP. By
# default it is the same as kolla_internal_vip_address.
#kolla_internal_fqdn: "{{ kolla_internal_vip_address }}"
# This should be a VIP, an unused IP on your network that will float between
# the hosts running keepalived for high-availability. It defaults to the
# kolla_internal_address, allowing internal and external communication to
# share the same address. Specify a kolla_external_vip_address to
# separate internal and external requests between two VIPs.
#kolla_external_vip_address: "{{ kolla_internal_address }}"
# kolla_internal_vip_address, allowing internal and external communication to
# share the same address. Specify a kolla_external_vip_address to separate
# internal and external requests between two VIPs.
#kolla_external_vip_address: "{{ kolla_internal_vip_address }}"
# The Public address used to communicate with OpenStack as set in the public_url
# for the endpoints that will be created. This DNS name should map to
# kolla_external_vip_address.
#kolla_external_fqdn: "{{ kolla_external_vip_address }}"
####################
# Docker options

View File

@ -53,7 +53,7 @@ function write_configs {
---
kolla_base_distro: "${KOLLA_BASE}"
kolla_install_type: "${KOLLA_TYPE}"
kolla_internal_address: "169.254.169.10"
kolla_internal_vip_address: "169.254.169.10"
docker_restart_policy: "never"
network_interface: "eth0"
neutron_external_interface: "fake_interface"

View File

@ -1,6 +1,6 @@
# You can customize this to match your environment by replacing the variables:
# keystone_admin_password
# kolla_internal_address
# kolla_internal_fqdn
# keystone_admin_port
export OS_PROJECT_DOMAIN_ID=default
@ -8,4 +8,4 @@ export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=<keystone_admin_password>
export OS_AUTH_URL=http://<kolla_internal_address>:<keystone_admin_port>
export OS_AUTH_URL=http://<kolla_internal_fqdn>:<keystone_admin_port>