Skip to content

Commit

Permalink
PMM-13331 update workers and fix sharded setup
Browse files Browse the repository at this point in the history
  • Loading branch information
yurkovychv committed Aug 29, 2024
1 parent 7b342bc commit 1e7527a
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 29 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/PMM_PSMDB_PBM.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ on:

jobs:
test_replica_set:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
timeout-minutes: 20
env:
PSMDB_VERSION: ${{ github.event.inputs.psmdb_version || 'latest' }}
Expand All @@ -41,7 +41,7 @@ jobs:
working-directory: ./pmm_psmdb-pbm_setup

test_sharded_cluster:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
timeout-minutes: 20
env:
PSMDB_VERSION: ${{ github.event.inputs.psmdb_version || 'latest' }}
Expand All @@ -56,7 +56,7 @@ jobs:
working-directory: ./pmm_psmdb-pbm_setup

test_diff_auth:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
timeout-minutes: 20
env:
PSMDB_VERSION: ${{ github.event.inputs.psmdb_version || 'latest' }}
Expand Down
52 changes: 26 additions & 26 deletions pmm_psmdb-pbm_setup/start-sharded.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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" : [
Expand All @@ -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": [{
Expand Down Expand Up @@ -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}",
Expand All @@ -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}",
Expand All @@ -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" : [
Expand All @@ -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": [{
Expand Down Expand Up @@ -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}",
Expand All @@ -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}",
Expand All @@ -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"
Expand All @@ -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

0 comments on commit 1e7527a

Please sign in to comment.