From 73834b12f206beb97bf72e1ba6e25c7ec14079ad Mon Sep 17 00:00:00 2001 From: sergekh2 Date: Wed, 27 Jul 2022 10:31:02 -0700 Subject: [PATCH] Change local test deployment scripts to deploy multiple dendrites, use separate dirs --- local_test/README.md | 28 +++++++++++++++++++-- local_test/clean.sh | 9 +++++++ local_test/deploy.sh | 20 +++++++++++++++ local_test/matrix_key.pem | 5 ---- local_test/run.sh | 9 ------- local_test/run_all.sh | 27 +++++++++++++++++++++ local_test/run_single.sh | 24 ++++++++++++++++++ local_test/server.crt | 28 --------------------- local_test/server.key | 51 --------------------------------------- local_test/stop_all.sh | 21 ++++++++++++++++ local_test/vars.env | 3 +++ 11 files changed, 130 insertions(+), 95 deletions(-) create mode 100755 local_test/clean.sh create mode 100755 local_test/deploy.sh delete mode 100644 local_test/matrix_key.pem delete mode 100755 local_test/run.sh create mode 100755 local_test/run_all.sh create mode 100755 local_test/run_single.sh delete mode 100644 local_test/server.crt delete mode 100644 local_test/server.key create mode 100755 local_test/stop_all.sh create mode 100644 local_test/vars.env diff --git a/local_test/README.md b/local_test/README.md index b5f175b88..49002d553 100644 --- a/local_test/README.md +++ b/local_test/README.md @@ -6,8 +6,32 @@ Build from project root: ./build.sh ``` -Then run dendrite monolith server with test config: +Modify `vars.env` and `dendrite.yaml` as desired and deploy: ```bash -./local_test/run.sh +./local_test/deploys.sh +``` + +Run all dendrites in background: + +```bash +./local_test/run_all.sh +``` + +Stop all dendrites runnign in background: + +```bash +./local_test/stop_all.sh +``` + +Run single dendrite number N in foreground: + +```bash +./local_test/run_single.sh 0 +``` + +Delete deployment: + +```bash +./local_test/clean.sh 0 ``` diff --git a/local_test/clean.sh b/local_test/clean.sh new file mode 100755 index 000000000..df6bb1771 --- /dev/null +++ b/local_test/clean.sh @@ -0,0 +1,9 @@ +#!/bin/bash -Eeu + +cd $(dirname "$0") + +source vars.env + +echo "Cleaning ${TEST_DIR}" + +rm -rf ${TEST_DIR} diff --git a/local_test/deploy.sh b/local_test/deploy.sh new file mode 100755 index 000000000..5e92b237e --- /dev/null +++ b/local_test/deploy.sh @@ -0,0 +1,20 @@ +#!/bin/bash -Eeu + +cd $(dirname "$0") + +./stop_all.sh +./clean.sh + +source vars.env + +echo "Deploying to ${TEST_DIR}" + +for ((i = 0; i < ${NUM_NODES}; i++)) +do + NODE_DIR="${TEST_DIR}/node${i}" + echo "Deploying node ${i} to ${NODE_DIR}" + mkdir -p ${NODE_DIR} + cp dendrite.yaml ${NODE_DIR} + ../bin/generate-keys --private-key ${NODE_DIR}/matrix_key.pem + ../bin/generate-keys --tls-cert ${NODE_DIR}/server.crt --tls-key ${NODE_DIR}/server.key +done diff --git a/local_test/matrix_key.pem b/local_test/matrix_key.pem deleted file mode 100644 index 19ae3dd60..000000000 --- a/local_test/matrix_key.pem +++ /dev/null @@ -1,5 +0,0 @@ ------BEGIN MATRIX PRIVATE KEY----- -Key-ID: ed25519:2Wof34 - -f34OhC7xbKGCcA/fpH3iTMAURhqvCe9rGI4JA099l/g= ------END MATRIX PRIVATE KEY----- diff --git a/local_test/run.sh b/local_test/run.sh deleted file mode 100755 index 6d277dae0..000000000 --- a/local_test/run.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -eu - -cd $(dirname "$0") - -../bin/dendrite-monolith-server \ - --tls-cert server.crt \ - --tls-key server.key \ - --config dendrite.yaml \ - --really-enable-open-registration \ No newline at end of file diff --git a/local_test/run_all.sh b/local_test/run_all.sh new file mode 100755 index 000000000..670b47fff --- /dev/null +++ b/local_test/run_all.sh @@ -0,0 +1,27 @@ +#!/bin/bash -Eeu + +cd $(dirname "$0") + +source vars.env + +echo "Running from ${TEST_DIR}" + +SCRIPT_DIR=$PWD +PID_FILE=${TEST_DIR}/pids.txt + +for ((I = 0; I < ${NUM_NODES}; I++)) +do + NODE_DIR="${TEST_DIR}/node${I}" + echo "Running node ${I} from ${NODE_DIR}" + cd ${NODE_DIR} + mkdir -p logs + ${SCRIPT_DIR}/../bin/dendrite-monolith-server \ + --tls-cert server.crt \ + --tls-key server.key \ + --config dendrite.yaml \ + --really-enable-open-registration \ + --http-bind-address ":$((8008 + $I))" \ + --https-bind-address ":$((8448 + $I))" \ + >> ${NODE_DIR}/logs/console 2>&1 & + echo $! >> ${PID_FILE} +done diff --git a/local_test/run_single.sh b/local_test/run_single.sh new file mode 100755 index 000000000..50377fdab --- /dev/null +++ b/local_test/run_single.sh @@ -0,0 +1,24 @@ +#!/bin/bash -Eeu + +cd $(dirname "$0") + +source vars.env + +echo "Running from ${TEST_DIR}" + +I=$1 + +SCRIPT_DIR=$PWD + +NODE_DIR="${TEST_DIR}/node${I}" + +echo "Running node ${I} from ${NODE_DIR}" + +cd ${NODE_DIR} +${SCRIPT_DIR}/../bin/dendrite-monolith-server \ + --tls-cert server.crt \ + --tls-key server.key \ + --config dendrite.yaml \ + --really-enable-open-registration \ + --http-bind-address ":$((8008 + $I))" \ + --https-bind-address ":$((8448 + $I))" diff --git a/local_test/server.crt b/local_test/server.crt deleted file mode 100644 index 841f3e3cb..000000000 --- a/local_test/server.crt +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEvzCCAqegAwIBAgIQPIVV4A5e74rWm5UqwCgeLTANBgkqhkiG9w0BAQsFADAA -MB4XDTIyMDcxMjE3MTM0NVoXDTMyMDcwOTE3MTM0NVowADCCAiIwDQYJKoZIhvcN -AQEBBQADggIPADCCAgoCggIBAMgkrQS4iqrC+iy5WvthG44Uh0Cqeki2uWAkKvH9 -eWrT49FO9eNGZIsNbXs0gFW8n15+eHzfSpAgzxxXzEZ/NaEBTWPCaUTbexjETU7y -u18ejL72ZwFweT5FEaMK5DaH+Vw0e2FuztKRnJq89ND7WFnSKJNjQcRWMzTO+xeA -aineRfSsiRmNqCbeJGsNAuBXpSoYum1Vc6RBV7vk1du3xLmx1l6faSD4FIE/rCC5 -eKXI6CkHHji6ZMnJD71vGKoFjW7+WeJ4HD8rY98q1h/VA0dNhZqwVlCDhvVUoy4M -eyWW47ZP7pSA0Fv94sP59kTiVsC4M8HpWc7WnlgZdzEazCEtPz/JMCakjr5aUKdW -yy08z29lLR8MaVQYl2SwhOrEB4n5Zhw/ilBgjrSF7acsKnMRZLk9kXQ6hRNpHegv -BmcwcSsOZl8h2yOvRVVhNYmWkKwq/cguItBedxsYvGP1K0oA9DOKxikyMI+o+vgq -YAAO0tVt+PFpR36ANIMT1WFP0hDZmosadW69X27VsUIU2eHmCidqEUU+DP7pWcUt -us5Z5RNp7vmVvzcIHWMjpuTqrzhCSsizh6J7XEAMlPawNRcntIsL6C6sJ6Asr1OJ -N6eR8op0T98oxmf85rxGJxh4q1chXls1LyJxKryrTaFkZe4dsnhj2UbIxswUl/PF -vB6jAgMBAAGjNTAzMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggrBgEFBQcD -ATAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4ICAQAh+Nxwx6Ad+SFmaJ2X -8GYXr192s5EEC/T/dEDXOvLu6/XuXX60j4YlkaGEuYZWBNONAiKi/eYYklhUu9Gi -GYBN35GQbLBlPHk7N2W4XcsdYE0evXi42GymcrNdo6BviFkTeoz1MhdHlEVH3LJi -lLhWf87+e6Z/0vFGEwkoDDGsXLuDAerSBjmZOs5b06OfmO4T7XOVPoANc4bZGvte -PZ8mTqm67lJxcrGUe7nT87cHFmaDK/QNAVW5gsSkMnf1xmsKyS8zA/m8LNpk41wL -suTdQBG9tURKNjVwhUlbLUbxwrDeN/1ioBjOmaOSTvSLwyuLgBhE7zOxpvUkE+k5 -YfR/7seEl/K9tV1+IIDzQ9565anRhlgonTPBwzhEXT8uFe3d1E/Un1HGcxBYf9lk -j+IyjiI6rqjA96PiDiyrlDi4n7Y14uqDgDJaJJ9T8xpqcFunRMZe8cljkAmLO8c9 -W4Ozbpqh3V1Zbu/tVwUzoeE1Ap+IAkAakGxGY+Jgzy4p7vCd7QSKJM+9lqeDSUVW -qEtZ3OK/fsBFQkcBHpZTm6Oj5ymzpQOnqxSE+lnUnlVOAFFmprS094/tL1Kzlr0i -UacIWlFGPxOaeT81kO0Loo3J0lyHK8f4uy144opjJobRKatv519HFoa5mqOJJck2 -rFlb5szgzwSfEcg+lLRDt4H7yg== ------END CERTIFICATE----- diff --git a/local_test/server.key b/local_test/server.key deleted file mode 100644 index 55a4722f4..000000000 --- a/local_test/server.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- diff --git a/local_test/stop_all.sh b/local_test/stop_all.sh new file mode 100755 index 000000000..72752f4ab --- /dev/null +++ b/local_test/stop_all.sh @@ -0,0 +1,21 @@ +#!/bin/bash -Eeu + +cd $(dirname "$0") + +source vars.env + +echo "Stopping all from ${TEST_DIR}" + +PID_FILE=${TEST_DIR}/pids.txt + +if [ -f "$PID_FILE" ] +then + while read pid + do + [[ -n "$pid" ]] || continue + echo killing $pid + kill $pid + done < $PID_FILE +fi + +rm -f $PID_FILE diff --git a/local_test/vars.env b/local_test/vars.env new file mode 100644 index 000000000..fdccff08e --- /dev/null +++ b/local_test/vars.env @@ -0,0 +1,3 @@ +TEST_DIR=~/.zion/test + +NUM_NODES=2