2020-09-24 08:35:16 +00:00
#!/bin/bash
# script allows to install configs for clickhouse server and clients required
# for testing (stateless and stateful tests)
set -x -e
DEST_SERVER_PATH = " ${ 1 :- /etc/clickhouse-server } "
DEST_CLIENT_PATH = " ${ 2 :- /etc/clickhouse-client } "
SRC_PATH = " $( cd " $( dirname " $0 " ) " >/dev/null 2>& 1 ; pwd -P ) "
2020-09-24 10:22:00 +00:00
echo " Going to install test configs from $SRC_PATH into $DEST_SERVER_PATH "
2020-09-24 08:35:16 +00:00
mkdir -p $DEST_SERVER_PATH /config.d/
mkdir -p $DEST_SERVER_PATH /users.d/
mkdir -p $DEST_CLIENT_PATH
2020-09-29 18:55:06 +00:00
ln -sf $SRC_PATH /config.d/zookeeper.xml $DEST_SERVER_PATH /config.d/
2022-06-01 09:02:55 +00:00
ln -sf $SRC_PATH /config.d/zookeeper_write.xml $DEST_SERVER_PATH /config.d/
2020-09-29 18:55:06 +00:00
ln -sf $SRC_PATH /config.d/listen.xml $DEST_SERVER_PATH /config.d/
ln -sf $SRC_PATH /config.d/text_log.xml $DEST_SERVER_PATH /config.d/
ln -sf $SRC_PATH /config.d/custom_settings_prefixes.xml $DEST_SERVER_PATH /config.d/
2022-05-06 23:37:23 +00:00
ln -sf $SRC_PATH /config.d/enable_access_control_improvements.xml $DEST_SERVER_PATH /config.d/
2020-09-29 18:55:06 +00:00
ln -sf $SRC_PATH /config.d/macros.xml $DEST_SERVER_PATH /config.d/
ln -sf $SRC_PATH /config.d/disks.xml $DEST_SERVER_PATH /config.d/
ln -sf $SRC_PATH /config.d/secure_ports.xml $DEST_SERVER_PATH /config.d/
ln -sf $SRC_PATH /config.d/clusters.xml $DEST_SERVER_PATH /config.d/
ln -sf $SRC_PATH /config.d/graphite.xml $DEST_SERVER_PATH /config.d/
ln -sf $SRC_PATH /config.d/database_atomic.xml $DEST_SERVER_PATH /config.d/
2020-10-06 07:13:55 +00:00
ln -sf $SRC_PATH /config.d/max_concurrent_queries.xml $DEST_SERVER_PATH /config.d/
2021-08-20 14:12:42 +00:00
ln -sf $SRC_PATH /config.d/merge_tree_settings.xml $DEST_SERVER_PATH /config.d/
2022-08-11 13:27:00 +00:00
ln -sf $SRC_PATH /config.d/merge_tree_old_dirs_cleanup.xml $DEST_SERVER_PATH /config.d/
2020-11-05 20:04:34 +00:00
ln -sf $SRC_PATH /config.d/test_cluster_with_incorrect_pw.xml $DEST_SERVER_PATH /config.d/
2021-03-29 08:24:56 +00:00
ln -sf $SRC_PATH /config.d/keeper_port.xml $DEST_SERVER_PATH /config.d/
2020-11-18 21:55:37 +00:00
ln -sf $SRC_PATH /config.d/logging_no_rotate.xml $DEST_SERVER_PATH /config.d/
2021-08-13 11:27:55 +00:00
ln -sf $SRC_PATH /config.d/merge_tree.xml $DEST_SERVER_PATH /config.d/
2022-05-02 14:05:25 +00:00
ln -sf $SRC_PATH /config.d/metadata_cache.xml $DEST_SERVER_PATH /config.d/
2020-12-07 20:36:47 +00:00
ln -sf $SRC_PATH /config.d/tcp_with_proxy.xml $DEST_SERVER_PATH /config.d/
2022-08-05 12:06:34 +00:00
ln -sf $SRC_PATH /config.d/prometheus.xml $DEST_SERVER_PATH /config.d/
2020-12-03 21:11:38 +00:00
ln -sf $SRC_PATH /config.d/top_level_domains_lists.xml $DEST_SERVER_PATH /config.d/
2020-12-08 20:58:27 +00:00
ln -sf $SRC_PATH /config.d/top_level_domains_path.xml $DEST_SERVER_PATH /config.d/
2021-05-31 18:28:36 +00:00
ln -sf $SRC_PATH /config.d/transactions.xml $DEST_SERVER_PATH /config.d/
2021-07-30 09:12:33 +00:00
ln -sf $SRC_PATH /config.d/encryption.xml $DEST_SERVER_PATH /config.d/
2021-09-29 15:54:04 +00:00
ln -sf $SRC_PATH /config.d/CORS.xml $DEST_SERVER_PATH /config.d/
2021-07-09 14:05:35 +00:00
ln -sf $SRC_PATH /config.d/zookeeper_log.xml $DEST_SERVER_PATH /config.d/
2022-05-29 12:48:04 +00:00
ln -sf $SRC_PATH /config.d/logger_test.xml $DEST_SERVER_PATH /config.d/
2021-10-06 12:06:40 +00:00
ln -sf $SRC_PATH /config.d/named_collection.xml $DEST_SERVER_PATH /config.d/
2022-05-01 10:59:19 +00:00
ln -sf $SRC_PATH /config.d/ssl_certs.xml $DEST_SERVER_PATH /config.d/
2022-05-01 11:46:55 +00:00
ln -sf $SRC_PATH /config.d/filesystem_cache_log.xml $DEST_SERVER_PATH /config.d/
2022-05-17 20:53:17 +00:00
ln -sf $SRC_PATH /config.d/session_log.xml $DEST_SERVER_PATH /config.d/
2022-05-01 11:46:55 +00:00
2020-09-29 18:55:06 +00:00
ln -sf $SRC_PATH /users.d/log_queries.xml $DEST_SERVER_PATH /users.d/
ln -sf $SRC_PATH /users.d/readonly.xml $DEST_SERVER_PATH /users.d/
ln -sf $SRC_PATH /users.d/access_management.xml $DEST_SERVER_PATH /users.d/
2020-10-13 14:29:24 +00:00
ln -sf $SRC_PATH /users.d/database_atomic_drop_detach_sync.xml $DEST_SERVER_PATH /users.d/
2020-11-19 15:58:33 +00:00
ln -sf $SRC_PATH /users.d/opentelemetry.xml $DEST_SERVER_PATH /users.d/
2021-03-03 20:32:53 +00:00
ln -sf $SRC_PATH /users.d/remote_queries.xml $DEST_SERVER_PATH /users.d/
2021-03-05 14:57:16 +00:00
ln -sf $SRC_PATH /users.d/session_log_test.xml $DEST_SERVER_PATH /users.d/
2021-10-15 14:04:31 +00:00
ln -sf $SRC_PATH /users.d/memory_profiler.xml $DEST_SERVER_PATH /users.d/
2021-10-13 20:43:38 +00:00
ln -sf $SRC_PATH /users.d/no_fsync_metadata.xml $DEST_SERVER_PATH /users.d/
2021-11-29 13:13:20 +00:00
ln -sf $SRC_PATH /users.d/filelog.xml $DEST_SERVER_PATH /users.d/
2020-09-29 18:55:06 +00:00
2021-06-21 17:29:32 +00:00
# FIXME DataPartsExchange may hang for http_send_timeout seconds
# when nobody is going to read from the other side of socket (due to "Fetching of part was cancelled"),
# but socket is owned by HTTPSessionPool, so it's not closed.
ln -sf $SRC_PATH /users.d/timeouts.xml $DEST_SERVER_PATH /users.d/
2020-09-29 18:55:06 +00:00
ln -sf $SRC_PATH /ints_dictionary.xml $DEST_SERVER_PATH /
ln -sf $SRC_PATH /strings_dictionary.xml $DEST_SERVER_PATH /
ln -sf $SRC_PATH /decimals_dictionary.xml $DEST_SERVER_PATH /
ln -sf $SRC_PATH /executable_dictionary.xml $DEST_SERVER_PATH /
2021-03-01 13:57:47 +00:00
ln -sf $SRC_PATH /executable_pool_dictionary.xml $DEST_SERVER_PATH /
2021-09-13 14:47:38 +00:00
ln -sf $SRC_PATH /test_function.xml $DEST_SERVER_PATH /
2020-09-29 18:55:06 +00:00
2020-12-08 20:58:27 +00:00
ln -sf $SRC_PATH /top_level_domains $DEST_SERVER_PATH /
2020-12-03 21:11:38 +00:00
2020-09-29 18:55:06 +00:00
ln -sf $SRC_PATH /server.key $DEST_SERVER_PATH /
ln -sf $SRC_PATH /server.crt $DEST_SERVER_PATH /
ln -sf $SRC_PATH /dhparam.pem $DEST_SERVER_PATH /
2020-09-24 08:35:16 +00:00
# Retain any pre-existing config and allow ClickHouse to load it if required
2020-09-29 18:55:06 +00:00
ln -sf --backup= simple --suffix= _original.xml \
2020-09-24 10:22:00 +00:00
$SRC_PATH /config.d/query_masking_rules.xml $DEST_SERVER_PATH /config.d/
2020-09-24 08:35:16 +00:00
2022-08-03 11:43:30 +00:00
# We randomize creating the snapshot on exit for Keeper to test out using older snapshots
create_snapshot_on_exit = $(( $RANDOM % 2 ))
2022-08-03 11:57:20 +00:00
sed --follow-symlinks -i " s|<create_snapshot_on_exit>true</create_snapshot_on_exit>|<create_snapshot_on_exit> $create_snapshot_on_exit </create_snapshot_on_exit>| " $DEST_SERVER_PATH /config.d/keeper_port.xml
2022-08-03 11:43:30 +00:00
2020-09-24 08:35:16 +00:00
if [ [ -n " $USE_POLYMORPHIC_PARTS " ] ] && [ [ " $USE_POLYMORPHIC_PARTS " -eq 1 ] ] ; then
2020-09-29 18:55:06 +00:00
ln -sf $SRC_PATH /config.d/polymorphic_parts.xml $DEST_SERVER_PATH /config.d/
2020-09-24 08:35:16 +00:00
fi
2020-09-24 23:04:01 +00:00
if [ [ -n " $USE_DATABASE_ORDINARY " ] ] && [ [ " $USE_DATABASE_ORDINARY " -eq 1 ] ] ; then
2020-09-29 18:55:06 +00:00
ln -sf $SRC_PATH /users.d/database_ordinary.xml $DEST_SERVER_PATH /users.d/
2020-09-24 08:35:16 +00:00
fi
2022-03-01 10:57:14 +00:00
if [ [ -n " $USE_S3_STORAGE_FOR_MERGE_TREE " ] ] && [ [ " $USE_S3_STORAGE_FOR_MERGE_TREE " -eq 1 ] ] ; then
ln -sf $SRC_PATH /config.d/s3_storage_policy_by_default.xml $DEST_SERVER_PATH /config.d/
2022-05-29 12:48:04 +00:00
# Too verbose logging in S3 tests
rm -f $DEST_SERVER_PATH /config.d/logger_test.xml
ln -sf $SRC_PATH /config.d/logger_trace.xml $DEST_SERVER_PATH /config.d/
2022-03-01 10:57:14 +00:00
fi
2022-08-08 08:37:58 +00:00
ARM = "aarch64"
OS = " $( uname -m) "
2022-03-01 10:57:14 +00:00
if [ [ -n " $EXPORT_S3_STORAGE_POLICIES " ] ] ; then
2022-08-08 08:37:58 +00:00
echo " $OS "
2022-08-15 22:58:09 +00:00
if [ [ " $USE_DATABASE_REPLICATED " -eq 1 ] ] || [ [ " $OS " = = " $ARM " ] ] ; then
echo "Azure configuration will not be added"
else
2022-08-08 08:37:58 +00:00
echo "Adding azure configuration"
2022-08-07 12:05:09 +00:00
ln -sf $SRC_PATH /config.d/azure_storage_conf.xml $DEST_SERVER_PATH /config.d/
fi
2022-03-01 10:57:14 +00:00
ln -sf $SRC_PATH /config.d/storage_conf.xml $DEST_SERVER_PATH /config.d/
2022-04-04 12:00:27 +00:00
ln -sf $SRC_PATH /users.d/s3_cache.xml $DEST_SERVER_PATH /users.d/
2022-03-01 10:57:14 +00:00
fi
2021-02-15 10:26:34 +00:00
if [ [ -n " $USE_DATABASE_REPLICATED " ] ] && [ [ " $USE_DATABASE_REPLICATED " -eq 1 ] ] ; then
ln -sf $SRC_PATH /users.d/database_replicated.xml $DEST_SERVER_PATH /users.d/
2021-03-13 01:25:13 +00:00
ln -sf $SRC_PATH /config.d/database_replicated.xml $DEST_SERVER_PATH /config.d/
rm /etc/clickhouse-server/config.d/zookeeper.xml
2021-03-29 20:04:50 +00:00
rm /etc/clickhouse-server/config.d/keeper_port.xml
2021-03-13 10:22:48 +00:00
# There is a bug in config reloading, so we cannot override macros using --macros.replica r2
# And we have to copy configs...
2021-04-07 20:00:14 +00:00
mkdir -p /etc/clickhouse-server1
mkdir -p /etc/clickhouse-server2
2021-03-18 12:49:31 +00:00
chown clickhouse /etc/clickhouse-server1
2021-03-13 10:22:48 +00:00
chown clickhouse /etc/clickhouse-server2
2021-03-18 12:49:31 +00:00
chgrp clickhouse /etc/clickhouse-server1
2021-03-13 10:22:48 +00:00
chgrp clickhouse /etc/clickhouse-server2
2021-03-18 12:49:31 +00:00
sudo -u clickhouse cp -r /etc/clickhouse-server/* /etc/clickhouse-server1
2021-03-13 10:22:48 +00:00
sudo -u clickhouse cp -r /etc/clickhouse-server/* /etc/clickhouse-server2
2021-03-18 12:49:31 +00:00
rm /etc/clickhouse-server1/config.d/macros.xml
2021-03-13 10:22:48 +00:00
rm /etc/clickhouse-server2/config.d/macros.xml
2021-03-18 12:49:31 +00:00
sudo -u clickhouse cat /etc/clickhouse-server/config.d/macros.xml | sed "s|<replica>r1</replica>|<replica>r2</replica>|" > /etc/clickhouse-server1/config.d/macros.xml
sudo -u clickhouse cat /etc/clickhouse-server/config.d/macros.xml | sed "s|<shard>s1</shard>|<shard>s2</shard>|" > /etc/clickhouse-server2/config.d/macros.xml
2021-03-13 10:22:48 +00:00
2021-04-07 20:00:14 +00:00
sudo mkdir -p /var/lib/clickhouse1
sudo mkdir -p /var/lib/clickhouse2
2021-03-18 12:49:31 +00:00
sudo chown clickhouse /var/lib/clickhouse1
2021-03-13 10:22:48 +00:00
sudo chown clickhouse /var/lib/clickhouse2
2021-03-18 12:49:31 +00:00
sudo chgrp clickhouse /var/lib/clickhouse1
2021-03-13 10:22:48 +00:00
sudo chgrp clickhouse /var/lib/clickhouse2
2021-02-15 10:26:34 +00:00
fi
2020-09-24 08:35:16 +00:00
ln -sf $SRC_PATH /client_config.xml $DEST_CLIENT_PATH /config.xml