From dd600b1678c6f2d01679c35d042d6cb18caec8c1 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 13 Nov 2024 07:15:19 +0100 Subject: [PATCH 01/11] PMM-7: Test https with docker --- pmm/v3/pmm3-ui-tests-nightly.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index 1edc56dda8..f2d90a7097 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -20,12 +20,12 @@ void runStagingServer(String DOCKER_VERSION, CLIENT_VERSION, CLIENTS, CLIENT_INS env.VM_NAME = stagingJob.buildVariables.VM_NAME def clientInstance = "yes"; if ( CLIENT_INSTANCE == clientInstance ) { - env.PMM_URL = "http://admin:${ADMIN_PASSWORD}@${SERVER_IP}" + env.PMM_URL = "https://admin:${ADMIN_PASSWORD}@${SERVER_IP}" env.PMM_UI_URL = "http://${SERVER_IP}/" } else { - env.PMM_URL = "http://admin:${ADMIN_PASSWORD}@${VM_IP}" + env.PMM_URL = "https://admin:${ADMIN_PASSWORD}@${VM_IP}" env.PMM_UI_URL = "http://${VM_IP}/" } } From 350917b6e18710789ca1b03b435da5851fa628eb Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 21 Nov 2024 10:38:21 +0100 Subject: [PATCH 02/11] PMM-7: Change default pgsql and pdpgsql versions --- pmm/v3/pmm3-ui-tests-nightly.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index f2d90a7097..47363fd17f 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -291,7 +291,7 @@ pipeline { } stage('pdpgsql, pgsql and mysql') { steps { - runStagingClient(DOCKER_VERSION, CLIENT_VERSION, '--database pdpgsql --database pgsql --database mysql', 'yes', env.VM_IP, 'postgres-node', ENABLE_PULL_MODE, PXC_VERSION, PS_VERSION, MS_VERSION, PGSQL_VERSION, PDPGSQL_VERSION, MD_VERSION, PSMDB_VERSION, QUERY_SOURCE, ADMIN_PASSWORD) + runStagingClient(DOCKER_VERSION, CLIENT_VERSION, '--database pdpgsql=16 --database pgsql=16 --database mysql', 'yes', env.VM_IP, 'postgres-node', ENABLE_PULL_MODE, PXC_VERSION, PS_VERSION, MS_VERSION, PGSQL_VERSION, PDPGSQL_VERSION, MD_VERSION, PSMDB_VERSION, QUERY_SOURCE, ADMIN_PASSWORD) } } } From 9ac4d6eeffdfd20c0ea01dcb6838d2ebd2008e76 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 21 Nov 2024 12:25:30 +0100 Subject: [PATCH 03/11] PMM-7: Change default pgsql and pdpgsql versions --- pmm/v3/pmm3-ui-tests-nightly.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index 47363fd17f..829f906197 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -198,11 +198,11 @@ pipeline { description: 'MySQL Community Server version', name: 'MS_VERSION') choice( - choices: ['17', '16', '15','14', '13'], + choices: ['16', '15','14', '13'], description: "Which version of PostgreSQL", name: 'PGSQL_VERSION') choice( - choices: ['17', '16', '15','14', '13'], + choices: ['16', '15','14', '13'], description: 'Percona Distribution for PostgreSQL', name: 'PDPGSQL_VERSION') choice( From a136d614905102552cc38d9a93620f0717778d7b Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Thu, 21 Nov 2024 12:39:57 +0100 Subject: [PATCH 04/11] PMM-7: Change default pgsql and pdpgsql versions --- pmm/v3/pmm3-ui-tests-nightly.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index 829f906197..01b5b7a378 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -291,7 +291,7 @@ pipeline { } stage('pdpgsql, pgsql and mysql') { steps { - runStagingClient(DOCKER_VERSION, CLIENT_VERSION, '--database pdpgsql=16 --database pgsql=16 --database mysql', 'yes', env.VM_IP, 'postgres-node', ENABLE_PULL_MODE, PXC_VERSION, PS_VERSION, MS_VERSION, PGSQL_VERSION, PDPGSQL_VERSION, MD_VERSION, PSMDB_VERSION, QUERY_SOURCE, ADMIN_PASSWORD) + runStagingClient(DOCKER_VERSION, CLIENT_VERSION, '--database pdpgsql --database pgsql --database mysql', 'yes', env.VM_IP, 'postgres-node', ENABLE_PULL_MODE, PXC_VERSION, PS_VERSION, MS_VERSION, PGSQL_VERSION, PDPGSQL_VERSION, MD_VERSION, PSMDB_VERSION, QUERY_SOURCE, ADMIN_PASSWORD) } } } From b4f62919bc95482d4822ffea502b2ad66e64a61f Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 18 Dec 2024 08:59:07 +0100 Subject: [PATCH 05/11] PMM-13607: Status check for agents --- pmm/v3/pmm3-ui-tests-nightly.groovy | 39 +++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index e8dfaae114..001f5b12e6 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -107,6 +107,21 @@ void destroyStaging(IP) { string(name: 'VM', value: IP), ] } + +void checkClientNodesAgentStatus(String VM_CLIENT_IP) { + withCredentials([sshUserPrivateKey(credentialsId: 'aws-jenkins', keyFileVariable: 'KEY_PATH', passphraseVariable: '', usernameVariable: 'USER')]) { + sh """ + ssh -i "${KEY_PATH}" -o ConnectTimeout=1 -o StrictHostKeyChecking=no ${USER}@${VM_CLIENT_IP} ' + set -o errexit + set -o xtrace + echo "Checking Agent Status on Client Nodes"; + sudo chmod 755 /srv/pmm-qa/pmm-tests/agent_status.sh + bash -xe /srv/pmm-qa/pmm-tests/agent_status.sh + ' + """ + } +} + pipeline { agent { label 'min-focal-x64' @@ -322,6 +337,30 @@ pipeline { sleep 300 } } + stage('Check agent status') { + parallel { + stage('Check Agent Status on ps single and mongo pss') { + steps { + checkClientNodesAgentStatus(env.VM_CLIENT_IP_MYSQL) + } + } + stage('Check Agent Status on ps & replication node') { + steps { + checkClientNodesAgentStatus(env.VM_CLIENT_IP_PS_GR) + } + } + stage('Check Agent Status on ms/md/pxc node') { + steps { + checkClientNodesAgentStatus(env.VM_CLIENT_IP_PXC) + } + } + stage('Check Agent Status on postgresql node') { + steps { + checkClientNodesAgentStatus(env.VM_CLIENT_IP_PGSQL) + } + } + } + } stage('Run Tests') { parallel { stage('Run UI - Tests') { From 602490edfb0147ea20e74b1800d2ff75e6746793 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 18 Dec 2024 09:51:38 +0100 Subject: [PATCH 06/11] PMM-13607: Status check for agents --- pmm/v3/pmm3-ui-tests-nightly.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index 5f50f1bffd..95f96b3444 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -249,6 +249,8 @@ pipeline { sudo mkdir -p /srv/qa-integration || : sudo git clone --single-branch --branch \${PMM_QA_GIT_BRANCH} https://github.com/Percona-Lab/qa-integration.git /srv/qa-integration sudo chmod -R 755 /srv/qa-integration + sudo git clone --single-branch --branch \${PMM_QA_GIT_BRANCH} https://github.com/percona/pmm-qa.git /srv/pmm-qa + sudo chmod -R 755 /srv/pmm-qa ''' } } From fc953f2c2939a8f0b255ba70fdd37fa5b275be3a Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 18 Dec 2024 10:40:37 +0100 Subject: [PATCH 07/11] PMM-13607: Status check for agents --- pmm/v3/pmm3-ui-tests-nightly.groovy | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index 95f96b3444..3a988b2a04 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -115,6 +115,8 @@ void checkClientNodesAgentStatus(String VM_CLIENT_IP) { set -o errexit set -o xtrace echo "Checking Agent Status on Client Nodes"; + sudo git clone --single-branch --branch \${PMM_QA_GIT_BRANCH} https://github.com/percona/pmm-qa.git /srv/pmm-qa + sudo chmod -R 755 /srv/pmm-qa sudo chmod 755 /srv/pmm-qa/pmm-tests/agent_status.sh bash -xe /srv/pmm-qa/pmm-tests/agent_status.sh ' @@ -249,8 +251,7 @@ pipeline { sudo mkdir -p /srv/qa-integration || : sudo git clone --single-branch --branch \${PMM_QA_GIT_BRANCH} https://github.com/Percona-Lab/qa-integration.git /srv/qa-integration sudo chmod -R 755 /srv/qa-integration - sudo git clone --single-branch --branch \${PMM_QA_GIT_BRANCH} https://github.com/percona/pmm-qa.git /srv/pmm-qa - sudo chmod -R 755 /srv/pmm-qa + ''' } } From bd98ec10980e1d8b8b80a820591ac7fbae0dd8e9 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 18 Dec 2024 12:48:30 +0100 Subject: [PATCH 08/11] PMM-13607: Status check for agents --- pmm/v3/pmm3-ui-tests-nightly.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index 3a988b2a04..ee366343c1 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -115,6 +115,7 @@ void checkClientNodesAgentStatus(String VM_CLIENT_IP) { set -o errexit set -o xtrace echo "Checking Agent Status on Client Nodes"; + sudo mkdir -p /srv/pmm-qa || : sudo git clone --single-branch --branch \${PMM_QA_GIT_BRANCH} https://github.com/percona/pmm-qa.git /srv/pmm-qa sudo chmod -R 755 /srv/pmm-qa sudo chmod 755 /srv/pmm-qa/pmm-tests/agent_status.sh From b71639b5f7bef87ea4c609ea43a67c389e53fa00 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 18 Dec 2024 13:51:03 +0100 Subject: [PATCH 09/11] PMM-13607: Status check for agents --- pmm/v3/pmm3-ui-tests-nightly.groovy | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index ee366343c1..926849fcb7 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -108,7 +108,7 @@ void destroyStaging(IP) { ] } -void checkClientNodesAgentStatus(String VM_CLIENT_IP) { +void checkClientNodesAgentStatus(String VM_CLIENT_IP, PMM_QA_GIT_BRANCH) { withCredentials([sshUserPrivateKey(credentialsId: 'aws-jenkins', keyFileVariable: 'KEY_PATH', passphraseVariable: '', usernameVariable: 'USER')]) { sh """ ssh -i "${KEY_PATH}" -o ConnectTimeout=1 -o StrictHostKeyChecking=no ${USER}@${VM_CLIENT_IP} ' @@ -116,7 +116,7 @@ void checkClientNodesAgentStatus(String VM_CLIENT_IP) { set -o xtrace echo "Checking Agent Status on Client Nodes"; sudo mkdir -p /srv/pmm-qa || : - sudo git clone --single-branch --branch \${PMM_QA_GIT_BRANCH} https://github.com/percona/pmm-qa.git /srv/pmm-qa + sudo git clone --single-branch --branch $PMM_QA_GIT_BRANCH https://github.com/percona/pmm-qa.git /srv/pmm-qa sudo chmod -R 755 /srv/pmm-qa sudo chmod 755 /srv/pmm-qa/pmm-tests/agent_status.sh bash -xe /srv/pmm-qa/pmm-tests/agent_status.sh @@ -345,22 +345,22 @@ pipeline { parallel { stage('Check Agent Status on ps single and mongo pss') { steps { - checkClientNodesAgentStatus(env.VM_CLIENT_IP_MYSQL) + checkClientNodesAgentStatus(env.VM_CLIENT_IP_MYSQL, env.PMM_QA_GIT_BRANCH) } } stage('Check Agent Status on ps & replication node') { steps { - checkClientNodesAgentStatus(env.VM_CLIENT_IP_PS_GR) + checkClientNodesAgentStatus(env.VM_CLIENT_IP_PS_GR, env.PMM_QA_GIT_BRANCH) } } stage('Check Agent Status on ms/md/pxc node') { steps { - checkClientNodesAgentStatus(env.VM_CLIENT_IP_PXC) + checkClientNodesAgentStatus(env.VM_CLIENT_IP_PXC, env.PMM_QA_GIT_BRANCH) } } stage('Check Agent Status on postgresql node') { steps { - checkClientNodesAgentStatus(env.VM_CLIENT_IP_PGSQL) + checkClientNodesAgentStatus(env.VM_CLIENT_IP_PGSQL, env.PMM_QA_GIT_BRANCH) } } } From 515053abe7fe4431d68db82b39ad2ae09c656458 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 18 Dec 2024 14:42:19 +0100 Subject: [PATCH 10/11] PMM-13607: Status check for agents --- pmm/v3/pmm3-ui-tests-nightly.groovy | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index 926849fcb7..c850dbfedf 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -365,21 +365,17 @@ pipeline { } } } - stage('Run Tests') { - parallel { - stage('Run UI - Tests') { - options { - timeout(time: 150, unit: "MINUTES") - } - steps { - withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'PMM_AWS_DEV', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) { - sh """ - sed -i 's+http://localhost/+${PMM_UI_URL}/+g' pr.codecept.js - export PWD=\$(pwd); - npx codeceptjs run --reporter mocha-multi -c pr.codecept.js --grep '@qan|@nightly|@menu' - """ - } - } + stage('Run UI Tests') { + options { + timeout(time: 150, unit: "MINUTES") + } + steps { + withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'PMM_AWS_DEV', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) { + sh """ + sed -i 's+http://localhost/+${PMM_UI_URL}/+g' pr.codecept.js + export PWD=\$(pwd); + npx codeceptjs run --reporter mocha-multi -c pr.codecept.js --grep '@qan|@nightly|@menu' + """ } } } From 1ea20ed9bbaf0a9d789b320f58b38d9dd6dc4b83 Mon Sep 17 00:00:00 2001 From: Peter Sirotnak Date: Wed, 18 Dec 2024 16:01:32 +0100 Subject: [PATCH 11/11] PMM-13607: Fixed redundant code --- pmm/v3/pmm3-ui-tests-nightly.groovy | 1 - 1 file changed, 1 deletion(-) diff --git a/pmm/v3/pmm3-ui-tests-nightly.groovy b/pmm/v3/pmm3-ui-tests-nightly.groovy index c850dbfedf..7c1dc80987 100644 --- a/pmm/v3/pmm3-ui-tests-nightly.groovy +++ b/pmm/v3/pmm3-ui-tests-nightly.groovy @@ -373,7 +373,6 @@ pipeline { withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', credentialsId: 'PMM_AWS_DEV', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']]) { sh """ sed -i 's+http://localhost/+${PMM_UI_URL}/+g' pr.codecept.js - export PWD=\$(pwd); npx codeceptjs run --reporter mocha-multi -c pr.codecept.js --grep '@qan|@nightly|@menu' """ }