Hi,
I’m new to Chef and I’m having some trouble setting up our Chef server, or
at least it seems that we’re trying to do something thats uncommon…
I’ll start by explaining our setup a little, or at least how we’d like it
to become.
-
2 management nodes (frontend):
- We have two frontend servers which function as our management
nodes. In theory we can run two standalone chef’s on both and
replicate the
DB. Not what we want, but I believe that should work without too much
trouble.
- We have two frontend servers which function as our management
- *2 database servers *(backend, but not specifically for Chef):
- We have a dedicated database platform which hosts PostgreSQL
(active backup setup). - We also have a Git repository on this platform, redundant on both.
- This platform runs all our production databases (chef being one of
them).
- We have a dedicated database platform which hosts PostgreSQL
Since Chef is new in our infrastructure we want it to use the existing
database platform. We’d also like Chef to use the existing Git repository.
The way we see this is that data will be on de DB servers (PostgreSQL and
Git) and the management node will only contain configuration or as little
data as possible.
We’ve tried to edit /etc/opscode/chef-server.rb to point to a different DB
server but when we do this it simply won’t work.
The difference I’m noticing is that the standalone installation (local
pgsql) will run a bunch of DB queries, create databases, etc. but when I
set a different DB server it won’t do any of those.
Below the contents of our current chef-server.rb:
postgresql[‘enable’] = false
postgresql[‘vip’] = 'postgresql.server.local’
postgresql[‘port’] = '5432’
postgresql[‘version’] = '9.1’
postgresql[‘sql_user’] = 'opscode_pgsql’
postgresql[‘sql_password’] = '’
postgresql[‘sql_ro_user’] = 'opscode_pgsql_ro’
postgresql[‘sql_ro_password’] = '’
oc_id[‘sql_user’] = 'oc_id’
oc_id[‘sql_password’] = '’
oc_bifrost[‘sql_user’] = 'bifrost’
oc_bifrost[‘sql_password’] = '’
oc_bifrost[‘sql_ro_user’] = 'bifrost_ro’
oc_bifrost[‘sql_ro_password’] = ‘****’
When looking at the local pgsql I can see there are 4 databases and a few
users. I’ve created all of those on our DB server. But even then no luck,
it seems the databases aren’t populated and thus Chef won’t work.
One thing I don’t want to do is put all chef software on the DB server and
create a Chef backend (as documented), that would still create a second DB
instead of using the one that’s already there. Another reason for us not
trying this is that we don’t want the Chef software to populate the DB
server, it has a dedicated Job as a DB server and we’d like to keep that as
clean as possible.
This is basically where I’m stuck, I’ve tried allot of options but I can’t
seem to get this to work.
The installation is on a CentOS 6.6 server, up to this point the
installation has been from scratch so there’s data at this point.
Does anyone have experience with moving the DB away from a standalone
installation? What am I missing?
Also, since I havent even gotten to the Git part yet, will I get similar
issues when I try to use an external Git for Chef? Is it even possible?
Thanks in advance!
–
Bart G.