Skip to content
Draft
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
bc74823
PMM-7: Add test to verify tarball upgrade
peterSirotnak Apr 22, 2026
9eae21c
PMM-7: Fix tag
peterSirotnak Apr 22, 2026
c9a01dd
PMM-7: Fix container name
peterSirotnak Apr 22, 2026
4db4572
PMM-7: Fix container name
peterSirotnak Apr 22, 2026
2413444
PMM-7: Fix container name
peterSirotnak Apr 22, 2026
e85ae9e
PMM-7: Fix docker commands
peterSirotnak Apr 22, 2026
af77263
PMM-7: install pmm client tarball
peterSirotnak Apr 22, 2026
b22c4a6
PMM-7: install pmm client tarball
peterSirotnak Apr 22, 2026
cbaa3a6
PMM-7: install pmm client tarball
peterSirotnak Apr 22, 2026
ff724f8
PMM-7: install pmm client tarball
peterSirotnak Apr 22, 2026
694fbe1
PMM-7: install pmm client tarball
peterSirotnak Apr 23, 2026
747f9ab
PMM-7: install pmm client tarball
peterSirotnak Apr 23, 2026
7c8fdf2
PMM-7: install pmm client tarball
peterSirotnak Apr 23, 2026
090cb50
PMM-7: install pmm client tarball
peterSirotnak Apr 23, 2026
56e648a
PMM-7: install pmm client tarball
peterSirotnak Apr 23, 2026
acf0e85
Merge branch 'main' into PMM-15007
peterSirotnak Apr 23, 2026
a39dc4e
PMM-7: upgrade pmm client tarball
peterSirotnak Apr 23, 2026
cbdc7fa
PMM-7: upgrade pmm client tarball
peterSirotnak Apr 23, 2026
444a248
PMM-7: upgrade pmm client tarball
peterSirotnak Apr 23, 2026
d60a11c
PMM-7: upgrade pmm client tarball
peterSirotnak Apr 23, 2026
583e479
PMM-7: upgrade pmm client tarball
peterSirotnak Apr 23, 2026
42548f0
PMM-7: upgrade pmm client tarball
peterSirotnak Apr 23, 2026
281af6a
PMM-7: upgrade pmm client tarball
peterSirotnak Apr 24, 2026
56968c6
PMM-15007: Remove debug commands
peterSirotnak Apr 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions cli/tests/generic.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -564,4 +564,37 @@ test.describe('PMM Client "Generic" CLI tests', { tag: '@generic' }, async () =>
expect(metrics, `Metrics for Percona Distribution for PgSQL with non-encrypted pmm client config are not present!`).toContain(expectedValue);
}).toPass({ intervals: [2_000], timeout: 30_000 });
});

test('PMM-T9999 @generic', async ({}) => {
const containerName = 'tarball_client'
await cli.exec('docker network create pmm-qa || true');
await cli.exec('docker network connect pmm-server pmm-qa');
await cli.exec(`docker run --rm -d --name="${containerName}" --network="pmm-qa" --privileged --cgroupns=host -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v /var/lib/containerd antmelekhin/docker-systemd:almalinux-10`);
const latestReleasedVersion = (await cli.exec('wget -q https://registry.hub.docker.com/v2/repositories/percona/pmm-client/tags -O - | jq -r .results[].name | grep -v latest | sort -V | tail -n1')).stdout;
await cli.exec(`docker cp ../package_tests/scripts/pmm3_client_install_tarball.sh ${containerName}:/`)
await cli.exec(`docker exec ${containerName} dnf install -y wget`);
await cli.exec(`docker exec ${containerName} /pmm3_client_install_tarball.sh -v ${latestReleasedVersion}`);
await cli.exec(`docker exec ${containerName} pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --force --server-insecure-tls --server-address=pmm-server:8443 --server-username=admin --server-password=admin 127.0.0.1 generic tarball_node`);
await cli.exec(`docker exec -d ${containerName} pmm-agent --debug --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml`);
const adminStatus = await cli.exec(`docker exec ${containerName} pmm-admin status`);
const oldVersion = await cli.exec(`docker exec ${containerName} pmm-admin version | grep "Version:"`);
const oldPid = await cli.exec(`docker exec ${containerName} ps -C pmm-agent -o pid=`);

await adminStatus.outContains("Connected");
await oldVersion.outContains(latestReleasedVersion)
const tarballURL = process.env.PMM_CLIENT_VERSION!.includes("http") ? process.env.PMM_CLIENT_VERSION : 'https://pmm-build-cache.s3.us-east-2.amazonaws.com/PR-BUILDS/pmm-client/pmm-client-latest.tar.gz';

await cli.exec(`docker exec ${containerName} /pmm3_client_install_tarball.sh -v ${tarballURL} -u`);
await cli.exec(`docker exec ${containerName} pkill -f pmm-agent`);
await cli.exec(`docker exec -d ${containerName} pmm-agent --debug --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml`);

const newPid = await cli.exec(`docker exec ${containerName} ps -C pmm-agent -o pid=`);
const latestVersion = (await cli.exec('curl -s https://raw.githubusercontent.com/Percona-Lab/pmm-submodules/v3/VERSION')).stdout.trim();
const newAdminStatus = await cli.exec(`docker exec ${containerName} pmm-admin status`);
const newVersion = await cli.exec(`docker exec ${containerName} pmm-admin version | grep "Version:"`);

await newPid.outNotContains(oldPid.stdout);
await newAdminStatus.outContains("Connected");
await newVersion.outContains(latestVersion)
})
});
Loading