Don't run `mkdir` when $DATA_DIR contains a comma-separated list
Resolves #16992 Resolves https://github.com/elastic/cookbook-elasticsearch/issues/441
This commit is contained in:
parent
864ba8dac1
commit
ff5c7965ed
|
@ -117,7 +117,13 @@ case "$1" in
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prepare environment
|
# Prepare environment
|
||||||
mkdir -p "$LOG_DIR" "$DATA_DIR" && chown "$ES_USER":"$ES_GROUP" "$LOG_DIR" "$DATA_DIR"
|
# Check $DATA_DIR for a comma
|
||||||
|
if [ "${DATA_DIR#*,}" != "$DATA_DIR" ]; then
|
||||||
|
# $DATA_DIR contains a comma, so we should not mkdir it
|
||||||
|
mkdir -p "$LOG_DIR" && chown "$ES_USER":"$ES_GROUP" "$LOG_DIR"
|
||||||
|
else
|
||||||
|
mkdir -p "$LOG_DIR" "$DATA_DIR" && chown "$ES_USER":"$ES_GROUP" "$LOG_DIR" "$DATA_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
# Ensure that the PID_DIR exists (it is cleaned at OS startup time)
|
# Ensure that the PID_DIR exists (it is cleaned at OS startup time)
|
||||||
if [ -n "$PID_DIR" ] && [ ! -e "$PID_DIR" ]; then
|
if [ -n "$PID_DIR" ] && [ ! -e "$PID_DIR" ]; then
|
||||||
|
|
|
@ -117,6 +117,23 @@ setup() {
|
||||||
[ "$status" -eq 3 ] || [ "$status" -eq 4 ]
|
[ "$status" -eq 3 ] || [ "$status" -eq 4 ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "[INIT.D] don't mkdir when it contains a comma" {
|
||||||
|
# Remove these just in case they exist beforehand
|
||||||
|
rm -rf /tmp/aoeu,/tmp/asdf
|
||||||
|
rm -rf /tmp/aoeu,
|
||||||
|
# set DATA_DIR to DATA_DIR=/tmp/aoeu,/tmp/asdf
|
||||||
|
sed -i 's/DATA_DIR=.*/DATA_DIR=\/tmp\/aoeu,\/tmp\/asdf/' /etc/init.d/elasticsearch
|
||||||
|
cat /etc/init.d/elasticsearch | grep "DATA_DIR"
|
||||||
|
service elasticsearch start
|
||||||
|
wait_for_elasticsearch_status
|
||||||
|
assert_file_not_exist /tmp/aoeu,/tmp/asdf
|
||||||
|
assert_file_not_exist /tmp/aoeu,
|
||||||
|
service elasticsearch stop
|
||||||
|
run service elasticsearch status
|
||||||
|
# precise returns 4, trusty 3
|
||||||
|
[ "$status" -eq 3 ] || [ "$status" -eq 4 ]
|
||||||
|
}
|
||||||
|
|
||||||
# Simulates the behavior of a system restart:
|
# Simulates the behavior of a system restart:
|
||||||
# the PID directory is deleted by the operating system
|
# the PID directory is deleted by the operating system
|
||||||
# but it should not block ES from starting
|
# but it should not block ES from starting
|
||||||
|
|
Loading…
Reference in New Issue