Advertisement
Guest User

Untitled

a guest
Jul 30th, 2014
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.79 KB | None | 0 0
  1.  
  2. db_host = node['pgd']['database']['host']
  3. db_port = node['pgd']['database']['port']
  4.  
  5. server_user = node['pgd']['database']['user']
  6. server_password = node['pgd']['database']['password']
  7.  
  8. db_user = node['pgd']['database']['user']
  9. db_pass = node['pgd']['database']['password']
  10.  
  11. # Myql connect info
  12. mysql_connection_info = {
  13.     :host => db_host,
  14.     :port => db_port,
  15.     :username => server_user || 'root',
  16.     :password => node['mysql']['server_root_password']
  17. }
  18.  
  19. # Postgres Connection info
  20. postgresql_connection_info = {
  21.   :host => db_host,
  22.   :username => server_user || 'postgres',
  23.   :password => server_password
  24. }
  25.  
  26. case node['pgd']['database']['engine'].split('.').last
  27. when 'mysql'
  28.   include_recipe "mysql::client"
  29.   include_recipe "database::mysql"
  30.   db_provider = Chef::Provider::Database::Mysql
  31.   db_user_provider = Chef::Provider::Database::MysqlUser
  32.   connection_info = mysql_connection_info
  33. when 'psycopg2', 'postgresql_psycopg2'
  34.   include_recipe "postgresql"
  35.   include_recipe "database::postgres"
  36.   db_provider = Chef::Provider::Database::Postgresql
  37.   db_user_provider = Chef::Provider::Database::PostgresqlUser
  38.   connection_info = postgresql_connection_info
  39. end
  40.  
  41. # Creating database
  42. log "Creating Database with name #{node['pgd']['database']['name']}"
  43. database node['pgd']['database']['name'] do
  44.   provider db_provider
  45.   connection connection_info
  46.   action :create
  47. end
  48.  
  49. # Create our user
  50. database_user db_user do
  51.   provider db_provider
  52.   connection connection_info
  53.   database_name node['pgd']['database']['name']
  54.   password db_pass
  55.   action :create
  56. end
  57.  
  58. # Give our user permissions to the DB
  59. database_user db_user do
  60.   provider db_user_provider
  61.   connection connection_info
  62.   database_name node['pgd']['database']['name']
  63.   privileges [:all]
  64.   action :grant
  65. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement