mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-10-31 21:44:23 +00:00
492fcf62e4
Remove a whole chunk of needles that haven't matched for more than 3 months. Also move a few needles to appropriate locations, simplify some code chunks that relied on removed needles (if we're not matching the needles, we don't need those chunks any more), and drop some other no-longer-needed conditionals for older releases. Signed-off-by: Adam Williamson <awilliam@redhat.com>
76 lines
3.4 KiB
Perl
76 lines
3.4 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use lockapi;
|
|
use mmapi;
|
|
use tapnet;
|
|
use utils;
|
|
|
|
sub run {
|
|
my $self=shift;
|
|
# use compose repo, disable u-t, etc.
|
|
repo_setup();
|
|
# deploy postgres directly ourselves. first, install packages...
|
|
assert_script_run 'dnf -y install postgresql-server postgresql-contrib', 300;
|
|
# configure the firewall
|
|
assert_script_run "firewall-cmd --permanent --add-service postgresql";
|
|
assert_script_run "systemctl restart firewalld.service";
|
|
# init the db
|
|
assert_script_run "/usr/bin/postgresql-setup --initdb";
|
|
# enable and start the systemd service
|
|
assert_script_run "systemctl enable postgresql.service";
|
|
assert_script_run "systemctl start postgresql.service";
|
|
# create the owner
|
|
assert_script_run 'su postgres -c "/usr/bin/createuser openqa"';
|
|
# create the database
|
|
assert_script_run 'su postgres -c "/usr/bin/createdb openqa -O openqa"';
|
|
# set the password. oh, god, the quotes. THE QUOTES. trying to
|
|
# get four layers of nested quotes properly escaped through
|
|
# perl, bash and postgres is futile, so we write the command
|
|
# to a file and call psql on the file
|
|
assert_script_run 'echo "ALTER ROLE openqa WITH PASSWORD \'correcthorse\'" > /tmp/cmd';
|
|
assert_script_run 'su postgres -c "psql openqa -f /tmp/cmd"';
|
|
# adjust postgresql.conf to allow network connections; sloppy
|
|
# version of how rolekit did it
|
|
assert_script_run 'sed -i -e "s,.*listen_addresses *=.*,listen_addresses=\'*\',g" /var/lib/pgsql/data/postgresql.conf';
|
|
# check that worked...
|
|
upload_logs "/var/lib/pgsql/data/postgresql.conf";
|
|
# adjust pg_hba.conf to use md5 authentication; sloppy version
|
|
# of how rolekit did it
|
|
assert_script_run 'sed -i -e "s,^host,#host,g" /var/lib/pgsql/data/pg_hba.conf';
|
|
assert_script_run 'echo "host all all all md5" >> /var/lib/pgsql/data/pg_hba.conf';
|
|
# check that worked...
|
|
upload_logs "/var/lib/pgsql/data/pg_hba.conf";
|
|
# restart the service
|
|
assert_script_run "systemctl restart postgresql.service";
|
|
# check we can connect to the database and create a table
|
|
assert_script_run 'su postgres -c "psql openqa -c \'CREATE TABLE test (testcol int);\'"';
|
|
# check we can add a row to the table
|
|
assert_script_run 'su postgres -c "psql openqa -c \'INSERT INTO test VALUES (5);\'"';
|
|
# check we can query the table
|
|
validate_script_output 'su postgres -c "psql openqa -c \'SELECT * FROM test;\'"', sub {$_ =~ m/^ *testcol.*5.*1 row/s };
|
|
# check we can modify the row
|
|
assert_script_run 'su postgres -c "psql openqa -c \'UPDATE test SET testcol = 50 WHERE testcol = 5;\'"';
|
|
validate_script_output 'su postgres -c "psql openqa -c \'SELECT * FROM test;\'"', sub {$_ =~ m/^ *testcol.*50.*1 row/s };
|
|
# we're all ready for other jobs to run!
|
|
mutex_create('db_ready');
|
|
wait_for_children;
|
|
# once child jobs are done, decommission the server a bit
|
|
assert_script_run 'su postgres -c "/usr/bin/dropdb -w --if-exists openqa"';
|
|
assert_script_run 'su postgres -c "/usr/bin/dropuser -w --if-exists openqa"';
|
|
# stop the server
|
|
assert_script_run 'systemctl stop postgresql.service';
|
|
# check server is stopped
|
|
assert_script_run '! systemctl is-active postgresql.service';
|
|
# FIXME check server is decommissioned...how?
|
|
}
|
|
|
|
|
|
sub test_flags {
|
|
return { fatal => 1 };
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|