2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-22 18:08:16 +00:00

[#1811] hammer.py: set timezone in postgres

This commit is contained in:
Andrei Pavel 2021-04-19 12:42:30 +03:00
parent 71c35e2fb8
commit a15bb66e94
No known key found for this signature in database
GPG Key ID: 86E9385BC2203766

View File

@ -289,7 +289,7 @@ def execute(cmd, timeout=60, cwd=None, env=None, raise_error=True, dry_run=False
while p.poll() is None and (timeout is None or t1 - t0 < timeout): while p.poll() is None and (timeout is None or t1 - t0 < timeout):
line = p.stdout.readline() line = p.stdout.readline()
if line: if line:
line_decoded = line.decode(encoding='ascii', errors='ignore').rstrip() + '\r' line_decoded = line.decode(encoding='ascii', errors='ignore').rstrip()
if not quiet: if not quiet:
print(line_decoded) print(line_decoded)
if capture: if capture:
@ -959,6 +959,26 @@ def _install_gtest_sources():
os.unlink('/tmp/gtest.tar.gz') os.unlink('/tmp/gtest.tar.gz')
def _local_timezone():
_, output = execute('''
# timedatectl
if command -v timedatectl > /dev/null 2>&1; then
timedatectl | grep 'Time zone' | cut -d ':' -f 2 | cut -d '(' -f 1 | xargs
exit ${?}
fi
# brute force
for i in $(find /usr/share/zoneinfo | cut -d '/' -f 5- | grep -E '^[A-Z][a-z]+/[A-Z][a-z]+$' | sort -uV); do
unset TZ
if test "$(date)" = "$(TZ="${i}" date)"; then
printf '%s\n' "${i}"
break
fi
done
''', capture=True, quiet=True)
return output
def _configure_mysql(system, revision, features): def _configure_mysql(system, revision, features):
"""Configure MySQL database.""" """Configure MySQL database."""
if system in ['fedora', 'centos']: if system in ['fedora', 'centos']:
@ -1055,6 +1075,7 @@ def _configure_pgsql(system, features):
CREATE USER keatest_readonly WITH PASSWORD 'keatest'; CREATE USER keatest_readonly WITH PASSWORD 'keatest';
CREATE DATABASE keatest; CREATE DATABASE keatest;
GRANT ALL PRIVILEGES ON DATABASE keatest TO keatest; GRANT ALL PRIVILEGES ON DATABASE keatest TO keatest;
ALTER DATABASE keatest SET TIMEZONE='""" + _local_timezone() + "';\n"
cmd += 'EOF\n"' cmd += 'EOF\n"'
execute(cmd, cwd='/tmp') # CWD to avoid: could not change as postgres user directory to "/home/jenkins": Permission denied execute(cmd, cwd='/tmp') # CWD to avoid: could not change as postgres user directory to "/home/jenkins": Permission denied