Skip to content

Commit 61f6ce4

Browse files
author
Mohit Joshi
committed
Fixed the package and tarball tests for PG TDE
1 parent 3d6cefe commit 61f6ce4

File tree

23 files changed

+100
-64
lines changed

23 files changed

+100
-64
lines changed

postgresql/package_testing/debian11/Vagrantfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ Vagrant.configure("2") do |config|
55
path: "provision.sh",
66
env: {
77
"REPO" => ENV['REPO'],
8-
"PG_VERSION" => ENV['PG_VERSION']
8+
"PG_VERSION" => ENV['PG_VERSION'],
9+
"PG_MAJOR" => ENV['PG_MAJOR']
910
}
1011
end

postgresql/package_testing/debian11/provision.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@ wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb
1212
sudo dpkg -i percona-release_latest.generic_all.deb
1313
sudo percona-release enable-only ppg-$PG_VERSION $REPO
1414
sudo apt-get update
15-
sudo apt-get install -y percona-postgresql-17
15+
sudo apt-get install -y percona-postgresql-$PG_MAJOR
16+
sudo apt-get install -y percona-pg-tde$PG_MAJOR
1617

1718
# Add pg_tde extension in shared_preload_libraries in the PGCONF and restart server
18-
sudo sed -i -E "s|^\s*shared_preload_libraries\s*=\s*'[^']*'|shared_preload_libraries = 'pg_tde,percona_pg_telemetry'|" /etc/postgresql/17/main/postgresql.conf
19+
sudo sed -i -E "s|^\s*#shared_preload_libraries\s*=\s*'[^']*'|shared_preload_libraries = 'pg_tde'|" /etc/postgresql/$PG_MAJOR/main/postgresql.conf
20+
1921
sudo systemctl restart postgresql
2022

2123
# Test pg_tde
@@ -75,5 +77,5 @@ EOF
7577
# Stop server
7678
sudo systemctl stop postgresql
7779

78-
# Uninstall PG 17.5
79-
sudo apt-get -y remove percona-postgresql-17
80+
# Uninstall PG package
81+
sudo apt-get -y remove percona-postgresql-$PG_MAJOR
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
Vagrant.configure("2") do |config|
22
config.vm.box = "debian/bookworm64"
3-
config.vm.network "forwarded_port", guest: 5432, host: 5433
3+
config.vm.network "forwarded_port", guest: 5432, host: 5434
44
config.vm.provision "shell",
55
path: "provision.sh",
66
env: {
77
"REPO" => ENV['REPO'],
8-
"PG_VERSION" => ENV['PG_VERSION']
8+
"PG_VERSION" => ENV['PG_VERSION'],
9+
"PG_MAJOR" => ENV['PG_MAJOR']
910
}
1011
end

postgresql/package_testing/debian12/provision.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@ wget https://repo.percona.com/apt/percona-release_latest.generic_all.deb
1212
sudo dpkg -i percona-release_latest.generic_all.deb
1313
sudo percona-release enable-only ppg-$PG_VERSION $REPO
1414
sudo apt-get update
15-
sudo apt-get install -y percona-postgresql-17
15+
sudo apt-get install -y percona-postgresql-$PG_MAJOR
16+
sudo apt-get install -y percona-pg-tde$PG_MAJOR
1617

1718
# Add pg_tde extension in shared_preload_libraries in the PGCONF and restart server
18-
sudo sed -i -E "s|^\s*shared_preload_libraries\s*=\s*'[^']*'|shared_preload_libraries = 'pg_tde,percona_pg_telemetry'|" /etc/postgresql/17/main/postgresql.conf
19+
sudo sed -i -E "s|^\s*#shared_preload_libraries\s*=\s*'[^']*'|shared_preload_libraries = 'pg_tde'|" /etc/postgresql/$PG_MAJOR/main/postgresql.conf
20+
1921
sudo systemctl restart postgresql
2022

2123
# Test pg_tde
@@ -75,5 +77,5 @@ EOF
7577
# Stop server
7678
sudo systemctl stop postgresql
7779

78-
# Uninstall PG 17.5
79-
sudo apt-get -y remove percona-postgresql-17
80+
# Uninstall PG package
81+
sudo apt-get -y remove percona-postgresql-$PG_MAJOR
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
Vagrant.configure("2") do |config|
22
config.vm.box = "generic/oracle8"
3-
config.vm.network "forwarded_port", guest: 5432, host: 5433
3+
config.vm.network "forwarded_port", guest: 5432, host: 5435
44
config.vm.provision "shell",
55
path: "provision.sh",
66
env: {
77
"REPO" => ENV['REPO'],
8-
"PG_VERSION" => ENV['PG_VERSION']
8+
"PG_VERSION" => ENV['PG_VERSION'],
9+
"PG_MAJOR" => ENV['PG_MAJOR']
910
}
1011
end

postgresql/package_testing/ol8/provision.sh

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ sudo percona-release enable-only ppg-$PG_VERSION $REPO
1111
sudo dnf module disable postgresql -y
1212
sudo dnf clean all
1313
sudo dnf makecache
14-
sudo dnf install -y percona-postgresql17-contrib percona-postgresql17-server
14+
sudo dnf install -y percona-postgresql$PG_MAJOR-contrib percona-postgresql$PG_MAJOR-server percona-pg_tde$PG_MAJOR
1515
# Initialize Datadir
16-
sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
16+
sudo /usr/pgsql-$PG_MAJOR/bin/postgresql-$PG_MAJOR-setup initdb
1717
# Start PG server
18-
sudo systemctl start postgresql-17
18+
sudo systemctl start postgresql-$PG_MAJOR
1919

2020
# Add pg_tde extension in shared_preload_libraries in the PGCONF and restart server
21-
sudo sed -i -E "s|^\s*shared_preload_libraries\s*=\s*'[^']*'|shared_preload_libraries = 'pg_tde,percona_pg_telemetry'|" /var/lib/pgsql/17/data/postgresql.conf
22-
sudo systemctl restart postgresql-17
21+
sudo sed -i -E "s|^\s*#shared_preload_libraries\s*=\s*'[^']*'|shared_preload_libraries = 'pg_tde,percona_pg_telemetry'|" /var/lib/pgsql/$PG_MAJOR/data/postgresql.conf
22+
sudo systemctl restart postgresql-$PG_MAJOR
2323

2424
# Test pg_tde
2525
rm -rf /tmp/keyring.per
@@ -46,7 +46,7 @@ ALTER SYSTEM SET pg_tde.wal_encrypt = 'ON';
4646
EOF
4747

4848
# Enable WAL encryption
49-
sudo systemctl restart postgresql-17
49+
sudo systemctl restart postgresql-$PG_MAJOR
5050

5151
sudo -u postgres psql <<EOF
5252
SELECT pg_tde_verify_key();
@@ -68,15 +68,15 @@ ALTER SYSTEM SET pg_tde.wal_encrypt = 'OFF';
6868
EOF
6969

7070
# Disable WAL encryption
71-
sudo systemctl restart postgresql-17
71+
sudo systemctl restart postgresql-$PG_MAJOR
7272

7373
sudo -u postgres psql <<EOF
7474
SHOW pg_tde.wal_encrypt;
7575
DROP EXTENSION pg_tde;
7676
EOF
7777

7878
# Stop server
79-
sudo systemctl stop postgresql-17
79+
sudo systemctl stop postgresql-$PG_MAJOR
8080

81-
# Uninstall PG 17.5
82-
sudo dnf remove -y percona-postgresql17-contrib percona-postgresql17-server
81+
# Uninstall PG packages
82+
sudo dnf remove -y percona-postgresql$PG_MAJOR-contrib percona-postgresql$PG_MAJOR-server
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
Vagrant.configure("2") do |config|
22
config.vm.box = "generic/oracle9"
3-
config.vm.network "forwarded_port", guest: 5432, host: 5433
3+
config.vm.network "forwarded_port", guest: 5432, host: 5436
44
config.vm.provision "shell",
55
path: "provision.sh",
66
env: {
77
"REPO" => ENV['REPO'],
8-
"PG_VERSION" => ENV['PG_VERSION']
8+
"PG_VERSION" => ENV['PG_VERSION'],
9+
"PG_MAJOR" => ENV['PG_MAJOR']
910
}
1011
end

postgresql/package_testing/ol9/provision.sh

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ sudo percona-release enable-only ppg-$PG_VERSION $REPO
1111
sudo dnf module disable postgresql -y
1212
sudo dnf clean all
1313
sudo dnf makecache
14-
sudo dnf install -y percona-postgresql17-contrib percona-postgresql17-server
14+
sudo dnf install -y percona-postgresql$PG_MAJOR-contrib percona-postgresql$PG_MAJOR-server percona-pg_tde$PG_MAJOR
1515
# Initialize Datadir
16-
sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
16+
sudo /usr/pgsql-$PG_MAJOR/bin/postgresql-$PG_MAJOR-setup initdb
1717
# Start PG server
18-
sudo systemctl start postgresql-17
18+
sudo systemctl start postgresql-$PG_MAJOR
1919

2020
# Add pg_tde extension in shared_preload_libraries in the PGCONF and restart server
21-
sudo sed -i -E "s|^\s*shared_preload_libraries\s*=\s*'[^']*'|shared_preload_libraries = 'pg_tde,percona_pg_telemetry'|" /var/lib/pgsql/17/data/postgresql.conf
22-
sudo systemctl restart postgresql-17
21+
sudo sed -i -E "s|^\s*#shared_preload_libraries\s*=\s*'[^']*'|shared_preload_libraries = 'pg_tde,percona_pg_telemetry'|" /var/lib/pgsql/$PG_MAJOR/data/postgresql.conf
22+
sudo systemctl restart postgresql-$PG_MAJOR
2323

2424
# Test pg_tde
2525
rm -rf /tmp/keyring.per
@@ -46,7 +46,7 @@ ALTER SYSTEM SET pg_tde.wal_encrypt = 'ON';
4646
EOF
4747

4848
# Enable WAL encryption
49-
sudo systemctl restart postgresql-17
49+
sudo systemctl restart postgresql-$PG_MAJOR
5050

5151
sudo -u postgres psql <<EOF
5252
SELECT pg_tde_verify_key();
@@ -68,15 +68,15 @@ ALTER SYSTEM SET pg_tde.wal_encrypt = 'OFF';
6868
EOF
6969

7070
# Disable WAL encryption
71-
sudo systemctl restart postgresql-17
71+
sudo systemctl restart postgresql-$PG_MAJOR
7272

7373
sudo -u postgres psql <<EOF
7474
SHOW pg_tde.wal_encrypt;
7575
DROP EXTENSION pg_tde;
7676
EOF
7777

7878
# Stop server
79-
sudo systemctl stop postgresql-17
79+
sudo systemctl stop postgresql-$PG_MAJOR
8080

81-
# Uninstall PG 17.5
82-
sudo dnf remove -y percona-postgresql17-contrib percona-postgresql17-server
81+
# Uninstall PG package
82+
sudo dnf remove -y percona-postgresql$PG_MAJOR-contrib percona-postgresql$PG_MAJOR-server

postgresql/package_testing/package_test.sh

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
#!/bin/bash
22

3-
# Use repo=testing | release to test the packages on testing repo or release repo
4-
repo=testing
5-
pg_version=17.6
6-
export REPO=$repo
7-
export PG_VERSION=$pg_version
3+
# Use REPO=testing | release to test the packages on testing repo or release repo
4+
export REPO=testing
5+
export PG_VERSION=17.7
6+
export PG_MAJOR=$(echo "$PG_VERSION" | cut -d. -f1)
87

98
for os in debian11 debian12 ol8 ol9 ubuntu22 ubuntu24; do
109
echo -e "\n=> Running tests on ${os^^}"
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
Vagrant.configure("2") do |config|
22
config.vm.box = "ubuntu/jammy64"
3-
config.vm.network "forwarded_port", guest: 5432, host: 5433
3+
config.vm.network "forwarded_port", guest: 5432, host: 5437
44
config.vm.provision "shell",
55
path: "provision.sh",
66
env: {
77
"REPO" => ENV['REPO'],
8-
"PG_VERSION" => ENV['PG_VERSION']
8+
"PG_VERSION" => ENV['PG_VERSION'],
9+
"PG_MAJOR" => ENV['PG_MAJOR']
910
}
1011
end

0 commit comments

Comments
 (0)