I'm trying to figure out how best to create a reporting-only instance of 
Foreman. This is because the reports being run on my production cluster 
have a tendency to overwhelm the DB and cause performance issues.

My current idea:
Roll out a slave DB that's read-only, roll out a Foreman instance reading 
from the slave, tell all users to run reports against the r/o Foreman. I've 
done the first two items.

My current problem:
Passenger won't start because the DB is read only.

[ E 2017-11-10 12:53:27.1852 5260/Tr age/Cor/App/Implementation.cpp:304 ]: 
Could not spawn process for application /usr/share/foreman: An error 
occurred while starting up the preloader.
  Error ID: e350b8ee
  Error details saved to: /tmp/passenger-error-uysq1A.html
  Message from application: PG::Error: ERROR:  cannot execute UPDATE in a 
read-only transaction
: UPDATE "settings" SET "full_name" = NULL WHERE "settings"."category" IN 
('Setting::DefaultHostgroup') AND "settings"."id" = $1 
(ActiveRecord::StatementInvalid)


Is there an easy way to deal with this? While I'd love to find a magical 
bit to flip (didn't find one listed in the docs), I realize there might be 
some additional complexity here. For a limited deployment like this, I 
would consider some form of LB for reads vs writes (limited to this foreman 
instance).

Versions, OS, etc:
Foreman 1.12
PostgreSQL 9.4.9
RHEL 6
Puppet 3.8
(yes, I would love to upgrade, but I'm stuck on this setup for a little 
bit.)

-- 
You received this message because you are subscribed to the Google Groups 
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to