Register Elasticsearch in Keystone

This makes it possible for services to fetch the Elasticsearch endpoint
from Keystone. It is useful for both operators and Monasca Tempest.

Change-Id: Id60298582496a8959e82b970676669ca17e2e9d4
This commit is contained in:
Doug Szumski 2020-07-31 09:28:15 +00:00
parent f0ff9dfc4c
commit 9e668902c2
6 changed files with 56 additions and 22 deletions

View File

@ -31,6 +31,10 @@ elasticsearch_services:
####################
# Elasticsearch
####################
# Register Elasticsearch internal endpoint in the Keystone service catalogue
elasticsearch_enable_keystone_registration: False
elasticsearch_cluster_name: "kolla_logging"
es_heap_size: "1g"
es_java_opts: "{% if es_heap_size %}-Xms{{ es_heap_size }} -Xmx{{ es_heap_size }}{%endif%}"
@ -70,6 +74,18 @@ elasticsearch_curator_soft_retention_period_days: 30
# Duration after which an index is permanently erased from the cluster.
elasticsearch_curator_hard_retention_period_days: 60
####################
# Keystone
####################
elasticsearch_openstack_auth: "{{ openstack_auth }}"
elasticsearch_ks_services:
- name: "elasticsearch"
type: "log-storage"
description: "Elasticsearch"
endpoints:
- {'interface': 'internal', 'url': '{{ elasticsearch_internal_endpoint }}'}
####################
# Docker
####################

View File

@ -5,5 +5,8 @@
- import_tasks: check-containers.yml
- include_tasks: register.yml
when: elasticsearch_enable_keystone_registration | bool
- name: Flush handlers
meta: flush_handlers

View File

@ -0,0 +1,7 @@
---
- import_role:
name: service-ks-register
vars:
service_ks_register_auth: "{{ elasticsearch_openstack_auth }}"
service_ks_register_services: "{{ elasticsearch_ks_services }}"
tags: always

View File

@ -56,5 +56,8 @@
- import_tasks: check-containers.yml
- include_tasks: register.yml
when: elasticsearch_enable_keystone_registration | bool
- name: Flush handlers
meta: flush_handlers

View File

@ -378,17 +378,6 @@
tags: zookeeper,
when: enable_zookeeper | bool }
- name: Apply role elasticsearch
gather_facts: false
hosts:
- elasticsearch
- '&enable_elasticsearch_True'
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: elasticsearch,
tags: elasticsearch,
when: enable_elasticsearch | bool }
- name: Apply role influxdb
gather_facts: false
hosts:
@ -422,17 +411,6 @@
tags: redis,
when: enable_redis | bool }
- name: Apply role kibana
gather_facts: false
hosts:
- kibana
- '&enable_kibana_True'
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: kibana,
tags: kibana,
when: enable_kibana | bool }
- name: Apply role mariadb
gather_facts: false
hosts:
@ -569,6 +547,28 @@
tags: keystone,
when: enable_keystone | bool }
- name: Apply role elasticsearch
gather_facts: false
hosts:
- elasticsearch
- '&enable_elasticsearch_True'
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: elasticsearch,
tags: elasticsearch,
when: enable_elasticsearch | bool }
- name: Apply role kibana
gather_facts: false
hosts:
- kibana
- '&enable_kibana_True'
serial: '{{ kolla_serial|default("0") }}'
roles:
- { role: kibana,
tags: kibana,
when: enable_kibana | bool }
- name: Apply role kafka
gather_facts: false
hosts:

View File

@ -0,0 +1,5 @@
---
features:
- |
Elasticsearch can be optionally registered as an internal
service in the Keystone Catalogue. This is off by default.