Merge "Upgrade service configuration for ELK 7"

This commit is contained in:
Zuul 2021-03-17 15:03:58 +00:00 committed by Gerrit Code Review
commit 610dead041
5 changed files with 50 additions and 7 deletions

View File

@ -5,9 +5,10 @@ node.name: "{{ 'api' | kolla_address | put_address_in_context('url') }}"
network.host: "{{ 'api' | kolla_address | put_address_in_context('url') }}" network.host: "{{ 'api' | kolla_address | put_address_in_context('url') }}"
cluster.name: "{{ elasticsearch_cluster_name }}" cluster.name: "{{ elasticsearch_cluster_name }}"
cluster.initial_master_nodes: [{% for host in groups['elasticsearch'] %}"{{ 'api' | kolla_address(host) }}"{% if not loop.last %},{% endif %}{% endfor %}]
node.master: true node.master: true
node.data: true node.data: true
discovery.zen.ping.unicast.hosts: [{% for host in groups['elasticsearch'] %}"{{ 'api' | kolla_address(host) | put_address_in_context('url') }}"{% if not loop.last %},{% endif %}{% endfor %}] discovery.seed_hosts: [{% for host in groups['elasticsearch'] %}"{{ 'api' | kolla_address(host) | put_address_in_context('url') }}"{% if not loop.last %},{% endif %}{% endfor %}]
discovery.zen.minimum_master_nodes: {{ minimum_master_nodes }} discovery.zen.minimum_master_nodes: {{ minimum_master_nodes }}
http.port: {{ elasticsearch_port }} http.port: {{ elasticsearch_port }}

View File

@ -1,5 +1,5 @@
{ {
"command": "/usr/share/kibana/bin/kibana", "command": "/usr/share/kibana/bin/kibana --config /etc/kibana/kibana.yml",
"config_files": [ "config_files": [
{ {
"source": "{{ container_config_directory }}/kibana.yml", "source": "{{ container_config_directory }}/kibana.yml",

View File

@ -2,7 +2,7 @@ kibana.defaultAppId: "{{ kibana_default_app_id }}"
logging.dest: /var/log/kolla/kibana/kibana.log logging.dest: /var/log/kolla/kibana/kibana.log
server.port: {{ kibana_server_port }} server.port: {{ kibana_server_port }}
server.host: "{{ api_interface_address }}" server.host: "{{ api_interface_address }}"
elasticsearch.url: "{{ elasticsearch_internal_endpoint }}" elasticsearch.hosts: "{{ elasticsearch_internal_endpoint }}"
elasticsearch.requestTimeout: {{ kibana_elasticsearch_request_timeout }} elasticsearch.requestTimeout: {{ kibana_elasticsearch_request_timeout }}
elasticsearch.shardTimeout: {{ kibana_elasticsearch_shard_timeout }} elasticsearch.shardTimeout: {{ kibana_elasticsearch_shard_timeout }}
elasticsearch.ssl.verificationMode: "{{ 'full' if kibana_elasticsearch_ssl_verify | bool else 'none' }}" elasticsearch.ssl.verificationMode: "{{ 'full' if kibana_elasticsearch_ssl_verify | bool else 'none' }}"

View File

@ -0,0 +1,7 @@
---
upgrade:
- |
Update service configuration for the ELK 7 OSS release. A rolling upgrade
from ELK 6 is supported. Please see the official `upgrade notes
<https://www.elastic.co/guide/en/elastic-stack/current/upgrading-elastic-stack.html>`__
for more detail.

View File

@ -8,8 +8,8 @@ set -o pipefail
export PYTHONUNBUFFERED=1 export PYTHONUNBUFFERED=1
function check_kibana { function check_kibana {
# Query kibana, and check that the returned page looks like a kibana page. # Perform and validate a basic status page check
KIBANA_URL=${OS_AUTH_URL%:*}:5601 KIBANA_URL=${OS_AUTH_URL%:*}:5601/api/status
output_path=$1 output_path=$1
kibana_password=$(awk '$1 == "kibana_password:" { print $2 }' /etc/kolla/passwords.yml) kibana_password=$(awk '$1 == "kibana_password:" { print $2 }' /etc/kolla/passwords.yml)
args=( args=(
@ -25,7 +25,25 @@ function check_kibana {
if ! curl "${args[@]}" $KIBANA_URL > $output_path; then if ! curl "${args[@]}" $KIBANA_URL > $output_path; then
return 1 return 1
fi fi
if ! grep '<title>Kibana</title>' $output_path >/dev/null; then if ! grep 'Looking good' $output_path >/dev/null; then
return 1
fi
}
function check_elasticsearch {
# Verify that we see a healthy index created due to Fluentd forwarding logs
ELASTICSEARCH_URL=${OS_AUTH_URL%:*}:9200/_cluster/health
output_path=$1
args=(
--include
--location
--fail
)
if ! curl "${args[@]}" $ELASTICSEARCH_URL > $output_path; then
return 1
fi
# NOTE(mgoddard): Status is yellow because no indices have been created.
if ! grep '"status":"yellow"' $output_path >/dev/null; then
return 1 return 1
fi fi
} }
@ -75,7 +93,6 @@ function check_prometheus {
} }
function test_kibana { function test_kibana {
# TODO(mgoddard): Query elasticsearch for logs.
echo "TESTING: Kibana" echo "TESTING: Kibana"
output_path=$(mktemp) output_path=$(mktemp)
attempt=1 attempt=1
@ -92,6 +109,23 @@ function test_kibana {
echo "SUCCESS: Kibana" echo "SUCCESS: Kibana"
} }
function test_elasticsearch {
echo "TESTING: Elasticsearch"
output_path=$(mktemp)
attempt=1
while ! check_elasticsearch $output_path; do
echo "Elasticsearch not accessible yet"
attempt=$((attempt+1))
if [[ $attempt -eq 12 ]]; then
echo "FAILED: Elasticsearch did not become accessible. Response:"
cat $output_path
return 1
fi
sleep 10
done
echo "SUCCESS: Elasticsearch"
}
function test_grafana { function test_grafana {
echo "TESTING: Grafana" echo "TESTING: Grafana"
output_path=$(mktemp) output_path=$(mktemp)
@ -131,6 +165,7 @@ function test_prometheus_efk_logged {
. /etc/kolla/admin-openrc.sh . /etc/kolla/admin-openrc.sh
test_kibana test_kibana
test_elasticsearch
test_grafana test_grafana
test_prometheus test_prometheus
} }