[chef] Problems with the standalone installation - using an external database and git repository


Chronological Thread 
  • From: Bart < >
  • To:
  • Subject: [chef] Problems with the standalone installation - using an external database and git repository
  • Date: Fri, 6 Feb 2015 10:38:30 +0100

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.
  • 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).

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.



Archive powered by MHonArc 2.6.16.

§