Add 3rd site in the local test environment Change-Id: I1157d2457a9d0a110938309fb4b4074addef5c9d
diff --git a/setup_local_env/haproxy-config/haproxy.cfg b/setup_local_env/haproxy-config/haproxy.cfg index de4f709..eb8bce4 100644 --- a/setup_local_env/haproxy-config/haproxy.cfg +++ b/setup_local_env/haproxy-config/haproxy.cfg
@@ -45,6 +45,7 @@ http-check expect status 200 server node1 $HA_GERRIT_SITE1_HOSTNAME:$HA_GERRIT_SITE1_HTTPD_PORT check inter 10s server node2 $HA_GERRIT_SITE2_HOSTNAME:$HA_GERRIT_SITE2_HTTPD_PORT check inter 10s backup + server node3 $HA_GERRIT_SITE3_HOSTNAME:$HA_GERRIT_SITE3_HTTPD_PORT check inter 10s backup backend write-backendnodes mode http @@ -56,6 +57,7 @@ http-check expect status 200 server node1 $HA_GERRIT_SITE1_HOSTNAME:$HA_GERRIT_SITE1_HTTPD_PORT check inter 10s server node2 $HA_GERRIT_SITE2_HOSTNAME:$HA_GERRIT_SITE2_HTTPD_PORT check inter 10s backup + server node3 $HA_GERRIT_SITE3_HOSTNAME:$HA_GERRIT_SITE3_HTTPD_PORT check inter 10s backup backend ssh mode tcp @@ -66,4 +68,5 @@ timeout server 5m server ssh_node1 $HA_GERRIT_SITE1_HOSTNAME:$HA_GERRIT_SITE1_SSHD_PORT check inter 10s check port $HA_GERRIT_SITE1_HTTPD_PORT inter 10s server ssh_node2 $HA_GERRIT_SITE2_HOSTNAME:$HA_GERRIT_SITE2_SSHD_PORT check inter 10s check port $HA_GERRIT_SITE2_HTTPD_PORT inter 10s backup + server ssh_node3 $HA_GERRIT_SITE3_HOSTNAME:$HA_GERRIT_SITE3_SSHD_PORT check inter 10s check port $HA_GERRIT_SITE2_HTTPD_PORT inter 10s backup
diff --git a/setup_local_env/setup.sh b/setup_local_env/setup.sh index 05e854f..ca2d9e6 100755 --- a/setup_local_env/setup.sh +++ b/setup_local_env/setup.sh
@@ -104,11 +104,14 @@ export HA_GERRIT_SITE1_HOSTNAME=$GERRIT_1_HOSTNAME export HA_GERRIT_SITE2_HOSTNAME=$GERRIT_2_HOSTNAME + export HA_GERRIT_SITE3_HOSTNAME=$GERRIT_3_HOSTNAME export HA_GERRIT_SITE1_HTTPD_PORT=$GERRIT_1_HTTPD_PORT export HA_GERRIT_SITE2_HTTPD_PORT=$GERRIT_2_HTTPD_PORT + export HA_GERRIT_SITE3_HTTPD_PORT=$GERRIT_3_HTTPD_PORT export HA_GERRIT_SITE1_SSHD_PORT=$GERRIT_1_SSHD_PORT export HA_GERRIT_SITE2_SSHD_PORT=$GERRIT_2_SSHD_PORT + export HA_GERRIT_SITE3_SSHD_PORT=$GERRIT_3_SSHD_PORT cat $SCRIPT_DIR/haproxy-config/haproxy.cfg | envsubst > $HA_PROXY_CONFIG_DIR/haproxy.cfg @@ -150,14 +153,28 @@ CONFIG_TEST_SITE_2=$LOCATION_TEST_SITE_2/etc GERRIT_SITE2_REMOTE_DEBUG_PORT="5006" GERRIT_SITE2_INSTANCE_ID="instance-2" + # SITE 3 + GERRIT_SITE3_HOSTNAME=$7 + GERRIT_SITE3_HTTPD_PORT=$8 + GERRIT_SITE3_SSHD_PORT=$9 + CONFIG_TEST_SITE_3=$LOCATION_TEST_SITE_3/etc + GERRIT_SITE3_REMOTE_DEBUG_PORT="5007" + GERRIT_SITE3_INSTANCE_ID="instance-3" # Set config SITE1 copy_config_files $CONFIG_TEST_SITE_1 $GERRIT_SITE1_HTTPD_PORT $LOCATION_TEST_SITE_1 $GERRIT_SITE1_SSHD_PORT $GERRIT_SITE2_HTTPD_PORT $GERRIT_SITE1_HOSTNAME $GERRIT_SITE2_HOSTNAME $GERRIT_SITE1_REMOTE_DEBUG_PORT $GERRIT_SITE1_INSTANCE_ID $GERRIT_SITE2_INSTANCE_ID copy_replication_remote_file $CONFIG_TEST_SITE_1 $GERRIT_SITE2_HTTPD_PORT $GERRIT_SITE2_HOSTNAME $GERRIT_SITE2_INSTANCE_ID + copy_replication_remote_file $CONFIG_TEST_SITE_1 $GERRIT_SITE3_HTTPD_PORT $GERRIT_SITE3_HOSTNAME $GERRIT_SITE3_INSTANCE_ID # Set config SITE2 copy_config_files $CONFIG_TEST_SITE_2 $GERRIT_SITE2_HTTPD_PORT $LOCATION_TEST_SITE_2 $GERRIT_SITE2_SSHD_PORT $GERRIT_SITE1_HTTPD_PORT $GERRIT_SITE1_HOSTNAME $GERRIT_SITE2_HOSTNAME $GERRIT_SITE2_REMOTE_DEBUG_PORT $GERRIT_SITE2_INSTANCE_ID $GERRIT_SITE1_INSTANCE_ID copy_replication_remote_file $CONFIG_TEST_SITE_2 $GERRIT_SITE1_HTTPD_PORT $GERRIT_SITE1_HOSTNAME $GERRIT_SITE1_INSTANCE_ID + copy_replication_remote_file $CONFIG_TEST_SITE_2 $GERRIT_SITE3_HTTPD_PORT $GERRIT_SITE3_HOSTNAME $GERRIT_SITE3_INSTANCE_ID + + # Set config SITE3 + copy_config_files $CONFIG_TEST_SITE_3 $GERRIT_SITE3_HTTPD_PORT $LOCATION_TEST_SITE_3 $GERRIT_SITE3_SSHD_PORT $GERRIT_SITE1_HTTPD_PORT $GERRIT_SITE1_HOSTNAME $GERRIT_SITE3_HOSTNAME $GERRIT_SITE3_REMOTE_DEBUG_PORT $GERRIT_SITE3_INSTANCE_ID $GERRIT_SITE1_INSTANCE_ID + copy_replication_remote_file $CONFIG_TEST_SITE_3 $GERRIT_SITE1_HTTPD_PORT $GERRIT_SITE1_HOSTNAME $GERRIT_SITE1_INSTANCE_ID + copy_replication_remote_file $CONFIG_TEST_SITE_3 $GERRIT_SITE2_HTTPD_PORT $GERRIT_SITE2_HOSTNAME $GERRIT_SITE2_INSTANCE_ID } function is_docker_desktop { @@ -424,10 +441,13 @@ export GERRIT_CANONICAL_PORT=${GERRIT_CANONICAL_PORT:-"8080"} GERRIT_1_HOSTNAME=${GERRIT_1_HOSTNAME:-"localhost"} GERRIT_2_HOSTNAME=${GERRIT_2_HOSTNAME:-"localhost"} +GERRIT_3_HOSTNAME=${GERRIT_3_HOSTNAME:-"localhost"} GERRIT_1_HTTPD_PORT=${GERRIT_1_HTTPD_PORT:-"18080"} GERRIT_2_HTTPD_PORT=${GERRIT_2_HTTPD_PORT:-"18081"} +GERRIT_3_HTTPD_PORT=${GERRIT_3_HTTPD_PORT:-"18082"} GERRIT_1_SSHD_PORT=${GERRIT_1_SSHD_PORT:-"39418"} GERRIT_2_SSHD_PORT=${GERRIT_2_SSHD_PORT:-"49418"} +GERRIT_3_SSHD_PORT=${GERRIT_3_SSHD_PORT:-"59418"} export REPLICATION_DELAY_SEC=${REPLICATION_DELAY_SEC:-"5"} export SSH_ADVERTISED_PORT=${SSH_ADVERTISED_PORT:-"29418"} HTTPS_ENABLED=${HTTPS_ENABLED:-"false"} @@ -436,6 +456,7 @@ export COMMON_LOCATION=$DEPLOYMENT_LOCATION/gerrit_setup LOCATION_TEST_SITE_1=$COMMON_LOCATION/instance-1 LOCATION_TEST_SITE_2=$COMMON_LOCATION/instance-2 +LOCATION_TEST_SITE_3=$COMMON_LOCATION/instance-3 HA_PROXY_CONFIG_DIR=$COMMON_LOCATION/ha-proxy-config HA_PROXY_CERTIFICATES_DIR="$HA_PROXY_CONFIG_DIR/certificates" PROMETHEUS_CONFIG_DIR=$COMMON_LOCATION/prometheus-config @@ -448,7 +469,7 @@ export FAKE_NFS=$COMMON_LOCATION/fake_nfs if [ "$JUST_CLEANUP_ENV" = "true" ];then - cleanup_environment $LOCATION_TEST_SITE_1 $LOCATION_TEST_SITE_2 $COMMON_LOCATION + cleanup_environment $LOCATION_TEST_SITE_1 $LOCATION_TEST_SITE_2 $LOCATION_TEST_SITE_3 $COMMON_LOCATION exit 0 fi @@ -518,10 +539,10 @@ # New installation if [ $NEW_INSTALLATION = "true" ]; then - cleanup_environment $LOCATION_TEST_SITE_1 $LOCATION_TEST_SITE_2 $COMMON_LOCATION + cleanup_environment $LOCATION_TEST_SITE_1 $LOCATION_TEST_SITE_2 $LOCATION_TEST_SITE_3 $COMMON_LOCATION echo "Setting up directories" - mkdir -p $LOCATION_TEST_SITE_1 $LOCATION_TEST_SITE_2 $HA_PROXY_CERTIFICATES_DIR $FAKE_NFS + mkdir -p $LOCATION_TEST_SITE_1 $LOCATION_TEST_SITE_2 $LOCATION_TEST_SITE_3 $HA_PROXY_CERTIFICATES_DIR $FAKE_NFS java -jar $DEPLOYMENT_LOCATION/gerrit.war init --batch --no-auto-start --install-all-plugins --dev -d $LOCATION_TEST_SITE_1 # Deploying TLS certificates @@ -562,18 +583,19 @@ # Replicating environment echo "Replicating environment" cp -fR $LOCATION_TEST_SITE_1/* $LOCATION_TEST_SITE_2 + cp -fR $LOCATION_TEST_SITE_1/* $LOCATION_TEST_SITE_3 - echo "Link pullreplication plugin" - ln -s $LOCATION_TEST_SITE_1/plugins/pull-replication.jar $LOCATION_TEST_SITE_1/lib/pull-replication.jar - ln -s $LOCATION_TEST_SITE_2/plugins/pull-replication.jar $LOCATION_TEST_SITE_2/lib/pull-replication.jar + for location_test_site in $LOCATION_TEST_SITE_1 $LOCATION_TEST_SITE_2 $LOCATION_TEST_SITE_3 + do + echo "Link pullreplication plugin on $location_test_site" + ln -s $location_test_site/plugins/pull-replication.jar $location_test_site/lib/pull-replication.jar - echo "Link multi-site library to plugin directory" - ln -s $LOCATION_TEST_SITE_1/lib/multi-site.jar $LOCATION_TEST_SITE_1/plugins/multi-site.jar - ln -s $LOCATION_TEST_SITE_2/lib/multi-site.jar $LOCATION_TEST_SITE_2/plugins/multi-site.jar + echo "Link multi-site library to plugin directory on $location_test_site" + ln -s $location_test_site/lib/multi-site.jar $location_test_site/plugins/multi-site.jar - echo "Copy pull-replication plugin" - cp -f $DEPLOYMENT_LOCATION/pull-replication.jar $LOCATION_TEST_SITE_1/plugins/pull-replication.jar - cp -f $DEPLOYMENT_LOCATION/pull-replication.jar $LOCATION_TEST_SITE_2/plugins/pull-replication.jar + echo "Copy pull-replication plugin on $location_test_site" + cp -f $DEPLOYMENT_LOCATION/pull-replication.jar $location_test_site/plugins/pull-replication.jar + done fi @@ -595,16 +617,15 @@ prepare_broker_data echo "Re-deploying configuration files" -deploy_config_files $GERRIT_1_HOSTNAME $GERRIT_1_HTTPD_PORT $GERRIT_1_SSHD_PORT $GERRIT_2_HOSTNAME $GERRIT_2_HTTPD_PORT $GERRIT_2_SSHD_PORT -echo "Move replication and delete-project plugins to /lib on gerrit site 1" -mv $LOCATION_TEST_SITE_1/plugins/{replication,delete-project}.jar $LOCATION_TEST_SITE_1/lib/. -echo "Starting gerrit site 1" -$LOCATION_TEST_SITE_1/bin/gerrit.sh restart -echo "Move replication plugin to /lib on gerrit site 2" -mv $LOCATION_TEST_SITE_2/plugins/{replication,delete-project}.jar $LOCATION_TEST_SITE_2/lib/. -echo "Starting gerrit site 2" -$LOCATION_TEST_SITE_2/bin/gerrit.sh restart +deploy_config_files $GERRIT_1_HOSTNAME $GERRIT_1_HTTPD_PORT $GERRIT_1_SSHD_PORT $GERRIT_2_HOSTNAME $GERRIT_2_HTTPD_PORT $GERRIT_2_SSHD_PORT $GERRIT_3_HOSTNAME $GERRIT_3_HTTPD_PORT $GERRIT_3_SSHD_PORT +for location_test_site in $LOCATION_TEST_SITE_1 $LOCATION_TEST_SITE_2 $LOCATION_TEST_SITE_3 +do + echo "Move replication and delete-project plugins to /lib on gerrit $location_test_site" + mv $location_test_site/plugins/{replication,delete-project}.jar $location_test_site/lib/. + echo "Starting gerrit $location_test_site" + $location_test_site/bin/gerrit.sh restart +done if [[ $(ps -ax | grep haproxy | grep "gerrit_setup/ha-proxy-config" | awk '{print $1}' | wc -l) -lt 1 ]];then echo "Starting haproxy" @@ -622,10 +643,12 @@ echo "GERRIT HA-PROXY: $GERRIT_CANONICAL_WEB_URL" echo "GERRIT-1: http://$GERRIT_1_HOSTNAME:$GERRIT_1_HTTPD_PORT" echo "GERRIT-2: http://$GERRIT_2_HOSTNAME:$GERRIT_2_HTTPD_PORT" +echo "GERRIT-3: http://$GERRIT_3_HOSTNAME:$GERRIT_3_HTTPD_PORT" echo "Prometheus: http://localhost:9090" echo echo "Site-1: $LOCATION_TEST_SITE_1" echo "Site-2: $LOCATION_TEST_SITE_2" +echo "Site-3: $LOCATION_TEST_SITE_3" echo echo "$HTTPS_CLONE_MSG" echo