From b3452240a913d5508aee55f69e4b8d8a5d6daa9b Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 09:07:23 +0200 Subject: [PATCH 01/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/Dockerfile | 29 ++++++++++------------------- pmm_qa/tasks/install_pmm_client.yml | 23 +++++++++++++++++++++++ 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/pmm_psmdb-pbm_setup/Dockerfile b/pmm_psmdb-pbm_setup/Dockerfile index 2c302fe8..86fa417d 100644 --- a/pmm_psmdb-pbm_setup/Dockerfile +++ b/pmm_psmdb-pbm_setup/Dockerfile @@ -58,25 +58,16 @@ RUN set -ex; \ fi ARG OL_VERSION -RUN if [[ "$PMM_CLIENT_VERSION" == http* ]]; then \ - dnf -y install pmm-client && \ - curl -Lf -o /tmp/pmm-client.tar.gz $PMM_CLIENT_VERSION && \ - cd /tmp && tar -xvf pmm-client.tar.gz --transform 's,^/*[^/]*,/pmm-client,S' && \ - cd /tmp/pmm-client && ./install_tarball && cd ../ && rm -rf pmm* ;\ - elif [[ "$PMM_CLIENT_VERSION" =~ 3-dev-latest|latest ]]; then \ - dnf -y install pmm-client ; \ - elif [[ "$PMM_CLIENT_VERSION" = "pmm3-rc" ]]; then \ - percona-release enable pmm3-client testing && \ - dnf update --refresh -y && \ - dnf -y install pmm-client ; \ - else \ - if [[ "$PMM_CLIENT_VERSION" =~ ^([3-9])\.([1-9][0-9]*)\.([0-9]+)$ ]]; then \ - dnf -y install pmm-client-${PMM_CLIENT_VERSION}-7.el${OL_VERSION} ; \ - else \ - dnf -y install pmm-client-${PMM_CLIENT_VERSION}-6.el${OL_VERSION} ; \ - fi \ - fi && \ - sed 's/Type=forking/#Type=forking/' -i /usr/lib/systemd/system/mongod.service && \ + +RUN yum -y install oracle-epel-release-el${OL_VERSION} && \ + yum -y install python3 ansible && \ + yum clean all \ + +COPY ../pmm_qa/tasks/install_pmm_client.yml /install_pmm_client.yml + +RUN ansible-playbook /install_pmm_client.yml -i localhost, --connection=local + +RUN sed 's/Type=forking/#Type=forking/' -i /usr/lib/systemd/system/mongod.service && \ systemctl enable mongod && \ systemctl enable pbm-agent && \ sed -i '/ExecStart/a StandardError=file:/var/log/pmm-agent.log' /usr/lib/systemd/system/pmm-agent.service && \ diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 188b5739..30d4b5f3 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -162,6 +162,29 @@ ' when: distro_family == "rhel" and client_version == "pmm3-rc" +- name: Install pmm client testing on Debian-family containers + community.docker.docker_container_exec: + container: "{{ container_name }}" + user: "root" + command: > + sh -c ' + percona-release enable-only pmm3-client release && + apt-get update && + apt-get -y install pmm-client + ' + when: distro_family == "debian" and client_version == "release" + +- name: Install pmm client testing on RHEL-family containers + community.docker.docker_container_exec: + container: "{{ container_name }}" + user: "root" + command: > + sh -c ' + percona-release enable-only pmm3-client release && + microdnf install -y pmm-client + ' + when: distro_family == "rhel" and client_version == "release" + - name: Install pmm client release on Debian-family containers community.docker.docker_container_exec: container: "{{ container_name }}" From 54719fbd0c187e0ed4f9b9925a57062c24a20854 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 09:18:45 +0200 Subject: [PATCH 02/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/Dockerfile | 8 -------- pmm_psmdb-pbm_setup/start-rs-only.sh | 7 +++++++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/pmm_psmdb-pbm_setup/Dockerfile b/pmm_psmdb-pbm_setup/Dockerfile index 86fa417d..9e1e65ad 100644 --- a/pmm_psmdb-pbm_setup/Dockerfile +++ b/pmm_psmdb-pbm_setup/Dockerfile @@ -59,14 +59,6 @@ RUN set -ex; \ ARG OL_VERSION -RUN yum -y install oracle-epel-release-el${OL_VERSION} && \ - yum -y install python3 ansible && \ - yum clean all \ - -COPY ../pmm_qa/tasks/install_pmm_client.yml /install_pmm_client.yml - -RUN ansible-playbook /install_pmm_client.yml -i localhost, --connection=local - RUN sed 's/Type=forking/#Type=forking/' -i /usr/lib/systemd/system/mongod.service && \ systemctl enable mongod && \ systemctl enable pbm-agent && \ diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 7f88ad95..aa2d180c 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -22,6 +22,13 @@ echo echo "waiting 60 seconds for replica set members to start" sleep 60 echo + +docker ps -a +exit 1 + +echo install PMM Client +ansible-playbook ../pmm_qa/tasks/install_pmm_client.yml -i localhost, --connection=local + if [ $mongo_setup_type == "pss" ]; then bash -e ./configure-replset.sh else From d3480a741ae23e50874961ba6223f8c42a567e0f Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 09:26:26 +0200 Subject: [PATCH 03/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index aa2d180c..edd91189 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -23,7 +23,7 @@ echo "waiting 60 seconds for replica set members to start" sleep 60 echo -docker ps -a +docker ps --format "{{.Names}}" | grep '^rs' exit 1 echo install PMM Client From ab6496c9a854a32f5e8d237010e21f6633fe183c Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 09:27:14 +0200 Subject: [PATCH 04/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index edd91189..99003656 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -24,6 +24,11 @@ sleep 60 echo docker ps --format "{{.Names}}" | grep '^rs' + +for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do + echo "Container: $c" +done + exit 1 echo install PMM Client From 5c4af61073d2051a911367af7f999869bcaab6f0 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 09:28:39 +0200 Subject: [PATCH 05/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 99003656..8a4990b1 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -27,13 +27,12 @@ docker ps --format "{{.Names}}" | grep '^rs' for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" + ansible-playbook ../pmm_qa/tasks/install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c" + docker exec "$c" pmm-admin list done exit 1 -echo install PMM Client -ansible-playbook ../pmm_qa/tasks/install_pmm_client.yml -i localhost, --connection=local - if [ $mongo_setup_type == "pss" ]; then bash -e ./configure-replset.sh else From 2c3fa921a829c520d1fc18e83d016ed529f99f2b Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 09:51:53 +0200 Subject: [PATCH 06/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 8a4990b1..0c33ab6b 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -26,8 +26,12 @@ echo docker ps --format "{{.Names}}" | grep '^rs' for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do - echo "Container: $c" - ansible-playbook ../pmm_qa/tasks/install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c" + echo "Container: $c" + ansible_out=$(ansible-playbook ../pmm_qa/tasks/install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c" 2>&1) + if [ $? -ne 0 ]; then + echo "Ansible failed for $c:" + echo "$ansible_out" + fi docker exec "$c" pmm-admin list done From 6fb7cfb6a2e534a7dcebc85837c93e40abbf22a7 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 09:56:10 +0200 Subject: [PATCH 07/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 0c33ab6b..ef8d3603 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -e +#set -e profile=${COMPOSE_PROFILES:-classic} mongo_setup_type=${MONGO_SETUP_TYPE:-pss} From e4ff54297623bbf6abcd143ca464229ad18c3c1a Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 10:04:22 +0200 Subject: [PATCH 08/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index ef8d3603..39dd4dcc 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -24,10 +24,20 @@ sleep 60 echo docker ps --format "{{.Names}}" | grep '^rs' +PLAYBOOK_FILE="install_pmm_client.yml" +cat > "$PLAYBOOK_FILE" <&1) + ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c" 2>&1) if [ $? -ne 0 ]; then echo "Ansible failed for $c:" echo "$ansible_out" From e6802074d37b4d27c5f074ac5706099350846131 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 10:11:34 +0200 Subject: [PATCH 09/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 39dd4dcc..a4f21ce0 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -34,6 +34,7 @@ EOF echo "Generated $PLAYBOOK_FILE. You can now run:" echo "ansible-playbook $PLAYBOOK_FILE" +echo "PMM Server ip is: $PMM_SERVER_IP" for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" From 41b4c21db0722a734e942659307d947cbf6504d9 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 10:18:11 +0200 Subject: [PATCH 10/94] PMM-7: Change pmm client setup --- pmm_qa/pmm-framework.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index 24f4b769..f3c7c82d 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -555,6 +555,7 @@ def setup_psmdb(db_type, db_version=None, db_config=None, args=None): # Define environment variables for playbook env_vars = { + 'PMM_SERVER_IP': args.pmm_server_ip or container_name or '127.0.0.1', 'PSMDB_VERSION': psmdb_version, 'PMM_SERVER_CONTAINER_ADDRESS': server_address, 'PSMDB_CONTAINER': 'psmdb_pmm_' + str(psmdb_version), From 72dcb9e7151b9c3c61781076365196bfe8d12233 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 10:23:20 +0200 Subject: [PATCH 11/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index a4f21ce0..b33fe4df 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -38,7 +38,7 @@ echo "PMM Server ip is: $PMM_SERVER_IP" for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" - ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c" 2>&1) + ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP" 2>&1) if [ $? -ne 0 ]; then echo "Ansible failed for $c:" echo "$ansible_out" From ec8c61ca6cfae4ce3ad11550e8103537de9b1c86 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 10:30:47 +0200 Subject: [PATCH 12/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 30d4b5f3..e2e86f28 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -12,12 +12,6 @@ debug: var: pmm_server_ip -- name: Copy a file into the container - community.docker.docker_container_copy_into: - container: "{{ container_name }}" - path: ../pmm3-client-setup-centos.sh - container_path: /pmm3-client-setup.sh - - name: "PMM Server IP is" debug: msg: "{{ pmm_server_ip }} is pmm server IP" From 8713ba90e63106a98932646ff84b6cb043419350 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 10:36:56 +0200 Subject: [PATCH 13/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index e2e86f28..0be38a63 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -54,6 +54,14 @@ user: "root" when: distro_family == "debian" +- name: Install dependencies on RHEL-family containers + community.docker.docker_container_exec: + container: "{{ container_name }}" + command: dnf install -y microdnf + user: "root" + when: distro_family == "rhel" + ignore_errors: true + - name: Install dependencies on RHEL-family containers community.docker.docker_container_exec: container: "{{ container_name }}" From 93a4348dbe2809670b96edd2401414021af6362f Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 10:46:06 +0200 Subject: [PATCH 14/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 0be38a63..88303189 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -90,8 +90,9 @@ lsb_release: "{{ lsb_release.stdout }}" - name: Print expected client version - debug: - msg: "{{ metrics_mode }}" + set_fact: + metrics_mode: "auto" + when: metrics_mode is not defined - name: Install percona release on Debian-family containers community.docker.docker_container_exec: From 8c47873a07f92454c54265ea0fdb54c982259a2d Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 10:46:25 +0200 Subject: [PATCH 15/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 88303189..e141dbd6 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -89,7 +89,7 @@ set_fact: lsb_release: "{{ lsb_release.stdout }}" -- name: Print expected client version +- name: Set metrics mode to auto when metrics mode is not defined. set_fact: metrics_mode: "auto" when: metrics_mode is not defined From 97f8984dd2930b1476ea9bdbf49ee3a93bf93690 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 10:55:19 +0200 Subject: [PATCH 16/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index b33fe4df..485040e4 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -34,11 +34,11 @@ EOF echo "Generated $PLAYBOOK_FILE. You can now run:" echo "ansible-playbook $PLAYBOOK_FILE" -echo "PMM Server ip is: $PMM_SERVER_IP" +echo "PMM Client version is: $PMM_CLIENT_VERSION" for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" - ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP" 2>&1) + ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION" 2>&1) if [ $? -ne 0 ]; then echo "Ansible failed for $c:" echo "$ansible_out" From 4f99cc348692b83c9f2a9cf859ddd4550b240099 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 11:07:11 +0200 Subject: [PATCH 17/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 485040e4..1afb2682 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -38,7 +38,7 @@ echo "PMM Client version is: $PMM_CLIENT_VERSION" for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" - ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION" 2>&1) + ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) if [ $? -ne 0 ]; then echo "Ansible failed for $c:" echo "$ansible_out" From c9e463ec0eb406e9372356fe0d1b8b9569509a34 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 11:23:07 +0200 Subject: [PATCH 18/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 1afb2682..06184769 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -46,8 +46,6 @@ for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do docker exec "$c" pmm-admin list done -exit 1 - if [ $mongo_setup_type == "pss" ]; then bash -e ./configure-replset.sh else From beae8309bcc68a9c4fca377e08661e997ff52168 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 11:40:47 +0200 Subject: [PATCH 19/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index 89f70d06..c7eb9b42 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -44,19 +44,6 @@ if [[ $mongo_setup_type == "psa" ]]; then fi echo echo "configuring pmm agents" -random_number=$RANDOM -nodes="rs101 rs102 rs103" -for node in $nodes -do - echo "configuring pmm agent on $node" - docker compose -f docker-compose-rs.yaml exec -T -e PMM_AGENT_SETUP_NODE_NAME=${node}._${random_number} $node pmm-agent setup - if [[ $mongo_setup_type == "psa" && $node == "rs103" ]]; then - docker compose -f docker-compose-rs.yaml exec -T $node pmm-admin add mongodb --enable-all-collectors --agent-password=mypass --environment=psmdb-dev --cluster=replicaset --replication-set=rs --host=${node} --port=27017 ${node}${gssapi_service_name_part}_${random_number} - else - echo - docker compose -f docker-compose-rs.yaml exec -T $node pmm-admin add mongodb --enable-all-collectors --agent-password=mypass --environment=psmdb-dev --cluster=replicaset --replication-set=rs ${client_credentials_flags[*]} --host=${node} --port=27017 ${node}${gssapi_service_name_part}_${random_number} - fi -done echo echo "adding some data" docker compose -f docker-compose-rs.yaml exec -T rs101 mgodatagen -f /etc/datagen/replicaset.json --uri=mongodb://${pmm_mongo_user}:${pmm_mongo_user_pass}@127.0.0.1:27017/?replicaSet=rs From 6476a51dafe7ec678e99dabac14a37767e25a3be Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 11:51:55 +0200 Subject: [PATCH 20/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index c7eb9b42..9239290c 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -44,6 +44,18 @@ if [[ $mongo_setup_type == "psa" ]]; then fi echo echo "configuring pmm agents" +random_number=$RANDOM +nodes="rs101 rs102 rs103" +for node in $nodes +do + echo "configuring pmm agent on $node" + if [[ $mongo_setup_type == "psa" && $node == "rs103" ]]; then + docker compose -f docker-compose-rs.yaml exec -T $node pmm-admin add mongodb --enable-all-collectors --agent-password=mypass --environment=psmdb-dev --cluster=replicaset --replication-set=rs --host=${node} --port=27017 ${node}${gssapi_service_name_part}_${random_number} + else + echo + docker compose -f docker-compose-rs.yaml exec -T $node pmm-admin add mongodb --enable-all-collectors --agent-password=mypass --environment=psmdb-dev --cluster=replicaset --replication-set=rs ${client_credentials_flags[*]} --host=${node} --port=27017 ${node}${gssapi_service_name_part}_${random_number} + fi +done echo echo "adding some data" docker compose -f docker-compose-rs.yaml exec -T rs101 mgodatagen -f /etc/datagen/replicaset.json --uri=mongodb://${pmm_mongo_user}:${pmm_mongo_user_pass}@127.0.0.1:27017/?replicaSet=rs From c05dbd70e5292fd9669c63e547df22085d32cd24 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 12:10:03 +0200 Subject: [PATCH 21/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-replset.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/configure-replset.sh b/pmm_psmdb-pbm_setup/configure-replset.sh index 2b6f7b59..740e86a4 100644 --- a/pmm_psmdb-pbm_setup/configure-replset.sh +++ b/pmm_psmdb-pbm_setup/configure-replset.sh @@ -1,5 +1,5 @@ #!/bin/bash -set -e +#set -e pmm_mongo_user=${PMM_MONGO_USER:-pmm} pmm_mongo_user_pass=${PMM_MONGO_USER_PASS:-pmmpass} From 4d5903cea3bd8eb9fc7d127951b147aaa1f6ff1a Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 14:05:51 +0200 Subject: [PATCH 22/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index 9239290c..a887c2da 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -48,6 +48,10 @@ random_number=$RANDOM nodes="rs101 rs102 rs103" for node in $nodes do + docker exec $node wget https://github.com/feliixx/mgodatagen/releases/latest/download/mgodatagen_linux_amd64.tar.gz + tar -xzf mgodatagen_linux_amd64.tar.gz + mv mgodatagen /usr/local/bin/ + chmod +x /usr/local/bin/mgodatagen echo "configuring pmm agent on $node" if [[ $mongo_setup_type == "psa" && $node == "rs103" ]]; then docker compose -f docker-compose-rs.yaml exec -T $node pmm-admin add mongodb --enable-all-collectors --agent-password=mypass --environment=psmdb-dev --cluster=replicaset --replication-set=rs --host=${node} --port=27017 ${node}${gssapi_service_name_part}_${random_number} From a6ea9413620bde202e3272cf74be9ce4a04d9893 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 14:11:19 +0200 Subject: [PATCH 23/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index a887c2da..b44e3674 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -49,9 +49,9 @@ nodes="rs101 rs102 rs103" for node in $nodes do docker exec $node wget https://github.com/feliixx/mgodatagen/releases/latest/download/mgodatagen_linux_amd64.tar.gz - tar -xzf mgodatagen_linux_amd64.tar.gz - mv mgodatagen /usr/local/bin/ - chmod +x /usr/local/bin/mgodatagen + docker exec $node tar -xzf mgodatagen_linux_amd64.tar.gz + docker exec $node mv mgodatagen /usr/local/bin/ + docker exec $node chmod +x /usr/local/bin/mgodatagen echo "configuring pmm agent on $node" if [[ $mongo_setup_type == "psa" && $node == "rs103" ]]; then docker compose -f docker-compose-rs.yaml exec -T $node pmm-admin add mongodb --enable-all-collectors --agent-password=mypass --environment=psmdb-dev --cluster=replicaset --replication-set=rs --host=${node} --port=27017 ${node}${gssapi_service_name_part}_${random_number} From 1b774c04bec7ebfb7b99f348936e02bee22f99b4 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 14:33:17 +0200 Subject: [PATCH 24/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index cfc7ebb9..a6a24962 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -40,6 +40,17 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server mongo --quie docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server bash -c "echo \"PBM_MONGODB_URI=mongodb://pbm:pbmpass@127.0.0.1:27017\" > /etc/sysconfig/pbm-agent" docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl restart pbm-agent +# Install PMM Client +for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do + echo "Container: $c" + ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) + if [ $? -ne 0 ]; then + echo "Ansible failed for $c:" + echo "$ansible_out" + fi + docker exec "$c" pmm-admin list +done + #Configure PMM set +e i=1 @@ -55,6 +66,8 @@ while [ $i -le 3 ]; do sleep 1 done + + #Add Mongo Service random_number=$RANDOM docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server pmm-admin add mongodb psmdb-server_${random_number} --agent-password=mypass --username=pmm_mongodb --password="5M](Q%q/U+YQ<^m" --host psmdb-server --port 27017 --tls --tls-certificate-key-file=/mongodb_certs/client.pem --tls-ca-file=/mongodb_certs/ca-certs.pem --cluster=mycluster From c5acc972a27099c545414b983accd505ce4d8758 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 14:38:36 +0200 Subject: [PATCH 25/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index a6a24962..45081b6b 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -11,7 +11,7 @@ # TESTS - whether to run tests, by default - yes # CLEANUP - whether to remove setup, by default - yes -set -e +#set -e # PSMDB 4.2 doesn't support AWS auth if [[ -n "$PSMDB_VERSION" ]] && [[ "$PSMDB_VERSION" == *"4.2."* ]]; then @@ -51,6 +51,8 @@ for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do docker exec "$c" pmm-admin list done +exit 1 + #Configure PMM set +e i=1 From c5e6cde7587f4e2606aaabe758eb3f2bd0d40127 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 15:08:27 +0200 Subject: [PATCH 26/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pmm_psmdb-pbm_setup/Dockerfile b/pmm_psmdb-pbm_setup/Dockerfile index 9e1e65ad..e3b2afcb 100644 --- a/pmm_psmdb-pbm_setup/Dockerfile +++ b/pmm_psmdb-pbm_setup/Dockerfile @@ -20,8 +20,7 @@ VOLUME [ "/sys/fs/cgroup" ] CMD ["/usr/sbin/init"] ARG OL_VERSION -RUN set -ex; \ - export GNUPGHOME="$(mktemp -d)"; \ +RUN export GNUPGHOME="$(mktemp -d)"; \ export PERCONA_TELEMETRY_URL="https://check-dev.percona.com/v1/telemetry/GenericReport"; \ dnf install -y gnupg2; \ if [ $PSMDB_VERSION != "latest" ]; then export PSMDB_REPO="$(echo "${PSMDB_VERSION}" | awk -F '.' '{print "psmdb-"$1$2}')" ; else export PSMDB_REPO=psmdb-80 ; fi ; \ From 7bd66724545338e539f0d4e2ec7fdcdfa539bce2 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 15:31:04 +0200 Subject: [PATCH 27/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 45081b6b..199eef46 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -25,22 +25,22 @@ fi bash -e ./generate-certs.sh -#Start setup +echo "Start setup" docker compose -f docker-compose-pmm-psmdb.yml down -v --remove-orphans docker compose -f docker-compose-pmm-psmdb.yml build docker compose -f docker-compose-pmm-psmdb.yml up -d -#Add users +echo "Add users" docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server mongo --quiet << EOF db.getSiblingDB("admin").createUser({ user: "root", pwd: "root", roles: [ "root", "userAdminAnyDatabase", "clusterAdmin" ] }); EOF docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server mongo --quiet "mongodb://root:root@localhost/?replicaSet=rs0" < init/setup_psmdb.js -#Configure PBM +echo "Configure PBM" docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server bash -c "echo \"PBM_MONGODB_URI=mongodb://pbm:pbmpass@127.0.0.1:27017\" > /etc/sysconfig/pbm-agent" docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl restart pbm-agent -# Install PMM Client +echo "Install PMM Client" for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) From 00cb398856b625c8a99c9fa3c82367b7a4658c0e Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 15:33:14 +0200 Subject: [PATCH 28/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 199eef46..f5f2fa2d 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -41,6 +41,7 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server bash -c "ech docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl restart pbm-agent echo "Install PMM Client" +docker ps -a for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) From f47baa9064cecbfe5a9b36d238fcbde04092ec95 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 15:41:44 +0200 Subject: [PATCH 29/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index f5f2fa2d..ed5f3f12 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -42,15 +42,8 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl re echo "Install PMM Client" docker ps -a -for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do - echo "Container: $c" - ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) - if [ $? -ne 0 ]; then - echo "Ansible failed for $c:" - echo "$ansible_out" - fi - docker exec "$c" pmm-admin list -done +ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" +docker exec psmdb-server pmm-admin list exit 1 From b995ea7853864839601d9deadf67814512b8eaa4 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 16:37:30 +0200 Subject: [PATCH 30/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index ed5f3f12..7e5da40c 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -41,7 +41,15 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server bash -c "ech docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl restart pbm-agent echo "Install PMM Client" -docker ps -a + +PLAYBOOK_FILE="install_pmm_client.yml" +cat > "$PLAYBOOK_FILE" < Date: Tue, 14 Oct 2025 17:08:02 +0200 Subject: [PATCH 31/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index e141dbd6..366f85ad 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -65,7 +65,7 @@ - name: Install dependencies on RHEL-family containers community.docker.docker_container_exec: container: "{{ container_name }}" - command: microdnf install -y wget gnupg2 jq + command: microdnf install -y wget gnupg2 jq perl user: "root" when: distro_family == "rhel" From a8f6228c4c562c0ea7c74d43f0c8aa19dec5df29 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Tue, 14 Oct 2025 17:24:23 +0200 Subject: [PATCH 32/94] PMM-7: Change pmm client setup --- pmm_qa/pmm-framework.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index f3c7c82d..708aa9db 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -698,6 +698,7 @@ def setup_ssl_psmdb(db_type, db_version=None, db_config=None, args=None): # Define environment variables for playbook env_vars = { + 'PMM_SERVER_IP': args.pmm_server_ip or container_name or '127.0.0.1', 'PSMDB_VERSION': psmdb_version, 'PMM_SERVER_CONTAINER_ADDRESS': server_address, 'PSMDB_CONTAINER': 'psmdb_pmm_' + str(psmdb_version), From df8cfdf8164ea1b4cebe98a3b38a6b97826395b6 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 08:47:30 +0200 Subject: [PATCH 33/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 7e5da40c..71ccb006 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -51,12 +51,8 @@ cat > "$PLAYBOOK_FILE" < Date: Wed, 15 Oct 2025 09:00:42 +0200 Subject: [PATCH 34/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 71ccb006..f62dc388 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -52,26 +52,14 @@ EOF ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" -echo "Configure PMM" -i=1 -while [ $i -le 3 ]; do - output=$(docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address=pmm-server:8443 --metrics-mode=auto --server-username=admin --server-password=${ADMIN_PASSWORD} --server-insecure-tls) - exit_code=$? - - if [ $exit_code -ne 0 ] && [[ $output == *"500 Internal Server Error"* ]]; then - i=$((i + 1)) - else - break - fi - sleep 1 -done - - - -#Add Mongo Service +echo "Add Mongo Service" random_number=$RANDOM docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server pmm-admin add mongodb psmdb-server_${random_number} --agent-password=mypass --username=pmm_mongodb --password="5M](Q%q/U+YQ<^m" --host psmdb-server --port 27017 --tls --tls-certificate-key-file=/mongodb_certs/client.pem --tls-ca-file=/mongodb_certs/ca-certs.pem --cluster=mycluster #Add some data +docker exec psmdb-server wget https://github.com/feliixx/mgodatagen/releases/latest/download/mgodatagen_linux_amd64.tar.gz +docker exec psmdb-server tar -xzf mgodatagen_linux_amd64.tar.gz +docker exec psmdb-server mv mgodatagen /usr/local/bin/ +docker exec psmdb-server chmod +x /usr/local/bin/mgodatagen docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server mgodatagen -f /etc/datagen/replicaset.json --username=pmm_mongodb --password="5M](Q%q/U+YQ<^m" --host psmdb-server --port 27017 --tlsCertificateKeyFile=/mongodb_certs/client.pem --tlsCAFile=/mongodb_certs/ca-certs.pem tests=${TESTS:-yes} From 8efe92b9a92eaed00bc03dbdb0a597cfb1e65f97 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 09:08:21 +0200 Subject: [PATCH 35/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index f62dc388..d4ae49a2 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -60,7 +60,7 @@ docker exec psmdb-server wget https://github.com/feliixx/mgodatagen/releases/lat docker exec psmdb-server tar -xzf mgodatagen_linux_amd64.tar.gz docker exec psmdb-server mv mgodatagen /usr/local/bin/ docker exec psmdb-server chmod +x /usr/local/bin/mgodatagen -docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server mgodatagen -f /etc/datagen/replicaset.json --username=pmm_mongodb --password="5M](Q%q/U+YQ<^m" --host psmdb-server --port 27017 --tlsCertificateKeyFile=/mongodb_certs/client.pem --tlsCAFile=/mongodb_certs/ca-certs.pem +docker exec psmdb-server mgodatagen -f /etc/datagen/replicaset.json --username=pmm_mongodb --password="5M](Q%q/U+YQ<^m" --host psmdb-server --port 27017 --tlsCertificateKeyFile=/mongodb_certs/client.pem --tlsCAFile=/mongodb_certs/ca-certs.pem tests=${TESTS:-yes} if [ $tests = "yes" ]; then From 8d895a6eedd145fd2797d6ccc43ba70589d394fd Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 09:19:19 +0200 Subject: [PATCH 36/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index d4ae49a2..2ca5e348 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -55,7 +55,8 @@ ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "con echo "Add Mongo Service" random_number=$RANDOM docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server pmm-admin add mongodb psmdb-server_${random_number} --agent-password=mypass --username=pmm_mongodb --password="5M](Q%q/U+YQ<^m" --host psmdb-server --port 27017 --tls --tls-certificate-key-file=/mongodb_certs/client.pem --tls-ca-file=/mongodb_certs/ca-certs.pem --cluster=mycluster -#Add some data + +echo "Add some data" docker exec psmdb-server wget https://github.com/feliixx/mgodatagen/releases/latest/download/mgodatagen_linux_amd64.tar.gz docker exec psmdb-server tar -xzf mgodatagen_linux_amd64.tar.gz docker exec psmdb-server mv mgodatagen /usr/local/bin/ From f5aa8de36d79998c48144cea960f68fb2757ed46 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 09:21:12 +0200 Subject: [PATCH 37/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 2ca5e348..acde9b39 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -57,7 +57,7 @@ random_number=$RANDOM docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server pmm-admin add mongodb psmdb-server_${random_number} --agent-password=mypass --username=pmm_mongodb --password="5M](Q%q/U+YQ<^m" --host psmdb-server --port 27017 --tls --tls-certificate-key-file=/mongodb_certs/client.pem --tls-ca-file=/mongodb_certs/ca-certs.pem --cluster=mycluster echo "Add some data" -docker exec psmdb-server wget https://github.com/feliixx/mgodatagen/releases/latest/download/mgodatagen_linux_amd64.tar.gz +docker exec psmdb-server wget -O mgodatagen_linux_amd64.tar.gz https://github.com/feliixx/mgodatagen/releases/download/v0.12.0/mgodatagen_0.12.0_darwin_amd64.tar.gz docker exec psmdb-server tar -xzf mgodatagen_linux_amd64.tar.gz docker exec psmdb-server mv mgodatagen /usr/local/bin/ docker exec psmdb-server chmod +x /usr/local/bin/mgodatagen From fd36112dc3b7cca4051fab9a6468973a1d6dabb8 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 09:58:03 +0200 Subject: [PATCH 38/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-sharded.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index e63274eb..d88fc591 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -230,13 +230,21 @@ do done echo echo "configuring pmm agents" +PLAYBOOK_FILE="install_pmm_client.yml" +cat > "$PLAYBOOK_FILE" < Date: Wed, 15 Oct 2025 10:00:03 +0200 Subject: [PATCH 39/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-sharded.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index d88fc591..1dd8a30f 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -1,5 +1,4 @@ #!/bin/bash -set -ex pmm_user=${PMM_USER:-pmm} pmm_pass=${PMM_PASS:-pmmpass} pbm_user=${PBM_USER:-pbm} From 6829d9c74cf728a22a22a285751c8dfe3cf4bcff Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 10:05:01 +0200 Subject: [PATCH 40/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 2 +- pmm_psmdb-pbm_setup/start-sharded.sh | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index b44e3674..3d3b2662 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -48,7 +48,7 @@ random_number=$RANDOM nodes="rs101 rs102 rs103" for node in $nodes do - docker exec $node wget https://github.com/feliixx/mgodatagen/releases/latest/download/mgodatagen_linux_amd64.tar.gz + docker exec $node wget -O mgodatagen_linux_amd64.tar.gz https://github.com/feliixx/mgodatagen/releases/download/v0.12.0/mgodatagen_0.12.0_darwin_amd64.tar.gz docker exec $node tar -xzf mgodatagen_linux_amd64.tar.gz docker exec $node mv mgodatagen /usr/local/bin/ docker exec $node chmod +x /usr/local/bin/mgodatagen diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index 1dd8a30f..9779a2ec 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -250,7 +250,11 @@ echo "configuring pmm-agent on primary rscfg01 for mongos instance" docker compose -f docker-compose-sharded.yaml exec -T rscfg01 pmm-admin add mongodb --agent-password=mypass --cluster=sharded --environment=mongo-sharded-dev --username=${pmm_user} --password=${pmm_pass} mongos_${random_number} 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:root@127.0.0.1:27017 +docker exec mongos wget -O mgodatagen_linux_amd64.tar.gz https://github.com/feliixx/mgodatagen/releases/download/v0.12.0/mgodatagen_0.12.0_darwin_amd64.tar.gz +docker exec mongos tar -xzf mgodatagen_linux_amd64.tar.gz +docker exec mongos mv mgodatagen /usr/local/bin/ +docker exec mongos chmod +x /usr/local/bin/mgodatagen +docker exec mongos mgodatagen -f /etc/datagen/sharded.json --uri=mongodb://root:root@127.0.0.1:27017 tests=${TESTS:-yes} if [ $tests != "no" ]; then echo "running tests" From f7cd2091beebef560cdf030969a1bbed0a74405e Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 10:07:13 +0200 Subject: [PATCH 41/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-sharded.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index 9779a2ec..f4eb1720 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -243,7 +243,7 @@ for node in $nodes do echo "congiguring pmm agent on $node" rs=$(echo $node | awk -F "0" '{print $1}') - ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" + ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$node pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" docker compose -f docker-compose-sharded.yaml exec -T $node pmm-admin add mongodb --agent-password=mypass --cluster=sharded --environment=mongo-sharded-dev --username=${pmm_user} --password=${pmm_pass} ${node}_${random_number} 127.0.0.1:27017 done echo "configuring pmm-agent on primary rscfg01 for mongos instance" From 7ef03557c33e0a07ed599ee102d35bf359554ccc Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 11:09:32 +0200 Subject: [PATCH 42/94] PMM-7: Change pmm client setup --- pmm_qa/pmm-framework.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index 708aa9db..45ba1a2b 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -577,7 +577,7 @@ def setup_psmdb(db_type, db_version=None, db_config=None, args=None): shell_scripts = ['start-rs-only.sh'] elif setup_type in ("shards", "sharding"): shell_scripts = ['start-sharded-no-server.sh'] - mongo_sharding_setup(shell_scripts[0], args) + # mongo_sharding_setup(shell_scripts[0], args) # Execute shell scripts if not shell_scripts == []: From f8c0378f352c73029e7a347dba2b6161dc7f9caf Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 11:24:07 +0200 Subject: [PATCH 43/94] PMM-7: Change pmm client setup --- pmm_qa/pmm-framework.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index 45ba1a2b..ff2be6e5 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -422,7 +422,7 @@ def execute_shell_scripts(shell_scripts, project_relative_scripts_dir, env_vars, # Get script directory current_directory = os.getcwd() shell_scripts_path = os.path.abspath(os.path.join(current_directory, os.pardir, project_relative_scripts_dir)) - + print(f'File path is: {shell_scripts_path}') # Get the original working directory original_dir = os.getcwd() From 57d8a310fa2d5225d6d03b375de81ae091d14946 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 11:24:42 +0200 Subject: [PATCH 44/94] PMM-7: Change pmm client setup --- pmm_qa/pmm-framework.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index ff2be6e5..17b41649 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -577,7 +577,7 @@ def setup_psmdb(db_type, db_version=None, db_config=None, args=None): shell_scripts = ['start-rs-only.sh'] elif setup_type in ("shards", "sharding"): shell_scripts = ['start-sharded-no-server.sh'] - # mongo_sharding_setup(shell_scripts[0], args) + mongo_sharding_setup(shell_scripts[0], args) # Execute shell scripts if not shell_scripts == []: From 9989b69d2cfc60a3e1935491d9ee6ec1b4ae0df6 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 11:43:03 +0200 Subject: [PATCH 45/94] PMM-7: Change pmm client setup --- pmm_qa/pmm-framework.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index 17b41649..814eabba 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -578,6 +578,7 @@ def setup_psmdb(db_type, db_version=None, db_config=None, args=None): elif setup_type in ("shards", "sharding"): shell_scripts = ['start-sharded-no-server.sh'] mongo_sharding_setup(shell_scripts[0], args) + print('Preparation is ready for sharding!') # Execute shell scripts if not shell_scripts == []: From 594db7254e1abb9f12a49720734b62d1fa8b00c3 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 11:45:29 +0200 Subject: [PATCH 46/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-sharded.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index f4eb1720..a919e78f 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -17,6 +17,8 @@ docker compose -f docker-compose-sharded.yaml restart pmm-server echo "waiting 30 seconds for pmm-server to start" sleep 30 +exit 1 + nodes="rs101 rs201" for node in $nodes do From 5b911e13053068830afbd2804da2162f4eae2790 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 11:47:48 +0200 Subject: [PATCH 47/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-sharded.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index a919e78f..a9bbc0b0 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -17,8 +17,6 @@ docker compose -f docker-compose-sharded.yaml restart pmm-server echo "waiting 30 seconds for pmm-server to start" sleep 30 -exit 1 - nodes="rs101 rs201" for node in $nodes do @@ -47,6 +45,8 @@ do }; rs.initiate(config); EOF + + sleep 60 echo echo "configuring root user on primary $node replicaset $rs" @@ -118,6 +118,8 @@ EOF EOF done +exit 1 + echo "configuring configserver replicaset with members priorities" docker compose -f docker-compose-sharded.yaml exec -T rscfg01 mongo --quiet << EOF config = { From efb748db9ebb291283300071169b1bed4ed5f181 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 11:52:15 +0200 Subject: [PATCH 48/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-sharded.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index a9bbc0b0..dcc8b7a8 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -118,8 +118,6 @@ EOF EOF done -exit 1 - echo "configuring configserver replicaset with members priorities" docker compose -f docker-compose-sharded.yaml exec -T rscfg01 mongo --quiet << EOF config = { From d0b4bbf4cd38368eb2ec95c33170ff24876274c9 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 12:22:47 +0200 Subject: [PATCH 49/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-extra-agents.sh | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/pmm_psmdb-pbm_setup/configure-extra-agents.sh b/pmm_psmdb-pbm_setup/configure-extra-agents.sh index c71c16d8..0e0a0b2c 100644 --- a/pmm_psmdb-pbm_setup/configure-extra-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-extra-agents.sh @@ -1,5 +1,4 @@ #!/bin/bash -set -e pmm_mongo_user=${PMM_MONGO_USER:-pmm} pmm_mongo_user_pass=${PMM_MONGO_USER_PASS:-pmmpass} @@ -44,10 +43,19 @@ echo echo "configuring pmm agents" random_number=$RANDOM nodes="rs201 rs202 rs203" +PLAYBOOK_FILE="install_pmm_client.yml" + +cat > "$PLAYBOOK_FILE" < Date: Wed, 15 Oct 2025 12:28:18 +0200 Subject: [PATCH 50/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 11 +---------- pmm_psmdb-pbm_setup/start-sharded.sh | 12 +++++++----- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 06184769..6e826cfb 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -32,18 +32,9 @@ cat > "$PLAYBOOK_FILE" <&1) - if [ $? -ne 0 ]; then - echo "Ansible failed for $c:" - echo "$ansible_out" - fi - docker exec "$c" pmm-admin list + ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" done if [ $mongo_setup_type == "pss" ]; then diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index dcc8b7a8..8d1b4513 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -229,8 +229,9 @@ do echo "restarting pbm agent on $node" docker compose -f docker-compose-sharded.yaml exec -T $node systemctl restart pbm-agent done -echo -echo "configuring pmm agents" + +echo "Install and setup PMM Client" + PLAYBOOK_FILE="install_pmm_client.yml" cat > "$PLAYBOOK_FILE" < Date: Wed, 15 Oct 2025 12:32:06 +0200 Subject: [PATCH 51/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 6e826cfb..24b6a398 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -34,7 +34,11 @@ EOF for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" - ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" + ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) + if [ $? -ne 0 ]; then + echo "Ansible failed for $c:" + echo "$ansible_out" + fi done if [ $mongo_setup_type == "pss" ]; then From caf6d95b578c899f91f3901e22bd5dd2a25eb235 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 12:36:03 +0200 Subject: [PATCH 52/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-extra-agents.sh | 9 ++++++++- pmm_psmdb-pbm_setup/start-rs-only.sh | 5 +++-- pmm_psmdb-pbm_setup/start-sharded.sh | 9 ++++++++- pmm_psmdb_diffauth_setup/test-auth.sh | 8 +++++++- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/pmm_psmdb-pbm_setup/configure-extra-agents.sh b/pmm_psmdb-pbm_setup/configure-extra-agents.sh index 0e0a0b2c..7b02c506 100644 --- a/pmm_psmdb-pbm_setup/configure-extra-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-extra-agents.sh @@ -55,7 +55,14 @@ EOF for node in $nodes do echo "Configuring PMM Client on $node" - ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$node pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" + ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$node pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) + + if [ $? -ne 0 ]; then + echo "Ansible failed for: $node" + echo "$ansible_out" + exit 1 + fi + if [[ $mongo_setup_type == "psa" && $node == "rs203" ]]; then docker compose -f docker-compose-rs.yaml exec -T $node pmm-admin add mongodb --enable-all-collectors --agent-password=mypass --cluster=replicaset --replication-set=rs1 --host=${node} --port=27017 ${node}${gssapi_service_name_part}_${random_number} else diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index 24b6a398..d995d60e 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -36,9 +36,10 @@ for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) if [ $? -ne 0 ]; then - echo "Ansible failed for $c:" + echo "Ansible failed for: $c" echo "$ansible_out" - fi + exit 1 + fi done if [ $mongo_setup_type == "pss" ]; then diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index 8d1b4513..034eeb97 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -245,7 +245,14 @@ nodes="rs101 rs102 rs103 rs201 rs202 rs203 rscfg01 rscfg02 rscfg03" for node in $nodes do echo "Configuring PMM Client on $node" - ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$node pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" + ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$node pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) + + if [ $? -ne 0 ]; then + echo "Ansible failed for: $node" + echo "$ansible_out" + exit 1 + fi + docker exec $node pmm-admin add mongodb --agent-password=mypass --cluster=sharded --environment=mongo-sharded-dev --username=${pmm_user} --password=${pmm_pass} ${node}_${random_number} 127.0.0.1:27017 done echo "configuring pmm-agent on primary rscfg01 for mongos instance" diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index acde9b39..83ecb8d0 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -50,7 +50,13 @@ cat > "$PLAYBOOK_FILE" <&1) + +if [ $? -ne 0 ]; then + echo "Ansible failed for: psmdb-server" + echo "$ansible_out" + exit 1 +fi echo "Add Mongo Service" random_number=$RANDOM From 38b3332a1cc334888144110956a233fa3412bb52 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 12:48:15 +0200 Subject: [PATCH 53/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 83ecb8d0..37af5008 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -51,7 +51,7 @@ cat > "$PLAYBOOK_FILE" <&1) - +exit 1 if [ $? -ne 0 ]; then echo "Ansible failed for: psmdb-server" echo "$ansible_out" From 131f78f55041c54480510acb8fa8bb280a5b4d98 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 12:52:18 +0200 Subject: [PATCH 54/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 37af5008..b1b33fba 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -24,7 +24,7 @@ if [ -z "$ADMIN_PASSWORD" ]; then fi bash -e ./generate-certs.sh - +exit 1 echo "Start setup" docker compose -f docker-compose-pmm-psmdb.yml down -v --remove-orphans docker compose -f docker-compose-pmm-psmdb.yml build @@ -51,7 +51,7 @@ cat > "$PLAYBOOK_FILE" <&1) -exit 1 + if [ $? -ne 0 ]; then echo "Ansible failed for: psmdb-server" echo "$ansible_out" From ed20c0738c8c34db8f00890d2ace73b11729eb7d Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 12:57:44 +0200 Subject: [PATCH 55/94] PMM-7: Change pmm client setup --- pmm_qa/pmm-framework.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index 814eabba..67cde557 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -442,9 +442,11 @@ def execute_shell_scripts(shell_scripts, project_relative_scripts_dir, env_vars, # Change directory to where the script is located os.chdir(shell_scripts_path) print(f'changed directory {os.getcwd()}') - result = subprocess.run(['bash', script], capture_output=True, text=True, check=True) + result = subprocess.Popen(['bash', script], capture_output=True, text=True, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=1) print("Output:") - print(result.stdout) + for line in result.stdout: + print(line, end='') + result.wait() print(f"Shell script '{script}' executed successfully.") except subprocess.CalledProcessError as e: print( From fcef81bd6259256b2f02700dd452d3469a188ffb Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 12:59:39 +0200 Subject: [PATCH 56/94] PMM-7: Change pmm client setup --- pmm_qa/pmm-framework.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index 67cde557..fdb9d98e 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -442,7 +442,7 @@ def execute_shell_scripts(shell_scripts, project_relative_scripts_dir, env_vars, # Change directory to where the script is located os.chdir(shell_scripts_path) print(f'changed directory {os.getcwd()}') - result = subprocess.Popen(['bash', script], capture_output=True, text=True, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=1) + result = subprocess.Popen(['bash', script], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=1) print("Output:") for line in result.stdout: print(line, end='') From 377f214095c6031ce155f615b068ff6991dc2be9 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 13:01:35 +0200 Subject: [PATCH 57/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index b1b33fba..83ecb8d0 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -24,7 +24,7 @@ if [ -z "$ADMIN_PASSWORD" ]; then fi bash -e ./generate-certs.sh -exit 1 + echo "Start setup" docker compose -f docker-compose-pmm-psmdb.yml down -v --remove-orphans docker compose -f docker-compose-pmm-psmdb.yml build From 9a4ecf025c5f857358c11e9859ab92cf51c391f0 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 13:08:49 +0200 Subject: [PATCH 58/94] PMM-7: Change pmm client setup --- pmm_qa/pmm-framework.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pmm_qa/pmm-framework.py b/pmm_qa/pmm-framework.py index fdb9d98e..c0546987 100755 --- a/pmm_qa/pmm-framework.py +++ b/pmm_qa/pmm-framework.py @@ -422,7 +422,6 @@ def execute_shell_scripts(shell_scripts, project_relative_scripts_dir, env_vars, # Get script directory current_directory = os.getcwd() shell_scripts_path = os.path.abspath(os.path.join(current_directory, os.pardir, project_relative_scripts_dir)) - print(f'File path is: {shell_scripts_path}') # Get the original working directory original_dir = os.getcwd() @@ -442,11 +441,9 @@ def execute_shell_scripts(shell_scripts, project_relative_scripts_dir, env_vars, # Change directory to where the script is located os.chdir(shell_scripts_path) print(f'changed directory {os.getcwd()}') - result = subprocess.Popen(['bash', script], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, bufsize=1) + result = subprocess.run(['bash', script], capture_output=True, text=True, check=True) print("Output:") - for line in result.stdout: - print(line, end='') - result.wait() + print(result.stdout) print(f"Shell script '{script}' executed successfully.") except subprocess.CalledProcessError as e: print( @@ -580,7 +577,6 @@ def setup_psmdb(db_type, db_version=None, db_config=None, args=None): elif setup_type in ("shards", "sharding"): shell_scripts = ['start-sharded-no-server.sh'] mongo_sharding_setup(shell_scripts[0], args) - print('Preparation is ready for sharding!') # Execute shell scripts if not shell_scripts == []: From 9e3fae41f2994d77b2f4ea6eb0ec7b01b2bef99f Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 13:13:36 +0200 Subject: [PATCH 59/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 366f85ad..913e137e 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -106,7 +106,7 @@ when: - distro_family == 'debian' -- name: Install specific PMM client version on RHEL-family containers +- name: Install percona release on RHEL-family containers community.docker.docker_container_exec: container: "{{ container_name }}" user: "root" @@ -210,6 +210,9 @@ microdnf install -y pmm-client ' when: distro_family == "rhel" and client_version == "pmm3-latest" +- name: + debug: + var: client_version - name: Install specific PMM client version on Debian-family containers community.docker.docker_container_exec: From a7454253959748dbb6b985e766003510b1deb682 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 13:59:53 +0200 Subject: [PATCH 60/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 18 +++-------------- pmm_qa/scripts/install_pmm_client.sh | 28 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 15 deletions(-) create mode 100644 pmm_qa/scripts/install_pmm_client.sh diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 83ecb8d0..35861987 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -41,22 +41,10 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server bash -c "ech docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl restart pbm-agent echo "Install PMM Client" +#ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) +../pmm_qa/scripts/install_pmm_client.sh --server-ip=$PMM_SERVER_IP -PLAYBOOK_FILE="install_pmm_client.yml" -cat > "$PLAYBOOK_FILE" <&1) - -if [ $? -ne 0 ]; then - echo "Ansible failed for: psmdb-server" - echo "$ansible_out" - exit 1 -fi +exit 1 echo "Add Mongo Service" random_number=$RANDOM diff --git a/pmm_qa/scripts/install_pmm_client.sh b/pmm_qa/scripts/install_pmm_client.sh new file mode 100644 index 00000000..ed70c0d7 --- /dev/null +++ b/pmm_qa/scripts/install_pmm_client.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Read passed values. +for arg in "$@" +do + case $arg in + server_ip=*) + server_ip="${arg#*=}" + ;; + esac +done + +echo "The server IP is: $server_ip" +# Now you can use $server_ip anywhere in your script + +echo "Set correct pmm server port, 8443 for docker image. 443 for ip address" +if [[ $server_ip =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then + export PMM_SERVER_PORT=443 +else + export PMM_SERVER_PORT=8443 +fi + +echo "Detect OS" +export OS_INFO=$(cat /etc/os-release) + +echo $OS_INFO +echo $server_ip +echo $PMM_SERVER_PORT From 57121e7fc150ad3859cdb2b340ad82bb5926a6d6 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 14:03:47 +0200 Subject: [PATCH 61/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 35861987..e8a67d7c 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -42,7 +42,13 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl re echo "Install PMM Client" #ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) -../pmm_qa/scripts/install_pmm_client.sh --server-ip=$PMM_SERVER_IP +script_setup=$(../pmm_qa/scripts/install_pmm_client.sh --server-ip="$PMM_SERVER_IP") + +if [ $? -ne 0 ]; then + echo "PMM Client setup failed on" + echo "$script_setup" + exit 1 +fi exit 1 From 7d3a8613f476e4dff915e0e055a37c2184a1ba0f Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 14:05:36 +0200 Subject: [PATCH 62/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index e8a67d7c..62aec718 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -42,7 +42,7 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl re echo "Install PMM Client" #ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) -script_setup=$(../pmm_qa/scripts/install_pmm_client.sh --server-ip="$PMM_SERVER_IP") +script_setup=$(../pmm_qa/scripts/install_pmm_client.sh --server-ip="$PMM_SERVER_IP" 2>&1) if [ $? -ne 0 ]; then echo "PMM Client setup failed on" From abd358a66432138f75c9fac875abc8a7db9c5cd2 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 14:07:52 +0200 Subject: [PATCH 63/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 62aec718..7e3fdd8c 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -42,6 +42,7 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl re echo "Install PMM Client" #ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) +chmod +x ../pmm_qa/scripts/install_pmm_client.sh script_setup=$(../pmm_qa/scripts/install_pmm_client.sh --server-ip="$PMM_SERVER_IP" 2>&1) if [ $? -ne 0 ]; then From 297db341857b5fbe3ab02ceced078ef685be95a7 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 14:10:01 +0200 Subject: [PATCH 64/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 7e3fdd8c..8a903658 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -42,8 +42,8 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl re echo "Install PMM Client" #ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) -chmod +x ../pmm_qa/scripts/install_pmm_client.sh -script_setup=$(../pmm_qa/scripts/install_pmm_client.sh --server-ip="$PMM_SERVER_IP" 2>&1) +script_setup=$(chmod +x ../pmm_qa/scripts/install_pmm_client.sh 2>&1) +#script_setup=$(../pmm_qa/scripts/install_pmm_client.sh --server-ip="$PMM_SERVER_IP" 2>&1) if [ $? -ne 0 ]; then echo "PMM Client setup failed on" From 1fe7c4b45f844cc6cb43e3618cfb8f94156d6c52 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 14:14:41 +0200 Subject: [PATCH 65/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 8a903658..83ecb8d0 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -41,18 +41,23 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server bash -c "ech docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl restart pbm-agent echo "Install PMM Client" -#ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) -script_setup=$(chmod +x ../pmm_qa/scripts/install_pmm_client.sh 2>&1) -#script_setup=$(../pmm_qa/scripts/install_pmm_client.sh --server-ip="$PMM_SERVER_IP" 2>&1) + +PLAYBOOK_FILE="install_pmm_client.yml" +cat > "$PLAYBOOK_FILE" <&1) if [ $? -ne 0 ]; then - echo "PMM Client setup failed on" - echo "$script_setup" + echo "Ansible failed for: psmdb-server" + echo "$ansible_out" exit 1 fi -exit 1 - echo "Add Mongo Service" random_number=$RANDOM docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server pmm-admin add mongodb psmdb-server_${random_number} --agent-password=mypass --username=pmm_mongodb --password="5M](Q%q/U+YQ<^m" --host psmdb-server --port 27017 --tls --tls-certificate-key-file=/mongodb_certs/client.pem --tls-ca-file=/mongodb_certs/ca-certs.pem --cluster=mycluster From acdea90ffd452fbe6b53121dfb0a8bfe5a6f1e10 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 14:20:31 +0200 Subject: [PATCH 66/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 265 +++++++++++----------------- 1 file changed, 99 insertions(+), 166 deletions(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 913e137e..89da1cbc 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -27,9 +27,7 @@ when: not (pmm_server_ip | default('') | regex_search('\.')) - name: Detect OS inside the container - community.docker.docker_container_exec: - container: "{{ container_name }}" - command: cat /etc/os-release + shell: "docker exec {{ container_name }} cat /etc/os-release" register: container_os_info - name: Set distro family (debian/rhel) @@ -44,45 +42,29 @@ }} - name: Install dependencies inside Debian-family container - community.docker.docker_container_exec: - container: "{{ container_name }}" - command: > - sh -c ' + shell: | + docker exec -u root {{ container_name }} sh -c ' apt-get update && apt-get install -y wget gnupg2 jq lsb-base lsb-release curl - ' - user: "root" + ' when: distro_family == "debian" - name: Install dependencies on RHEL-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - command: dnf install -y microdnf - user: "root" + shell: docker exec -u root {{ container_name }} dnf install -y microdnf when: distro_family == "rhel" ignore_errors: true - name: Install dependencies on RHEL-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - command: microdnf install -y wget gnupg2 jq perl - user: "root" + shell: docker exec -u root {{ container_name }} microdnf install -y wget gnupg2 jq perl when: distro_family == "rhel" - name: Install curl on RHEL-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - command: microdnf install -y curl-minimal - user: "root" + shell: docker exec -u root {{ container_name }} microdnf install -y curl-minimal when: distro_family == "rhel" ignore_errors: true - name: Get lsb_release - community.docker.docker_container_exec: - container: "{{ container_name }}" - command: > - bash -c "grep '^VERSION_CODENAME=' /etc/os-release | cut -d '=' -f2 | tr -d '\"'" - user: "root" + shell: docker exec -u root {{ container_name }} bash -c "grep '^VERSION_CODENAME=' /etc/os-release | cut -d '=' -f2 | tr -d '\"'" register: lsb_release - name: Set lsb_release @@ -95,185 +77,139 @@ when: metrics_mode is not defined - name: Install percona release on Debian-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - wget -O /percona-release_latest.{{ lsb_release }}_all.deb https://repo.percona.com/apt/percona-release_latest.{{ lsb_release }}_all.deb && - dpkg -i /percona-release_latest.{{ lsb_release }}_all.deb - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + wget -O /percona-release_latest.{{ lsb_release }}_all.deb https://repo.percona.com/apt/percona-release_latest.{{ lsb_release }}_all.deb && + dpkg -i /percona-release_latest.{{ lsb_release }}_all.deb + ' when: - distro_family == 'debian' - name: Install percona release on RHEL-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - wget -O /percona-release-latest.noarch.rpm https://repo.percona.com/yum/percona-release-latest.noarch.rpm && - rpm -i /percona-release-latest.noarch.rpm - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + wget -O /percona-release-latest.noarch.rpm https://repo.percona.com/yum/percona-release-latest.noarch.rpm && + rpm -i /percona-release-latest.noarch.rpm + ' when: - distro_family == 'rhel' ignore_errors: true - name: Install pmm client experimental on Debian-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - percona-release enable-only pmm3-client experimental && - apt-get update && - apt-get -y install pmm-client - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + percona-release enable-only pmm3-client experimental && + apt-get update && + apt-get -y install pmm-client + ' when: distro_family == "debian" and client_version == "3-dev-latest" - name: Install pmm client experimental on RHEL-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - percona-release enable-only pmm3-client experimental && - microdnf install -y pmm-client - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + percona-release enable-only pmm3-client experimental && + microdnf install -y pmm-client + ' when: distro_family == "rhel" and client_version == "3-dev-latest" - name: Install pmm client testing on Debian-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - percona-release enable-only pmm3-client testing && - apt-get update && - apt-get -y install pmm-client - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + percona-release enable-only pmm3-client testing && + apt-get update && + apt-get -y install pmm-client + ' when: distro_family == "debian" and client_version == "pmm3-rc" - name: Install pmm client testing on RHEL-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - percona-release enable-only pmm3-client testing && - microdnf install -y pmm-client - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + percona-release enable-only pmm3-client testing && + microdnf install -y pmm-client + ' when: distro_family == "rhel" and client_version == "pmm3-rc" -- name: Install pmm client testing on Debian-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - percona-release enable-only pmm3-client release && - apt-get update && - apt-get -y install pmm-client - ' +- name: Install pmm client release on Debian-family containers + shell: | + docker exec -u root {{ container_name }} sh -c ' + percona-release enable-only pmm3-client release && + apt-get update && + apt-get -y install pmm-client + ' when: distro_family == "debian" and client_version == "release" -- name: Install pmm client testing on RHEL-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - percona-release enable-only pmm3-client release && - microdnf install -y pmm-client - ' +- name: Install pmm client release on RHEL-family containers + shell: | + docker exec -u root {{ container_name }} sh -c ' + percona-release enable-only pmm3-client release && + microdnf install -y pmm-client + ' when: distro_family == "rhel" and client_version == "release" - name: Install pmm client release on Debian-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - percona-release enable-only pmm3-client release && - apt-get update && - apt-get -y install pmm-client - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + percona-release enable-only pmm3-client release && + apt-get update && + apt-get -y install pmm-client + ' when: distro_family == "debian" and client_version == "pmm3-latest" - name: Install pmm client release on RHEL-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - percona-release enable-only pmm3-client release && - microdnf install -y pmm-client - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + percona-release enable-only pmm3-client release && + microdnf install -y pmm-client + ' when: distro_family == "rhel" and client_version == "pmm3-latest" -- name: - debug: - var: client_version - name: Install specific PMM client version on Debian-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - wget -O /pmm-client.deb https://repo.percona.com/pmm3-client/apt/pool/main/p/pmm-client/pmm-client_{{ client_version }}-7.$(lsb_release -sc)_amd64.deb && - dpkg -i /pmm-client.deb - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + wget -O /pmm-client.deb https://repo.percona.com/pmm3-client/apt/pool/main/p/pmm-client/pmm-client_{{ client_version }}-7.$(lsb_release -sc)_amd64.deb && + dpkg -i /pmm-client.deb + ' when: - distro_family == 'debian' - - client_version is match('^3\\.[0-9]+\\.[0-9]+$') + - client_version is match('^3\.[0-9]+\.[0-9]+$') - name: Install specific PMM client version on RHEL-family containers - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - wget -O /pmm-client.rpm https://repo.percona.com/pmm3-client/yum/release/9/RPMS/x86_64/pmm-client-{{ client_version }}-7.el9.x86_64.rpm && - rpm -i /pmm-client.rpm - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + wget -O /pmm-client.rpm https://repo.percona.com/pmm3-client/yum/release/9/RPMS/x86_64/pmm-client-{{ client_version }}-7.el9.x86_64.rpm && + rpm -i /pmm-client.rpm + ' when: - distro_family == 'rhel' - - client_version is match('^3\\.[0-9]+\\.[0-9]+$') + - client_version is match('^3\.[0-9]+\.[0-9]+$') - name: Install tarball PMM client version - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c ' - wget -O /pmm-client.tar.gz "{{ client_version }}" && - tar -zxpf /pmm-client.tar.gz && - PMM_CLIENT=`ls -1td pmm-client* 2>/dev/null | grep -v ".tar" | grep -v ".sh" | head -n1` && - echo ${PMM_CLIENT} && - rm -rf pmm-client && - mv ${PMM_CLIENT} pmm-client && - rm -rf /usr/local/bin/pmm-client && - mv -f pmm-client /usr/local/bin && - bash -x /usr/local/bin/pmm-client/install_tarball && - ln -sf /usr/local/percona/pmm/bin/pmm-admin /usr/local/bin/pmm-admin && - ln -sf /usr/local/percona/pmm/bin/pmm-agent /usr/local/bin/pmm-agent && - pmm-admin --version - ' + shell: | + docker exec -u root {{ container_name }} sh -c ' + wget -O /pmm-client.tar.gz "{{ client_version }}" && + tar -zxpf /pmm-client.tar.gz && + PMM_CLIENT=$(ls -1td pmm-client* 2>/dev/null | grep -v ".tar" | grep -v ".sh" | head -n1) && + echo ${PMM_CLIENT} && + rm -rf pmm-client && + mv ${PMM_CLIENT} pmm-client && + rm -rf /usr/local/bin/pmm-client && + mv -f pmm-client /usr/local/bin && + bash -x /usr/local/bin/pmm-client/install_tarball && + ln -sf /usr/local/percona/pmm/bin/pmm-admin /usr/local/bin/pmm-admin && + ln -sf /usr/local/percona/pmm/bin/pmm-agent /usr/local/bin/pmm-agent && + pmm-admin --version + ' when: - - client_version | regex_search('^https?://.*\\.tar\\.gz$') is not none + - client_version | regex_search('^https?://.*\.tar\.gz$') is not none - name: Connect pmm client to pmm server using metrics mode - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }} + shell: > + docker exec -u root {{ container_name }} pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }} when: metrics_mode | length > 0 -- name: Connect pmm client to pmm server using metrics mode - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --server-username=admin --server-password={{ admin_password }} {{ container_name }} +- name: Connect pmm client to pmm server without metrics mode + shell: > + docker exec -u root {{ container_name }} pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --server-username=admin --server-password={{ admin_password }} {{ container_name }} when: metrics_mode | length == 0 - name: Wait 5 seconds for connection to complete @@ -281,11 +217,8 @@ seconds: 5 - name: Start pmm client - community.docker.docker_container_exec: - container: "{{ container_name }}" - user: "root" - command: > - sh -c 'nohup pmm-agent --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml > /var/log/pmm-agent.log 2>&1 &' + shell: > + docker exec -u root {{ container_name }} sh -c 'nohup pmm-agent --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml > /var/log/pmm-agent.log 2>&1 &' - name: Wait 5 seconds for start to complete pause: From e149de140b5b523504dea05384ca8b3b9299b64d Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 15:14:05 +0200 Subject: [PATCH 67/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 83ecb8d0..b0e909d4 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -42,6 +42,8 @@ docker compose -f docker-compose-pmm-psmdb.yml exec -T psmdb-server systemctl re echo "Install PMM Client" +docker ps -a + PLAYBOOK_FILE="install_pmm_client.yml" cat > "$PLAYBOOK_FILE" < Date: Wed, 15 Oct 2025 15:19:44 +0200 Subject: [PATCH 68/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index b0e909d4..b88ae220 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -52,6 +52,9 @@ cat > "$PLAYBOOK_FILE" <&1) if [ $? -ne 0 ]; then From ca41953fca0fd4a4fb33ca4bae917110bee2ac29 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 15:22:53 +0200 Subject: [PATCH 69/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 89da1cbc..81fb3aed 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -1,3 +1,8 @@ +- name: Set PMM Server address if undefined + set_fact: + pmm_server_ip: "pmm-server" + when: pmm_server_ip is not defined + - name: Get PMM server address shell: 'docker ps -f name=-server --format "{{ "{{" }}.Names{{ "}}" }}"' register: pmm_server_ip_output From c298b4a90eb1522aa8e4b8a6b50f9e95ba30cbbf Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 15:29:55 +0200 Subject: [PATCH 70/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 81fb3aed..a007a936 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -1,7 +1,7 @@ - name: Set PMM Server address if undefined set_fact: pmm_server_ip: "pmm-server" - when: pmm_server_ip is not defined + when: pmm_server_ip is not defined or pmm_server_ip == "" - name: Get PMM server address shell: 'docker ps -f name=-server --format "{{ "{{" }}.Names{{ "}}" }}"' From d068c8a500dc0a61004d494b7c01a378beeac9a2 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 15:37:50 +0200 Subject: [PATCH 71/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index a007a936..36aef1e9 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -1,7 +1,7 @@ - name: Set PMM Server address if undefined set_fact: pmm_server_ip: "pmm-server" - when: pmm_server_ip is not defined or pmm_server_ip == "" + when: pmm_server_ip | default('') == '' - name: Get PMM server address shell: 'docker ps -f name=-server --format "{{ "{{" }}.Names{{ "}}" }}"' @@ -13,11 +13,7 @@ pmm_server_ip: "{{ pmm_server_ip_output.stdout }}" when: pmm_server_ip == "127.0.0.1" -- name: Print pmm server address - debug: - var: pmm_server_ip - -- name: "PMM Server IP is" +- name: "Log PMM Server IP" debug: msg: "{{ pmm_server_ip }} is pmm server IP" From 0597a51db57c89f29d1facffb9af29f5493a7a8a Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 15:45:45 +0200 Subject: [PATCH 72/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 2 +- pmm_qa/tasks/install_pmm_client.yml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index b88ae220..86076e8f 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -55,7 +55,7 @@ EOF echo "PMM Server IP is: $PMM_SERVER_IP" echo "PMM Client version is: $PMM_CLIENT_VERSION" echo "Admin Password is: $ADMIN_PASSWORD" -ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) +ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost -vv --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) if [ $? -ne 0 ]; then echo "Ansible failed for: psmdb-server" diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 36aef1e9..9ceade1b 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -3,6 +3,10 @@ pmm_server_ip: "pmm-server" when: pmm_server_ip | default('') == '' +- name: "Log PMM Server IP" + debug: + msg: "{{ pmm_server_ip }} is pmm server IP" + - name: Get PMM server address shell: 'docker ps -f name=-server --format "{{ "{{" }}.Names{{ "}}" }}"' register: pmm_server_ip_output From 434f3aefdbf1ecc8abf7268759ee0a9355d355fe Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 15:54:43 +0200 Subject: [PATCH 73/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 86076e8f..95b29f93 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -55,7 +55,7 @@ EOF echo "PMM Server IP is: $PMM_SERVER_IP" echo "PMM Client version is: $PMM_CLIENT_VERSION" echo "Admin Password is: $ADMIN_PASSWORD" -ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost -vv --connection=local -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) +ansible_out=$(ansible-playbook install_pmm_client.yml --connection=local --inventory 127.0.0.1, --limit 127.0.0.1 -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) if [ $? -ne 0 ]; then echo "Ansible failed for: psmdb-server" From bc91b226f319c9bf66233eced8027f0bf80f5e20 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 15:59:37 +0200 Subject: [PATCH 74/94] PMM-7: Change pmm client setup --- pmm_psmdb_diffauth_setup/test-auth.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb_diffauth_setup/test-auth.sh b/pmm_psmdb_diffauth_setup/test-auth.sh index 95b29f93..3107e9f5 100755 --- a/pmm_psmdb_diffauth_setup/test-auth.sh +++ b/pmm_psmdb_diffauth_setup/test-auth.sh @@ -52,10 +52,14 @@ cat > "$PLAYBOOK_FILE" <&1) +ansible_out=$(ansible-playbook install_pmm_client.yml -vvv --connection=local --inventory 127.0.0.1, --limit 127.0.0.1 -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) if [ $? -ne 0 ]; then echo "Ansible failed for: psmdb-server" From 61aaaa7cce49c3447e558b1eccaca1800b4041cc Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 16:10:26 +0200 Subject: [PATCH 75/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 4 ++++ pmm_psmdb-pbm_setup/start-sharded.sh | 4 ++++ pmm_psmdb_diffauth_setup/test-auth.sh | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index d995d60e..d2597185 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -32,6 +32,10 @@ cat > "$PLAYBOOK_FILE" <&1) diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index 034eeb97..7989f123 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -240,6 +240,10 @@ cat > "$PLAYBOOK_FILE" < "$PLAYBOOK_FILE" < Date: Wed, 15 Oct 2025 17:39:37 +0200 Subject: [PATCH 76/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 9ceade1b..7ec6f94e 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -64,7 +64,7 @@ when: distro_family == "rhel" - name: Install curl on RHEL-family containers - shell: docker exec -u root {{ container_name }} microdnf install -y curl-minimal + shell: docker exec -u root {{ container_name }} microdnf install -y curl-minimal wget when: distro_family == "rhel" ignore_errors: true From 2268e1070d5c85e7c1815a65f2d3965e4fe30fb0 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 17:50:32 +0200 Subject: [PATCH 77/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index 3d3b2662..d5b3c88e 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -44,14 +44,27 @@ if [[ $mongo_setup_type == "psa" ]]; then fi echo echo "configuring pmm agents" +PLAYBOOK_FILE="install_pmm_client.yml" +cat > "$PLAYBOOK_FILE" <&1) + random_number=$RANDOM nodes="rs101 rs102 rs103" for node in $nodes do - docker exec $node wget -O mgodatagen_linux_amd64.tar.gz https://github.com/feliixx/mgodatagen/releases/download/v0.12.0/mgodatagen_0.12.0_darwin_amd64.tar.gz - docker exec $node tar -xzf mgodatagen_linux_amd64.tar.gz - docker exec $node mv mgodatagen /usr/local/bin/ - docker exec $node chmod +x /usr/local/bin/mgodatagen echo "configuring pmm agent on $node" if [[ $mongo_setup_type == "psa" && $node == "rs103" ]]; then docker compose -f docker-compose-rs.yaml exec -T $node pmm-admin add mongodb --enable-all-collectors --agent-password=mypass --environment=psmdb-dev --cluster=replicaset --replication-set=rs --host=${node} --port=27017 ${node}${gssapi_service_name_part}_${random_number} @@ -62,6 +75,10 @@ do done echo echo "adding some data" +docker exec rs101 wget -O mgodatagen_linux_amd64.tar.gz https://github.com/feliixx/mgodatagen/releases/download/v0.12.0/mgodatagen_0.12.0_darwin_amd64.tar.gz +docker exec rs101 tar -xzf mgodatagen_linux_amd64.tar.gz +docker exec rs101 mv mgodatagen /usr/local/bin/ +docker exec rs101 chmod +x /usr/local/bin/mgodatagen docker compose -f docker-compose-rs.yaml exec -T rs101 mgodatagen -f /etc/datagen/replicaset.json --uri=mongodb://${pmm_mongo_user}:${pmm_mongo_user_pass}@127.0.0.1:27017/?replicaSet=rs docker compose -f docker-compose-rs.yaml exec -T rs101 mongo "mongodb://${pmm_mongo_user}:${pmm_mongo_user_pass}@localhost/?replicaSet=rs" --quiet << EOF use students; From ec0185cd8684352911da127b7629f60717de8d3f Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 18:12:15 +0200 Subject: [PATCH 78/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-rs-only.sh | 4 ++++ pmm_psmdb-pbm_setup/start-sharded.sh | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/pmm_psmdb-pbm_setup/start-rs-only.sh b/pmm_psmdb-pbm_setup/start-rs-only.sh index d2597185..0c4fc395 100755 --- a/pmm_psmdb-pbm_setup/start-rs-only.sh +++ b/pmm_psmdb-pbm_setup/start-rs-only.sh @@ -36,6 +36,10 @@ if [ -z "${PMM_SERVER_IP+x}" ]; then PMM_SERVER_IP="pmm-server" fi +if [ -z "${ADMIN_PASSWORD+x}" ]; then + ADMIN_PASSWORD="admin" +fi + for c in $(docker ps --format "{{.Names}}" | grep '^rs'); do echo "Container: $c" ansible_out=$(ansible-playbook install_pmm_client.yml -i localhost, --connection=local -e "container_name=$c pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index 7989f123..ebdedba8 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -246,6 +246,15 @@ fi random_number=$RANDOM nodes="rs101 rs102 rs103 rs201 rs202 rs203 rscfg01 rscfg02 rscfg03" + +if [ -z "${PMM_SERVER_IP+x}" ]; then + PMM_SERVER_IP="pmm-server" +fi + +if [ -z "${ADMIN_PASSWORD+x}" ]; then + ADMIN_PASSWORD="admin" +fi + for node in $nodes do echo "Configuring PMM Client on $node" From ed4998bc3a80958874100ada5989c79d963e5fc3 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 18:32:04 +0200 Subject: [PATCH 79/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index d5b3c88e..7b6eecc9 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -56,6 +56,10 @@ if [ -z "${PMM_SERVER_IP+x}" ]; then PMM_SERVER_IP="pmm-server" fi +if [ -z "${ADMIN_PASSWORD+x}" ]; then + ADMIN_PASSWORD="admin" +fi + echo "PMM Server IP is: $PMM_SERVER_IP" echo "PMM Client version is: $PMM_CLIENT_VERSION" echo "Admin Password is: $ADMIN_PASSWORD" From 02c42b081a2cb4eb7f8454e4ed1d5b54297a8a75 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 18:49:23 +0200 Subject: [PATCH 80/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index 7b6eecc9..b662892a 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -60,16 +60,24 @@ if [ -z "${ADMIN_PASSWORD+x}" ]; then ADMIN_PASSWORD="admin" fi -echo "PMM Server IP is: $PMM_SERVER_IP" -echo "PMM Client version is: $PMM_CLIENT_VERSION" -echo "Admin Password is: $ADMIN_PASSWORD" -ansible_out=$(ansible-playbook install_pmm_client.yml -vvv --connection=local --inventory 127.0.0.1, --limit 127.0.0.1 -e "container_name=psmdb-server pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) random_number=$RANDOM nodes="rs101 rs102 rs103" for node in $nodes do - echo "configuring pmm agent on $node" + echo "Configuring PMM Client on: $node" + echo "PMM Server IP is: $PMM_SERVER_IP" + echo "PMM Client version is: $PMM_CLIENT_VERSION" + echo "Admin Password is: $ADMIN_PASSWORD" + ansible_out=$(ansible-playbook install_pmm_client.yml -vvv --connection=local --inventory 127.0.0.1, --limit 127.0.0.1 -e "container_name=$node pmm_server_ip=$PMM_SERVER_IP client_version=$PMM_CLIENT_VERSION admin_password=$ADMIN_PASSWORD" 2>&1) + + if [ $? -ne 0 ]; then + echo "Ansible failed for: $node" + echo "$ansible_out" + exit 1 + fi + + if [[ $mongo_setup_type == "psa" && $node == "rs103" ]]; then docker compose -f docker-compose-rs.yaml exec -T $node pmm-admin add mongodb --enable-all-collectors --agent-password=mypass --environment=psmdb-dev --cluster=replicaset --replication-set=rs --host=${node} --port=27017 ${node}${gssapi_service_name_part}_${random_number} else From feabfe9e052e240d3d4f963d413c83e58476283f Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 19:21:51 +0200 Subject: [PATCH 81/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 1 - pmm_psmdb-pbm_setup/start-sharded.sh | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index b662892a..d8ccc885 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -1,5 +1,4 @@ #!/bin/bash -set -e pmm_mongo_user=${PMM_MONGO_USER:-pmm} pmm_mongo_user_pass=${PMM_MONGO_USER_PASS:-pmmpass} diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index ebdedba8..43bb08d0 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -252,7 +252,7 @@ if [ -z "${PMM_SERVER_IP+x}" ]; then fi if [ -z "${ADMIN_PASSWORD+x}" ]; then - ADMIN_PASSWORD="admin" + ADMIN_PASSWORD="password" fi for node in $nodes From 905abff0d361db259776887a49443063eaf92720 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 19:53:59 +0200 Subject: [PATCH 82/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/configure-agents.sh | 2 +- pmm_psmdb-pbm_setup/start-rs.sh | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/pmm_psmdb-pbm_setup/configure-agents.sh b/pmm_psmdb-pbm_setup/configure-agents.sh index d8ccc885..feaeafa1 100644 --- a/pmm_psmdb-pbm_setup/configure-agents.sh +++ b/pmm_psmdb-pbm_setup/configure-agents.sh @@ -56,7 +56,7 @@ if [ -z "${PMM_SERVER_IP+x}" ]; then fi if [ -z "${ADMIN_PASSWORD+x}" ]; then - ADMIN_PASSWORD="admin" + ADMIN_PASSWORD=$pmm_server_admin_pass fi diff --git a/pmm_psmdb-pbm_setup/start-rs.sh b/pmm_psmdb-pbm_setup/start-rs.sh index aa9e3c8b..dc8f89a1 100755 --- a/pmm_psmdb-pbm_setup/start-rs.sh +++ b/pmm_psmdb-pbm_setup/start-rs.sh @@ -1,5 +1,4 @@ #!/bin/bash -set -e pmm_server_admin_pass=${ADMIN_PASSWORD:-password} profile=${COMPOSE_PROFILES:-classic} From ca004b961c674359827e800fa836bb201956ff27 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 20:04:50 +0200 Subject: [PATCH 83/94] PMM-7: Change pmm client setup --- .github/workflows/PMM_PSMDB_PBM_FULL.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PMM_PSMDB_PBM_FULL.yml b/.github/workflows/PMM_PSMDB_PBM_FULL.yml index 2c102ebf..44123245 100644 --- a/.github/workflows/PMM_PSMDB_PBM_FULL.yml +++ b/.github/workflows/PMM_PSMDB_PBM_FULL.yml @@ -25,7 +25,7 @@ on: jobs: test_replica_set: runs-on: ubuntu-22.04 - timeout-minutes: 20 + timeout-minutes: 30 strategy: fail-fast: false matrix: From e9964f1971b9187e62222eb8f0ebb3f83a3e3ddf Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 15 Oct 2025 20:32:00 +0200 Subject: [PATCH 84/94] PMM-7: Change pmm client setup --- .github/workflows/PMM_PSMDB_PBM_FULL.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PMM_PSMDB_PBM_FULL.yml b/.github/workflows/PMM_PSMDB_PBM_FULL.yml index 44123245..c38a3de4 100644 --- a/.github/workflows/PMM_PSMDB_PBM_FULL.yml +++ b/.github/workflows/PMM_PSMDB_PBM_FULL.yml @@ -25,7 +25,7 @@ on: jobs: test_replica_set: runs-on: ubuntu-22.04 - timeout-minutes: 30 + timeout-minutes: 40 strategy: fail-fast: false matrix: From d30c1ca52adc63770bb4f36c802f38e7d84b6484 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 16 Oct 2025 08:39:35 +0200 Subject: [PATCH 85/94] PMM-7: Change pmm client setup --- .github/workflows/PMM_PSMDB_PBM_FULL.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/PMM_PSMDB_PBM_FULL.yml b/.github/workflows/PMM_PSMDB_PBM_FULL.yml index c38a3de4..a6cbb2bd 100644 --- a/.github/workflows/PMM_PSMDB_PBM_FULL.yml +++ b/.github/workflows/PMM_PSMDB_PBM_FULL.yml @@ -42,7 +42,7 @@ jobs: test_sharded_cluster: runs-on: ubuntu-22.04 - timeout-minutes: 20 + timeout-minutes: 40 strategy: fail-fast: false matrix: From 60179f89018d767b336705ec881467f4c8cff827 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 16 Oct 2025 08:47:07 +0200 Subject: [PATCH 86/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 7ec6f94e..5b7c9f9b 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -207,14 +207,18 @@ when: - client_version | regex_search('^https?://.*\.tar\.gz$') is not none +- name: Generate random node name suffix + set_fact: + random_node_name_suffix: "_{{ 99999 | random + 1 }}" + - name: Connect pmm client to pmm server using metrics mode shell: > - docker exec -u root {{ container_name }} pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }} + docker exec -u root {{ container_name }} pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }}_{{ random_node_name_suffix }} when: metrics_mode | length > 0 - name: Connect pmm client to pmm server without metrics mode shell: > - docker exec -u root {{ container_name }} pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --server-username=admin --server-password={{ admin_password }} {{ container_name }} + docker exec -u root {{ container_name }} pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --server-username=admin --server-password={{ admin_password }} {{ container_name }}_{{ random_node_name_suffix }} when: metrics_mode | length == 0 - name: Wait 5 seconds for connection to complete From d5e0414b4cb50ae88f6b9a47f67dcb57d6a1c2a0 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 16 Oct 2025 08:48:05 +0200 Subject: [PATCH 87/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 5b7c9f9b..9c791e16 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -210,6 +210,7 @@ - name: Generate random node name suffix set_fact: random_node_name_suffix: "_{{ 99999 | random + 1 }}" + when: random_node_name_suffix is not defined - name: Connect pmm client to pmm server using metrics mode shell: > From 6c8209772fc519d941895d7251fa6f637d364df5 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 16 Oct 2025 09:13:54 +0200 Subject: [PATCH 88/94] PMM-7: Change pmm client setup --- .github/workflows/PMM_PSMDB_PBM_FULL.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/PMM_PSMDB_PBM_FULL.yml b/.github/workflows/PMM_PSMDB_PBM_FULL.yml index a6cbb2bd..023d1217 100644 --- a/.github/workflows/PMM_PSMDB_PBM_FULL.yml +++ b/.github/workflows/PMM_PSMDB_PBM_FULL.yml @@ -52,6 +52,12 @@ jobs: PMM_IMAGE: ${{ inputs.pmm_image || 'perconalab/pmm-server:3-dev-latest' }} steps: - uses: actions/checkout@v2 + - name: Cleanup disk space on a worker according to https://github.com/actions/runner-images/issues/2840#issuecomment-790492173 + run: | + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Test sharded with PSMDB ${{ matrix.psmdb }} run: | PSMDB_VERSION=${{ matrix.psmdb }} ./start-sharded.sh From 7e33dae61a1819058714bb4aab01817f789b1e55 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 16 Oct 2025 10:27:53 +0200 Subject: [PATCH 89/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 9c791e16..8a0fb445 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -213,13 +213,12 @@ when: random_node_name_suffix is not defined - name: Connect pmm client to pmm server using metrics mode - shell: > - docker exec -u root {{ container_name }} pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }}_{{ random_node_name_suffix }} + docker exec -u root {{ container_name }} env PMM_AGENT_SETUP_NODE_NAME="{{ container_name }}_{{ random_node_name_suffix }}" pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }}_{{ random_node_name_suffix }} when: metrics_mode | length > 0 - name: Connect pmm client to pmm server without metrics mode shell: > - docker exec -u root {{ container_name }} pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --server-username=admin --server-password={{ admin_password }} {{ container_name }}_{{ random_node_name_suffix }} + docker exec -u root {{ container_name }} env PMM_AGENT_SETUP_NODE_NAME="{{ container_name }}_{{ random_node_name_suffix }}" pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --server-username=admin --server-password={{ admin_password }} {{ container_name }}_{{ random_node_name_suffix }} when: metrics_mode | length == 0 - name: Wait 5 seconds for connection to complete From 0a6296d5dd37bddabb49dd0b7f43a18f2462a9ba Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 16 Oct 2025 10:33:57 +0200 Subject: [PATCH 90/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index 8a0fb445..ac987228 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -213,6 +213,7 @@ when: random_node_name_suffix is not defined - name: Connect pmm client to pmm server using metrics mode + shell: > docker exec -u root {{ container_name }} env PMM_AGENT_SETUP_NODE_NAME="{{ container_name }}_{{ random_node_name_suffix }}" pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }}_{{ random_node_name_suffix }} when: metrics_mode | length > 0 From b9d586019e7f74cd904b2dc65831ae088e182240 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 16 Oct 2025 10:43:00 +0200 Subject: [PATCH 91/94] PMM-7: Change pmm client setup --- pmm_qa/tasks/install_pmm_client.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pmm_qa/tasks/install_pmm_client.yml b/pmm_qa/tasks/install_pmm_client.yml index ac987228..00a36e79 100644 --- a/pmm_qa/tasks/install_pmm_client.yml +++ b/pmm_qa/tasks/install_pmm_client.yml @@ -214,12 +214,12 @@ - name: Connect pmm client to pmm server using metrics mode shell: > - docker exec -u root {{ container_name }} env PMM_AGENT_SETUP_NODE_NAME="{{ container_name }}_{{ random_node_name_suffix }}" pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }}_{{ random_node_name_suffix }} + docker exec -u root {{ container_name }} env PMM_AGENT_SETUP_NODE_NAME="{{ container_name }}{{ random_node_name_suffix }}" pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }}{{ random_node_name_suffix }} when: metrics_mode | length > 0 - name: Connect pmm client to pmm server without metrics mode shell: > - docker exec -u root {{ container_name }} env PMM_AGENT_SETUP_NODE_NAME="{{ container_name }}_{{ random_node_name_suffix }}" pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --server-username=admin --server-password={{ admin_password }} {{ container_name }}_{{ random_node_name_suffix }} + docker exec -u root {{ container_name }} env PMM_AGENT_SETUP_NODE_NAME="{{ container_name }}{{ random_node_name_suffix }}" pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --server-username=admin --server-password={{ admin_password }} {{ container_name }}{{ random_node_name_suffix }} when: metrics_mode | length == 0 - name: Wait 5 seconds for connection to complete From 34238eca518c771f5f77121e206e11a4cc944383 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 16 Oct 2025 12:17:39 +0200 Subject: [PATCH 92/94] PMM-7: Change pmm client setup --- pmm_psmdb-pbm_setup/start-sharded.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm_psmdb-pbm_setup/start-sharded.sh b/pmm_psmdb-pbm_setup/start-sharded.sh index 43bb08d0..ed9c26d9 100755 --- a/pmm_psmdb-pbm_setup/start-sharded.sh +++ b/pmm_psmdb-pbm_setup/start-sharded.sh @@ -272,6 +272,7 @@ echo "configuring pmm-agent on primary rscfg01 for mongos instance" docker compose -f docker-compose-sharded.yaml exec -T rscfg01 pmm-admin add mongodb --agent-password=mypass --cluster=sharded --environment=mongo-sharded-dev --username=${pmm_user} --password=${pmm_pass} mongos_${random_number} mongos:27017 echo "adding some data" +docker exec mongos yum install -y wget docker exec mongos wget -O mgodatagen_linux_amd64.tar.gz https://github.com/feliixx/mgodatagen/releases/download/v0.12.0/mgodatagen_0.12.0_darwin_amd64.tar.gz docker exec mongos tar -xzf mgodatagen_linux_amd64.tar.gz docker exec mongos mv mgodatagen /usr/local/bin/ From ba8881caee2deef32b5a841ce332e80e51147852 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Fri, 17 Oct 2025 07:19:40 +0200 Subject: [PATCH 93/94] PMM-7: Change pmm client setup --- pmm_qa/percona_server/data/my.cnf.j2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pmm_qa/percona_server/data/my.cnf.j2 b/pmm_qa/percona_server/data/my.cnf.j2 index fd4b27f2..3f8bbc97 100644 --- a/pmm_qa/percona_server/data/my.cnf.j2 +++ b/pmm_qa/percona_server/data/my.cnf.j2 @@ -1,2 +1,3 @@ [mysqld] -userstat=1 \ No newline at end of file +userstat=1 +innodb_buffer_pool_size=256M \ No newline at end of file From 17993f07c21f1c12e7c00e8dbd5f6030096b874f Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Fri, 17 Oct 2025 07:29:25 +0200 Subject: [PATCH 94/94] PMM-7: Change pmm client setup --- pmm_qa/percona_server/tasks/percona-server-setup-single.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pmm_qa/percona_server/tasks/percona-server-setup-single.yml b/pmm_qa/percona_server/tasks/percona-server-setup-single.yml index 9fbad84c..bf564fa1 100644 --- a/pmm_qa/percona_server/tasks/percona-server-setup-single.yml +++ b/pmm_qa/percona_server/tasks/percona-server-setup-single.yml @@ -20,6 +20,9 @@ volumes: - "{{ data_dir }}/node{{ item }}/my.cnf:/etc/mysql/my.cnf" - "{{ data_dir }}/node{{ item }}/data:/var/lib/mysql" + memory: "2g" + memory_reservation: "1g" + memory_swap: "4g" loop: "{{ range(1, nodes_count | int + 1) | list }}" - name: Wait for MySQL to be available