diff --git a/ansible/roles/glance/tasks/config.yml b/ansible/roles/glance/tasks/config.yml index 88cb5c446a..e943f54d7d 100644 --- a/ansible/roles/glance/tasks/config.yml +++ b/ansible/roles/glance/tasks/config.yml @@ -28,4 +28,4 @@ - "{{ node_custom_config }}/glance/{{ inventory_hostname }}/{{ item.service }}.conf" dest: "{{ node_config_directory }}/{{ item.service }}/{{ item.service }}.conf" when: inventory_hostname in groups[item.group] - with_items: "{{ glance_service_groups }}" + with_items: "{{ glance_service_groups }}" \ No newline at end of file diff --git a/ansible/roles/glance/templates/glance-api.conf.j2 b/ansible/roles/glance/templates/glance-api.conf.j2 index 0ed898cc6a..3bce5a9a4b 100644 --- a/ansible/roles/glance/templates/glance-api.conf.j2 +++ b/ansible/roles/glance/templates/glance-api.conf.j2 @@ -5,11 +5,15 @@ debug = {{ glance_logging_debug }} log_file = /var/log/kolla/glance/api.log use_forwarded_for = true -bind_host = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }} +bind_host = {{ api_interface_address }} bind_port = {{ glance_api_port }} workers = {{ openstack_service_workers }} +{% if orchestration_engine == 'KUBERNETES' %} +registry_host = {{ glance_registry_host }} +{% else %} registry_host = {{ kolla_internal_fqdn }} +{% endif %} {% if enable_ceph | bool %} show_image_direct_url= True @@ -23,8 +27,8 @@ connection = mysql+pymysql://{{ glance_database_user }}:{{ glance_database_passw max_retries = -1 [keystone_authtoken] -auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }} -auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }} +auth_uri = {{ keystone_public_url }} +auth_url = {{ keystone_admin_url }} auth_type = password project_domain_id = default user_domain_id = default @@ -32,10 +36,17 @@ project_name = service username = {{ glance_keystone_user }} password = {{ glance_keystone_password }} +{# For Kolla-Ansible, generate the memcache servers based on the list of +memcached servers in the inventory and memcached_servers should be un-set. +For Kolla-Kubernetes, it is necessary to define the memcached_servers +variable in globals.yml to set it to the Kubernetes service for memcached. #} memcache_security_strategy = ENCRYPT memcache_secret_key = {{ memcache_secret_key }} +{% if orchestration_engine == 'KUBERNETES' %} +memcache_servers = {{ memcached_servers }} +{% else %} memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %} - +{%- endif %} [paste_deploy] flavor = keystone diff --git a/ansible/roles/glance/templates/glance-registry.conf.j2 b/ansible/roles/glance/templates/glance-registry.conf.j2 index 92d4fcd6fe..c2f3b6bcbd 100644 --- a/ansible/roles/glance/templates/glance-registry.conf.j2 +++ b/ansible/roles/glance/templates/glance-registry.conf.j2 @@ -4,7 +4,7 @@ debug = {{ glance_logging_debug }} # NOTE(elemoine) log_dir alone does not work for Glance log_file = /var/log/kolla/glance/registry.log -bind_host = {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }} +bind_host = {{ api_interface_address }} bind_port = {{ glance_registry_port }} workers = {{ openstack_service_workers }} @@ -13,8 +13,8 @@ connection = mysql+pymysql://{{ glance_database_user }}:{{ glance_database_passw max_retries = -1 [keystone_authtoken] -auth_uri = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_public_port }} -auth_url = {{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }} +auth_uri = {{ keystone_public_url }} +auth_url = {{ keystone_admin_url }} auth_type = password project_domain_id = default user_domain_id = default @@ -22,10 +22,17 @@ project_name = service username = {{ glance_keystone_user }} password = {{ glance_keystone_password }} +{# For Kolla-Ansible, generate the memcache servers based on the list of +memcached servers in the inventory and memcached_servers should be un-set. +For Kolla-Kubernetes, it is necessary to define the memcached_servers +variable in globals.yml to set it to the Kubernetes service for memcached. #} memcache_security_strategy = ENCRYPT memcache_secret_key = {{ memcache_secret_key }} +{% if orchestration_engine == 'KUBERNETES' %} +memcache_servers = {{ memcached_servers }} +{% else %} memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %} - +{%- endif %} [paste_deploy] flavor = keystone