Commit graph

128 commits

Author SHA1 Message Date
Kevin Fenzi
48a207abc1 db-koji01: Some adjustments to avoid any outages
Using the 'fix outage' clause in freeze here. ;)

Basically adjust db-koji01 to use more memory and avoid
saturating i/o. With these settings, page loads look faster
and i/o is not saturated. We should try adding more cpus and such,
but that will require a reboot, so avoiding for now.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-08-26 10:46:03 -07:00
Kevin Fenzi
eb3801edc7 postgresql_server: split out postgres15 config and tweak
db-koji01 is our only postgresql 15 install so far, but split out the
config from the 12 one we are using on RHEL8 to avoid making changes
there.

Also, lets try tweaking things:
- I am bumping cpus up to 88
- Tweak max workers/etc
- Try a higher i/o level since this db server is running on a virthost
  with ssds.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-06-02 17:59:12 -07:00
Kevin Fenzi
2367f1f8ba Revert "postgresql / db-koji: re-add this connection cleanup"
This reverts commit 9a4a973b05.

Turns out this is broken and hasn't worked for a long time. ;(
2023-06-02 10:16:05 -07:00
Kevin Fenzi
9a4a973b05 postgresql / db-koji: re-add this connection cleanup
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-06-02 10:03:24 -07:00
Kevin Fenzi
567a69dd58 db-koji01: try not using this long running script anymore
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-06-01 15:15:52 -07:00
Kevin Fenzi
718a84c645 db-koji01: move to rhel9 and postgresql 15
Set host vars to move to rhel9 on next reinstall and setup postgresql 15
module.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-06-01 10:36:52 -07:00
Kevin Fenzi
6030f92f4a db-datanommer: some more backups adjustments
First we need to pipe stderr into the grep to filter out the timescaledb
warnings. So, |& does that.

Then, there's no reason to backup the staging database. Disable that.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-04-01 11:23:01 -07:00
Kevin Fenzi
87671c627b db-datanommer02: supress warnings from pg_dump
db-datanommer02 uses timescaledb. When you do a pg_dump there's warnings
due to this, but according to upstream they are all completely harmless.
So, to avoid an email to everyone every day, lets just try and supress
these, but yet hopefully not supress real errors if they every occur.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2023-03-31 12:24:33 -07:00
Michal Konečný
ae6c2b6508 [postgresql_server] Grant datanommer_ro access to datanommer2 db
The datanommer_ro user was created in the task, but never got privilege to read
from datanommer2 db. This commit is fixing that.

Signed-off-by: Michal Konečný <mkonecny@redhat.com>
2023-03-31 08:25:58 +00:00
Adam Williamson
e6746d768b postgresql_server: update for modern Fedora
Looks like this role hasn't been used on a Fedora box for a
while so things are kinda broken. Re-arrange all the package
install sections to be together, use newer package names on
Fedora (the Fedora and EL >= 8 sections are identical for now
but I figured I'd keep them separate in case that changes), and
use the newer config file, not the older one, on Fedora.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-06-07 15:40:56 -07:00
Kevin Fenzi
73b0029f20 postgresql server: double work_mem
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2022-02-10 13:06:59 -08:00
Aurélien Bompard
78da9de518
Also setup timescaledb on db-datanommer01 in staging
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2021-11-17 11:23:27 +01:00
Kevin Fenzi
79e99af9ce postgresql_server: Do not run the timescaledb setup on all the staging db servers.
We only want to run this on db-datanommer02, not that and all the other
staging postgresql servers. :)

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2021-09-30 15:49:33 -07:00
Aurélien Bompard
530d4672de
Syntax fix
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2021-09-17 10:47:06 +02:00
Aurélien Bompard
bd3a1b3912
Datanommer: enable the timescaledb extension on the DB
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2021-09-17 10:45:52 +02:00
Aurélien Bompard
4b4f1b99d8
datanommer: create the database and users
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2021-09-17 10:26:00 +02:00
Aurélien Bompard
4cf50fdad2
datanommer02: deploy timescaledb
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2021-09-17 09:55:32 +02:00
Aurélien Bompard
73f19b84e3
Use import instead of include
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2021-08-10 10:54:18 +02:00
Aurélien Bompard
76d3ead677
Deploy TimescaleDB on staging datanommer DB
Signed-off-by: Aurélien Bompard <aurelien@bompard.org>
2021-08-10 10:37:24 +02:00
Kevin Fenzi
c1d0206256 postgresql: up connection limit to 2000
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2021-07-31 09:04:21 -07:00
Kevin Fenzi
e25775ed59 postgresql: fix db-fas01.stg breakage from playbook runs
In prod db-fas01 is rhel7 and uses postgresql 9.6.
In staging db-fas01.stg is rhel8, and should also use postgresql 9.6,
but we were blanket making rhel8 hosts use postgresql 12.
We could drop this by reinstalling db-fas01.stg with rhel7, or waiting
until we finally kill fas2 and just setting them both to use postgresql
12.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2021-07-26 13:53:56 -07:00
Kevin Fenzi
2379b465ab postgres / server / koji sessions script: remove
Turns out copy module doesn't actually have a 'absent' state.
So, just remove this (we no longer need it as there's a timer on koji
hub that does this from there).

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-08-26 13:50:33 -07:00
Kevin Fenzi
72424c52fb postgresql / db-koji01: allow adjusting max_workers and friends
db-koji01 has been running with this since before the mass rebuild, and
it seems to make it have a higher load, but process faster and without
stalling when doing backups or when long/bad koji-gc queries for old
versions of texlive hit it.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-08-05 16:28:08 -07:00
Kevin Fenzi
310a64c713 postgresql / db-koji: adjust postgresl some more
Turns out we were not setting effective_cache_size even tho it was set
for some servers (pagure). Adjust a few parameters on db-koji to try and
get some more performance out of it.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-07-22 16:23:33 -07:00
Kevin Fenzi
e2b5c6a42c postgresql_server: check for existance of vars
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-06-22 15:16:27 -07:00
Kevin Fenzi
8530a1c075 postgresql_server: new shiny template .conf file for postgresql 12
I took the default postgresql.conf from postgresql 12 and then added in
various changes we already manually made and variable substitions we
already had setup back in the postgresq 9.2 days.

This will apply to db-koji01, db-qa01, db-datanommer01 at least.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-06-22 15:08:23 -07:00
Kevin Fenzi
d92ff41412 postgresql: do NOT put a recovery.conf file on db-koji01 anymore
In phx2 we had a warm standby database host (db-koji02), but we no
longer have that host in iad2, so we shouldn't try and make db-koji01
handle that. Also, this was just changed mistakenly as it's the warm
standby host that should get the recovery.conf file.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-06-21 09:20:12 -07:00
Kevin Fenzi
f2a1a3f203 postgresql_server: make sure db-koji01 gets the right backup script.
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-06-18 18:54:12 -07:00
Kevin Fenzi
98ccbf3156 postgresql / servers: fix db-fas01 not having temp_buffers and rename backup-database for db-koji01
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-06-16 14:58:36 -07:00
Stephen Smoogen
12c486cda3 remove some hosts in inventory file which do not exist in IAD2. 2020-06-14 19:51:27 -04:00
Kevin Fenzi
ab7d661781 koji hub: re-enable gc jobs, disable session cleanup on db-koji01
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-06-11 12:08:59 -07:00
Kevin Fenzi
2fe67cd8c1 postgresql-server: fix indent
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-06-10 11:55:55 -07:00
Stephen Smoogen
7ed926aafc backup-database needs to be installed on all postgres boxes 2020-06-09 15:04:43 -04:00
Stephen Smoogen
b0c389b2dc make backups on all systems 2020-06-09 15:01:30 -04:00
Stephen Smoogen
e76b85ec2d and this will unfix my fix by fixing the other fix for postgres 2020-06-09 14:51:04 -04:00
Stephen Smoogen
422265dc0b RHEL-8 postgres boxes needed pxz and other items spelled out 2020-06-09 14:47:38 -04:00
Stephen Smoogen
3015b75976 remove db-koji02 as it is now db-koji01 2020-06-09 14:29:28 -04:00
Pierre-Yves Chibon
6710db8d0d Make some more of the postgresql configuration key adjustable
Basically, if the variables are defined in the host, use them, otherwise
use the current values.

Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
2020-05-22 09:08:00 +00:00
Kevin Fenzi
b9eed95b04 db-fas01.iad2: move back to rhel7, fas is not happy with new postgres
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-05-20 14:40:29 -07:00
Kevin Fenzi
c034afc53c postgresql server: fix indent
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-05-19 12:20:58 -07:00
Kevin Fenzi
e918a3b08f postgresql / server: enable the postgresql 12 module on rhel8 hosts
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-05-19 12:16:45 -07:00
Pierre-Yves Chibon
13ad0cea66 postgresql_server: do not install our current postgresql.conf on RHEL8
Our postgresql.conf is from postgresql 9.2 while RHEL8 ships 10.x which
leads to postgresql no longer wanting to start (as seen on pagure-stg01).

Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
2020-04-24 21:34:29 +02:00
Pierre-Yves Chibon
e7673a2538 postgresql_server: adjust the name of the packages for RHEL8
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
2020-04-24 21:34:29 +02:00
Pierre-Yves Chibon
56cf212d1f postgresql_server: there is no python2-psycopg on RHEL8, so use python3
Signed-off-by: Pierre-Yves Chibon <pingou@pingoured.fr>
2020-04-24 21:34:29 +02:00
Kevin Fenzi
7242a1a583 db-koji02: actually deploy the right backup script
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-04-24 21:34:28 +02:00
Kevin Fenzi
bd50c6e4bc db-koji02: make sure backup uses all cpus
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-04-24 21:34:28 +02:00
Kevin Fenzi
fd6a78e876 postgresql_server: increase autovacuum_freeze_max_age to avoid autovaccum locking the buildroot_listing table (for a while more)
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-04-24 21:34:21 +02:00
Kevin Fenzi
e93d539e29 postgresql_server: also set this on db-koji02 ad they have to match
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-04-24 21:34:20 +02:00
Kevin Fenzi
b4f82f8e38 postgresql_server: adjust connections only for db-koji01, leave pagure01 and others back at 750
Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-04-24 21:34:20 +02:00
Kevin Fenzi
fa46e8bc0e koji_hub: switch to event workers in apache and bump limits way up.
By default apache uses prefork and a limit of 250. It's possible that this limit was
the thing causing us issues over the last week. This moves to the event mpm and ups limits
a lot. It also needs to up limits on db connections or the increased workers will just
cause the db server to overload.

With this setup, builders are no longer dropping out, but it's not clear if it's solved
all the issues we have been seeing.

Signed-off-by: Kevin Fenzi <kevin@scrye.com>
2020-04-24 21:34:20 +02:00