Use bash in packaging heredocs (elastic/x-pack-elasticsearch#4145)
In some places in the packaging tests we use heredocs to run some scripts, for example, under the root user. However, we were running these heredocs under sh instead of bash. This is confusing since we use bash everywhere and we end up with syntax in the herdocs that expects bash but will not necessarily be run under bash. For example, one circumstance where this arises is the bash syntax [[. This leads to packaging test failures on some systems (e.g., the debian-8 box) that are solely due to this sh/bash distinction. We should really be using bash everywhere, it is the shell that we settled on for all of our scripts everywhere awhile ago and then we can avoid this confusion. This commit replaces the usage of sh in the X-Pack packaging tests with bash. Original commit: elastic/x-pack-elasticsearch@7555bb32c8
This commit is contained in:
parent
7ea79c88ab
commit
83aae92353
|
@ -49,7 +49,7 @@ fi
|
||||||
sudo rm -f /tmp/bootstrap.password
|
sudo rm -f /tmp/bootstrap.password
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run sudo -E -u $ESPLUGIN_COMMAND_USER sh <<"NEW_PASS"
|
run sudo -E -u $ESPLUGIN_COMMAND_USER bash <<"NEW_PASS"
|
||||||
if [[ ! -f $ESCONFIG/elasticsearch.keystore ]]; then
|
if [[ ! -f $ESCONFIG/elasticsearch.keystore ]]; then
|
||||||
$ESHOME/bin/elasticsearch-keystore create
|
$ESHOME/bin/elasticsearch-keystore create
|
||||||
fi
|
fi
|
||||||
|
@ -65,7 +65,7 @@ NEW_PASS
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "[$GROUP] test bootstrap.password is in setting list" {
|
@test "[$GROUP] test bootstrap.password is in setting list" {
|
||||||
run sudo -E -u $ESPLUGIN_COMMAND_USER sh <<"NODE_SETTINGS"
|
run sudo -E -u $ESPLUGIN_COMMAND_USER bash <<"NODE_SETTINGS"
|
||||||
cat >> $ESCONFIG/elasticsearch.yml <<- EOF
|
cat >> $ESCONFIG/elasticsearch.yml <<- EOF
|
||||||
network.host: 127.0.0.1
|
network.host: 127.0.0.1
|
||||||
http.port: 9200
|
http.port: 9200
|
||||||
|
@ -92,7 +92,7 @@ NODE_SETTINGS
|
||||||
sudo rm -f /tmp/setup-passwords-output-with-bootstrap
|
sudo rm -f /tmp/setup-passwords-output-with-bootstrap
|
||||||
fi
|
fi
|
||||||
|
|
||||||
run sudo -E -u $ESPLUGIN_COMMAND_USER sh <<"SETUP_OK"
|
run sudo -E -u $ESPLUGIN_COMMAND_USER bash <<"SETUP_OK"
|
||||||
echo 'y' | $ESHOME/bin/x-pack/setup-passwords auto
|
echo 'y' | $ESHOME/bin/x-pack/setup-passwords auto
|
||||||
SETUP_OK
|
SETUP_OK
|
||||||
echo "$output" > /tmp/setup-passwords-output-with-bootstrap
|
echo "$output" > /tmp/setup-passwords-output-with-bootstrap
|
||||||
|
|
|
@ -152,7 +152,7 @@ start_node_using_package() {
|
||||||
# The alternative would be to start the master node, use setup-passwords
|
# The alternative would be to start the master node, use setup-passwords
|
||||||
# and restart the node once ssl/tls is configured. Or use setup-passwords over
|
# and restart the node once ssl/tls is configured. Or use setup-passwords over
|
||||||
# HTTPS with the right cacerts imported into a Java keystore.
|
# HTTPS with the right cacerts imported into a Java keystore.
|
||||||
run sudo -E -u $MASTER_USER sh <<"NEW_PASS"
|
run sudo -E -u $MASTER_USER bash <<"NEW_PASS"
|
||||||
if [[ ! -f $ESCONFIG/elasticsearch.keystore ]]; then
|
if [[ ! -f $ESCONFIG/elasticsearch.keystore ]]; then
|
||||||
$ESHOME/bin/elasticsearch-keystore create
|
$ESHOME/bin/elasticsearch-keystore create
|
||||||
fi
|
fi
|
||||||
|
@ -166,7 +166,7 @@ NEW_PASS
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "[$GROUP] create instances file" {
|
@test "[$GROUP] create instances file" {
|
||||||
run sudo -E -u $MASTER_USER sh <<"CREATE_INSTANCES_FILE"
|
run sudo -E -u $MASTER_USER bash <<"CREATE_INSTANCES_FILE"
|
||||||
cat > /tmp/instances.yml <<- EOF
|
cat > /tmp/instances.yml <<- EOF
|
||||||
instances:
|
instances:
|
||||||
- name: "node-master"
|
- name: "node-master"
|
||||||
|
@ -233,7 +233,7 @@ CREATE_INSTANCES_FILE
|
||||||
export ESHOME="$MASTER_HOME"
|
export ESHOME="$MASTER_HOME"
|
||||||
export_elasticsearch_paths
|
export_elasticsearch_paths
|
||||||
|
|
||||||
run sudo -E -u $MASTER_USER sh <<"MASTER_SETTINGS"
|
run sudo -E -u $MASTER_USER bash <<"MASTER_SETTINGS"
|
||||||
cat >> $ESCONFIG/elasticsearch.yml <<- EOF
|
cat >> $ESCONFIG/elasticsearch.yml <<- EOF
|
||||||
node.name: "node-master"
|
node.name: "node-master"
|
||||||
node.master: true
|
node.master: true
|
||||||
|
@ -316,7 +316,7 @@ MASTER_SETTINGS
|
||||||
export ESHOME="$DATA_HOME"
|
export ESHOME="$DATA_HOME"
|
||||||
export_elasticsearch_paths
|
export_elasticsearch_paths
|
||||||
|
|
||||||
run sudo -E -u $DATA_USER sh <<"DATA_SETTINGS"
|
run sudo -E -u $DATA_USER bash <<"DATA_SETTINGS"
|
||||||
cat >> $ESCONFIG/elasticsearch.yml <<- EOF
|
cat >> $ESCONFIG/elasticsearch.yml <<- EOF
|
||||||
node.name: "node-data"
|
node.name: "node-data"
|
||||||
node.master: false
|
node.master: false
|
||||||
|
|
|
@ -49,7 +49,7 @@ fi
|
||||||
run_elasticsearch_service 0
|
run_elasticsearch_service 0
|
||||||
wait_for_xpack
|
wait_for_xpack
|
||||||
|
|
||||||
run sudo -E -u $ESPLUGIN_COMMAND_USER sh <<"SETUP_AUTO"
|
run sudo -E -u $ESPLUGIN_COMMAND_USER bash <<"SETUP_AUTO"
|
||||||
echo 'y' | $ESHOME/bin/x-pack/setup-passwords auto
|
echo 'y' | $ESHOME/bin/x-pack/setup-passwords auto
|
||||||
SETUP_AUTO
|
SETUP_AUTO
|
||||||
echo "$output" > /tmp/setup-passwords-output
|
echo "$output" > /tmp/setup-passwords-output
|
||||||
|
|
Loading…
Reference in New Issue