-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
PMM-13331 update workers and fix sharded setup
- Loading branch information
1 parent
7b342bc
commit 1e7527a
Showing
2 changed files
with
29 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,16 +5,16 @@ pmm_pass=${PMM_PASS:-pmmpass} | |
pbm_user=${PBM_USER:-pbm} | ||
pbm_pass=${PBM_PASS:-pbmpass} | ||
|
||
docker-compose -f docker-compose-sharded.yaml down -v --remove-orphans | ||
docker-compose -f docker-compose-sharded.yaml build | ||
docker-compose -f docker-compose-sharded.yaml up -d | ||
docker compose -f docker-compose-sharded.yaml down -v --remove-orphans | ||
docker compose -f docker-compose-sharded.yaml build | ||
docker compose -f docker-compose-sharded.yaml up -d | ||
|
||
echo "waiting 30 seconds for pmm-server to start" | ||
sleep 30 | ||
echo "configuring pmm-server" | ||
docker-compose -f docker-compose-sharded.yaml exec -T pmm-server change-admin-password password | ||
docker compose -f docker-compose-sharded.yaml exec -T pmm-server change-admin-password password | ||
echo "restarting pmm-server" | ||
docker-compose -f docker-compose-sharded.yaml restart pmm-server | ||
docker compose -f docker-compose-sharded.yaml restart pmm-server | ||
echo "waiting 30 seconds for pmm-server to start" | ||
sleep 30 | ||
|
||
|
@@ -23,7 +23,7 @@ for node in $nodes | |
do | ||
rs=$(echo $node | awk -F "0" '{print $1}') | ||
echo "configuring replicaset ${rs} with members priorities" | ||
docker-compose -f docker-compose-sharded.yaml exec -T $node mongo --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T $node mongo --quiet << EOF | ||
config = { | ||
"_id" : "${rs}", | ||
"members" : [ | ||
|
@@ -49,12 +49,12 @@ EOF | |
sleep 60 | ||
echo | ||
echo "configuring root user on primary $node replicaset $rs" | ||
docker-compose -f docker-compose-sharded.yaml exec -T $node mongo --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T $node mongo --quiet << EOF | ||
db.getSiblingDB("admin").createUser({ user: "root", pwd: "root", roles: [ "root", "userAdminAnyDatabase", "clusterAdmin" ] }); | ||
EOF | ||
echo | ||
echo "configuring pbm and pmm roles on replicaset $rs" | ||
docker-compose -f docker-compose-sharded.yaml exec -T $node mongo "mongodb://root:root@localhost/?replicaSet=${rs}" --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T $node mongo "mongodb://root:root@localhost/?replicaSet=${rs}" --quiet << EOF | ||
db.getSiblingDB("admin").createRole({ | ||
"role": "pbmAnyAction", | ||
"privileges": [{ | ||
|
@@ -84,7 +84,7 @@ EOF | |
EOF | ||
echo | ||
echo "creating pbm user for replicaset ${rs}" | ||
docker-compose -f docker-compose-sharded.yaml exec -T $node mongo "mongodb://root:root@localhost/?replicaSet=${rs}" --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T $node mongo "mongodb://root:root@localhost/?replicaSet=${rs}" --quiet << EOF | ||
db.getSiblingDB("admin").createUser({ | ||
user: "${pbm_user}", | ||
pwd: "${pbm_pass}", | ||
|
@@ -99,7 +99,7 @@ EOF | |
EOF | ||
echo | ||
echo "creating pmm user for replicaset ${rs}" | ||
docker-compose -f docker-compose-sharded.yaml exec -T $node mongo "mongodb://root:root@localhost/?replicaSet=${rs}" --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T $node mongo "mongodb://root:root@localhost/?replicaSet=${rs}" --quiet << EOF | ||
db.getSiblingDB("admin").createUser({ | ||
user: "${pmm_user}", | ||
pwd: "${pmm_pass}", | ||
|
@@ -118,7 +118,7 @@ EOF | |
done | ||
|
||
echo "configuring configserver replicaset with members priorities" | ||
docker-compose -f docker-compose-sharded.yaml exec -T rscfg01 mongo --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T rscfg01 mongo --quiet << EOF | ||
config = { | ||
"_id" : "rscfg", | ||
"members" : [ | ||
|
@@ -144,18 +144,18 @@ EOF | |
sleep 60 | ||
echo | ||
echo "adding shards and creating global mongo user" | ||
docker-compose -f docker-compose-sharded.yaml exec -T mongos mongo --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T mongos mongo --quiet << EOF | ||
db.getSiblingDB("admin").createUser({ user: "root", pwd: "root", roles: [ "root", "userAdminAnyDatabase", "clusterAdmin" ] }); | ||
EOF | ||
docker-compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet --eval 'sh.addShard( "rs1/rs101:27017,rs102:27017,rs103:27017" )' | ||
docker compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet --eval 'sh.addShard( "rs1/rs101:27017,rs102:27017,rs103:27017" )' | ||
echo | ||
sleep 20 | ||
docker-compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet --eval 'sh.addShard( "rs2/rs201:27017,rs202:27017,rs203:27017" )' | ||
docker compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet --eval 'sh.addShard( "rs2/rs201:27017,rs202:27017,rs203:27017" )' | ||
echo | ||
sleep 20 | ||
echo | ||
echo "configuring pbm and pmm roles" | ||
docker-compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet << EOF | ||
db.getSiblingDB("admin").createRole({ | ||
"role": "pbmAnyAction", | ||
"privileges": [{ | ||
|
@@ -185,7 +185,7 @@ db.getSiblingDB("admin").createRole({ | |
EOF | ||
echo | ||
echo "creating pbm user" | ||
docker-compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet << EOF | ||
db.getSiblingDB("admin").createUser({ | ||
user: "${pbm_user}", | ||
pwd: "${pbm_pass}", | ||
|
@@ -200,7 +200,7 @@ db.getSiblingDB("admin").createUser({ | |
EOF | ||
echo | ||
echo "creating pmm user" | ||
docker-compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet << EOF | ||
docker compose -f docker-compose-sharded.yaml exec -T mongos mongo "mongodb://root:root@localhost" --quiet << EOF | ||
db.getSiblingDB("admin").createUser({ | ||
user: "${pmm_user}", | ||
pwd: "${pmm_pass}", | ||
|
@@ -224,9 +224,9 @@ nodes="rs101 rs102 rs103 rs201 rs202 rs203 rscfg01 rscfg02 rscfg03" | |
for node in $nodes | ||
do | ||
echo "congiguring pbm agent on $node" | ||
docker-compose -f docker-compose-sharded.yaml exec -T $node bash -c "echo \"PBM_MONGODB_URI=mongodb://${pbm_user}:${pbm_pass}@127.0.0.1:27017\" > /etc/sysconfig/pbm-agent" | ||
docker compose -f docker-compose-sharded.yaml exec -T $node bash -c "echo \"PBM_MONGODB_URI=mongodb://${pbm_user}:${pbm_pass}@127.0.0.1:27017\" > /etc/sysconfig/pbm-agent" | ||
echo "restarting pbm agent on $node" | ||
docker-compose -f docker-compose-sharded.yaml exec -T $node systemctl restart pbm-agent | ||
docker compose -f docker-compose-sharded.yaml exec -T $node systemctl restart pbm-agent | ||
done | ||
echo | ||
echo "configuring pmm agents" | ||
|
@@ -235,26 +235,26 @@ for node in $nodes | |
do | ||
echo "congiguring pmm agent on $node" | ||
rs=$(echo $node | awk -F "0" '{print $1}') | ||
docker-compose -f docker-compose-sharded.yaml exec -T $node pmm-agent setup | ||
docker-compose -f docker-compose-sharded.yaml exec -T $node pmm-admin add mongodb --cluster=sharded --username=${pmm_user} --password=${pmm_pass} $node 127.0.0.1:27017 | ||
docker compose -f docker-compose-sharded.yaml exec -T $node pmm-agent setup | ||
docker compose -f docker-compose-sharded.yaml exec -T $node pmm-admin add mongodb --cluster=sharded --username=${pmm_user} --password=${pmm_pass} $node 127.0.0.1:27017 | ||
done | ||
echo "configuring pmm-agent on primary rscfg01 for mongos instance" | ||
docker-compose -f docker-compose-sharded.yaml exec -T rscfg01 pmm-admin add mongodb --cluster=sharded --username=${pmm_user} --password=${pmm_pass} mongos mongos:27017 | ||
docker compose -f docker-compose-sharded.yaml exec -T rscfg01 pmm-admin add mongodb --cluster=sharded --username=${pmm_user} --password=${pmm_pass} mongos mongos:27017 | ||
|
||
echo "adding some data" | ||
docker-compose -f docker-compose-sharded.yaml exec -T mongos mgodatagen -f /etc/datagen/sharded.json --uri=mongodb://root:[email protected]:27017 | ||
docker compose -f docker-compose-sharded.yaml exec -T mongos mgodatagen -f /etc/datagen/sharded.json --uri=mongodb://root:[email protected]:27017 | ||
tests=${TESTS:-yes} | ||
if [ $tests != "no" ]; then | ||
echo "running tests" | ||
docker-compose -f docker-compose-sharded.yaml run test pytest -s -x --verbose test.py | ||
docker-compose -f docker-compose-sharded.yaml run test chmod -R 777 . | ||
docker compose -f docker-compose-sharded.yaml run test pytest -s -x --verbose test.py | ||
docker compose -f docker-compose-sharded.yaml run test chmod -R 777 . | ||
else | ||
echo "skipping tests" | ||
fi | ||
cleanup=${CLEANUP:-yes} | ||
if [ $cleanup != "no" ]; then | ||
echo "cleanup" | ||
docker-compose -f docker-compose-sharded.yaml down -v --remove-orphans | ||
docker compose -f docker-compose-sharded.yaml down -v --remove-orphans | ||
else | ||
echo "skipping cleanup" | ||
fi |