538d51e991
This organizes the single node gates for osh-infra by function. This organization aims to improve the single node gates in the following ways: 1. Reduce number of services deployed in single node jobs 2. Only deploy Ceph for logging job, as Elasticsearch requires RGW for snapshot repositories. 3. Use NFS for storage for monitoring job, as Ceph is not a requirement for any of the services here. 4. Remove duplicate services deployed to multiple single node jobs 5. Remove storage from openstack-support job, as the only service requiring storage is rabbitmq. Rabbitmq is deployed with storage enabled in the openstack-helm checks/gates. This also removes the documentation for the single node deployments, as those deployments do not make sense with this change. This should be revisited as a follow-on once we have a clear path forward for the larger gate refactoring work Change-Id: I46951f76904fa2ab245a202d55f76019b7503362
92 lines
2.6 KiB
Bash
Executable File
92 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright 2017 The Openstack-Helm Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
set -xe
|
|
|
|
ELASTICSEARCH_ENDPOINT="elasticsearch-logging.osh-infra"
|
|
|
|
#NOTE: Create index with specified LDAP user
|
|
function create_index () {
|
|
index_result=$(curl -K- <<< "--user $1:$2" \
|
|
-XPUT "${ELASTICSEARCH_ENDPOINT}/$1_index?pretty" -H 'Content-Type: application/json' -d'
|
|
{
|
|
"settings" : {
|
|
"index" : {
|
|
"number_of_shards" : 3,
|
|
"number_of_replicas" : 2
|
|
}
|
|
}
|
|
}
|
|
' | python -c "import sys, json; print json.load(sys.stdin)['acknowledged']")
|
|
if [ "$index_result" == "True" ];
|
|
then
|
|
echo "$1's index successfully created!";
|
|
else
|
|
echo "$1's index not created!";
|
|
exit 1;
|
|
fi
|
|
}
|
|
|
|
#NOTE: Insert test data with specified LDAP user
|
|
function insert_test_data () {
|
|
insert_result=$(curl -K- <<< "--user $1:$2" \
|
|
-XPUT "${ELASTICSEARCH_ENDPOINT}/$1_index/sample_type/123/_create?pretty" -H 'Content-Type: application/json' -d'
|
|
{
|
|
"name" : "Elasticsearch",
|
|
"message" : "Test data text entry"
|
|
}
|
|
' | python -c "import sys, json; print json.load(sys.stdin)['result']")
|
|
if [ "$insert_result" == "created" ]; then
|
|
sleep 20
|
|
echo "Test data inserted into $1's index!";
|
|
else
|
|
echo "Test data not inserted into $1's index!";
|
|
exit 1;
|
|
fi
|
|
}
|
|
|
|
#NOTE: Check hits on test data in specified LDAP user's index
|
|
function check_hits () {
|
|
total_hits=$(curl -K- <<< "--user $1:$2" \
|
|
"${ELASTICSEARCH_ENDPOINT}/_search?pretty" -H 'Content-Type: application/json' -d'
|
|
{
|
|
"query" : {
|
|
"bool": {
|
|
"must": [
|
|
{ "match": { "name": "Elasticsearch" }},
|
|
{ "match": { "message": "Test data text entry" }}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
' | python -c "import sys, json; print json.load(sys.stdin)['hits']['total']")
|
|
if [ "$total_hits" -gt 0 ]; then
|
|
echo "Successful hits on test data query on $1's index!"
|
|
else
|
|
echo "No hits on query for test data on $1's index!";
|
|
exit 1;
|
|
fi
|
|
}
|
|
|
|
create_index bob password
|
|
create_index alice password
|
|
|
|
insert_test_data bob password
|
|
insert_test_data alice password
|
|
|
|
check_hits bob password
|
|
check_hits alice password
|