mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-06 04:58:50 +00:00
4af6d86c01
The system level tests for our distributions have historically be run in vagrant, and thus the name of the gradle project has been "vagrant". However, as we move to running these tests in other environments (eg GCP) the name vagrant no longer makes sense. This commit renames the project to "os" (short for operating system), since these tests ensure all of our distributions run correctly on our supported operating systems.
101 lines
3.1 KiB
Bash
101 lines
3.1 KiB
Bash
#!/bin/bash
|
|
|
|
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
# or more contributor license agreements. Licensed under the Elastic License;
|
|
# you may not use this file except in compliance with the Elastic License.
|
|
|
|
# Checks that X-Pack files are correctly installed
|
|
verify_xpack_installation() {
|
|
local name="x-pack"
|
|
local user="$ESPLUGIN_COMMAND_USER"
|
|
local group="$ESPLUGIN_COMMAND_USER"
|
|
|
|
# Verify binary files
|
|
# nocommit: already verified by "main" package verification
|
|
#assert_file "$ESHOME/bin" d $user $group 755
|
|
local binaryFiles=(
|
|
'elasticsearch-certgen'
|
|
'elasticsearch-certutil'
|
|
'elasticsearch-croneval'
|
|
'elasticsearch-migrate'
|
|
'elasticsearch-saml-metadata'
|
|
'elasticsearch-setup-passwords'
|
|
'elasticsearch-sql-cli'
|
|
"elasticsearch-sql-cli-$(cat version).jar" # This jar is executable so we pitch it in bin so folks will find it
|
|
'elasticsearch-syskeygen'
|
|
'elasticsearch-users'
|
|
'x-pack-env'
|
|
'x-pack-security-env'
|
|
'x-pack-watcher-env'
|
|
)
|
|
|
|
local binaryFilesCount=5 # start with oss distro number
|
|
for binaryFile in ${binaryFiles[@]}; do
|
|
echo "checking for bin file ${binaryFile}"
|
|
assert_file "$ESHOME/bin/${binaryFile}" f $user $group 755
|
|
binaryFilesCount=$(( binaryFilesCount + 1 ))
|
|
done
|
|
ls "$ESHOME/bin/"
|
|
# nocommit: decide whether to check the files added by the distribution, not part of xpack...
|
|
#assert_number_of_files "$ESHOME/bin/" $binaryFilesCount
|
|
|
|
# Verify config files
|
|
# nocommit: already verified by "main" package verification
|
|
#assert_file "$ESCONFIG" d $user elasticsearch 755
|
|
local configFiles=(
|
|
'users'
|
|
'users_roles'
|
|
'roles.yml'
|
|
'role_mapping.yml'
|
|
'log4j2.properties'
|
|
)
|
|
|
|
local configFilesCount=2 # start with ES files, excluding log4j2
|
|
for configFile in ${configFiles[@]}; do
|
|
assert_file "$ESCONFIG/${configFile}" f $user elasticsearch 660
|
|
configFilesCount=$(( configFilesCount + 1 ))
|
|
done
|
|
# nocommit: decide whether to check the files added by the distribution, not part of xpack...
|
|
#assert_number_of_files "$ESCONFIG/" $configFilesCount
|
|
}
|
|
|
|
assert_number_of_files() {
|
|
local directory=$1
|
|
local expected=$2
|
|
|
|
local count=$(ls "$directory" | wc -l)
|
|
[ "$count" -eq "$expected" ] || {
|
|
echo "Expected $expected files in $directory but found: $count"
|
|
false
|
|
}
|
|
}
|
|
|
|
generate_trial_license() {
|
|
sudo -E -u $ESPLUGIN_COMMAND_USER sh <<"NODE_SETTINGS"
|
|
cat >> $ESCONFIG/elasticsearch.yml <<- EOF
|
|
xpack.license.self_generated.type: trial
|
|
xpack.security.enabled: true
|
|
EOF
|
|
NODE_SETTINGS
|
|
}
|
|
|
|
wait_for_xpack() {
|
|
local host=${1:-localhost}
|
|
local port=${2:-9200}
|
|
local listening=1
|
|
for i in {1..60}; do
|
|
if test_port "$host" "$port"; then
|
|
listening=0
|
|
break
|
|
else
|
|
sleep 1
|
|
fi
|
|
done
|
|
|
|
[ "$listening" -eq 0 ] || {
|
|
echo "Looks like elasticsearch with x-pack never started."
|
|
debug_collect_logs
|
|
false
|
|
}
|
|
}
|