summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Raiskup <praiskup@redhat.com>2015-10-20 16:07:58 +0200
committerPavel Raiskup <praiskup@redhat.com>2015-10-20 16:07:58 +0200
commit8f67ed747a7ebfa1ccfb452a4e54862d7ac3ec43 (patch)
tree06237db1760318716da306bb6bd63ab83a2f08a7
parentc1587ed4343201b1850f54f9fa869cd37d1c7583 (diff)
downloadpostgresql-setup-tests-8f67ed747a7ebfa1ccfb452a4e54862d7ac3ec43.tar.gz
postgresql-setup-tests-8f67ed747a7ebfa1ccfb452a4e54862d7ac3ec43.tar.xz
postgresql-setup-tests-8f67ed747a7ebfa1ccfb452a4e54862d7ac3ec43.zip
generate-data: fixes needed for docker
Because we usually mount /var/lib/pgsql/data into container, scripts would fail on 'rm -rf /var/lib/pgsql/data'. * generate (GEN_DATA): Use $PGHOME/data/data. (single_task): Generate tarball from proper datadir. * prep: Use 'dnf' when necessary. Use /var/lib/pgsql/data/data directory.
-rwxr-xr-xpostgresql-tests/gen-data/generate4
-rwxr-xr-xpostgresql-tests/gen-data/prep44
2 files changed, 43 insertions, 5 deletions
diff --git a/postgresql-tests/gen-data/generate b/postgresql-tests/gen-data/generate
index d8ead6b..4269b9e 100755
--- a/postgresql-tests/gen-data/generate
+++ b/postgresql-tests/gen-data/generate
@@ -1,6 +1,6 @@
#!/bin/bash
-GEN_DATADIR=/var/lib/pgsql/data
+GEN_DATADIR=/var/lib/pgsql/data/data
CACHEDIR=/var/cache/dbt
OUTPUTDIR="$(pwd)/results"
SRCDIR="$(pwd)"
@@ -89,7 +89,7 @@ single_task()
service postgresql stop &>/dev/null || die "can't stop postgresql"
tarball="$OUTPUTDIR/$task_name.tar.gz"
- tar -czf "$tarball" -C /var/lib/pgsql/ data
+ tar -czf "$tarball" -C /var/lib/pgsql/data data
info "result tarball $tarball"
rm -rf "$tmpdir"
diff --git a/postgresql-tests/gen-data/prep b/postgresql-tests/gen-data/prep
index b5b19b5..d83dc6b 100755
--- a/postgresql-tests/gen-data/prep
+++ b/postgresql-tests/gen-data/prep
@@ -1,5 +1,43 @@
#!/bin/bash
-yum install -y wget postgresql-server unzip
-echo "LANG=en_US.UTF-8" > /etc/locale.conf
-rm -rf /var/lib/pgsql/data
+. /etc/os-release 2>/dev/null
+
+: "${VERSION_ID=0}"
+
+pkgmanager=yum
+
+verbose() { echo "$0: $*" ; }
+die() { echo "$*" ; exit 1; }
+
+awk_cmd='
+ /^Environment=PGDATA=\/var\/lib\/pgsql\/data$/ {
+ sub("/data", "/data/data");
+ print;
+ t = 1;
+ next;
+ }
+ /^OOMScoreAdjust=-1000$/ {
+ next ;
+ }
+ { print; }
+ END {exit (!t)}
+'
+
+test x"${ID}" = xfedora && test "$VERSION_ID" -gt 21 && pkgmanager=dnf
+
+verbose "installing necessary packages ($pkgmanager)"
+$pkgmanager install -y wget postgresql-server unzip initscripts
+
+verbose "setting up proper datadir"
+service_file=/usr/lib/systemd/system/postgresql.service
+{
+ cp "$service_file" "$service_file~" && \
+ awk "$awk_cmd" < "$service_file~" > "$service_file"
+} || die "can't set datadir to /var/lib/pgsql/data/data"
+
+loc="LANG=en_US.UTF-8"
+verbose "setting locale to $loc"
+echo "$loc" > /etc/locale.conf
+
+verbose "removing datadir"
+rm -rf /var/lib/pgsql/data/data