Project

General

Profile

Download (2.39 KB) Statistics
| Branch: | Tag: | Revision:
# Candlepin Database Setup using Postgreql
class candlepin::database::postgresql{

$db_dialect = 'org.hibernate.dialect.PostgreSQLDialect'
$db_quartz_dialect = 'org.quartz.impl.jdbcjobstore.PostgreSQLDelegate'
$db_driver = 'org.postgresql.Driver'
$db_type = $::candlepin::db_type
$db_host = $::candlepin::db_host
$db_port = pick($::candlepin::db_port, 5432)
$db_name = $::candlepin::db_name
$db_user = $::candlepin::db_user
$db_password = $::candlepin::db_password
$enable_hbm2ddl_validate = $::candlepin::enable_hbm2ddl_validate

concat::fragment{'PostgreSQL Database Configuration':
target => $::candlepin::candlepin_conf_file,
content => template('candlepin/candlepin_database.conf.erb'),
}

if $candlepin::manage_db == true {
# Prevents errors if run from /root etc.
Postgresql_psql {
cwd => '/',
}

# Temporary direct use of liquibase to initiall migrate the candlepin database
# until support is added in cpdb - https://bugzilla.redhat.com/show_bug.cgi?id=1044574
include ::postgresql::client, ::postgresql::server
postgresql::server::db { $candlepin::db_name:
user => $candlepin::db_user,
password => postgresql_password($candlepin::db_user, $candlepin::db_password),
encoding => 'utf8',
locale => 'en_US.utf8',
} ~>
exec { 'cpdb':
path => '/bin:/usr/bin',
command => "liquibase --driver=org.postgresql.Driver \
--classpath=/usr/share/java/postgresql-jdbc.jar:/var/lib/${candlepin::tomcat}/webapps/candlepin/WEB-INF/classes/ \
--changeLogFile=db/changelog/changelog-create.xml \
--url=jdbc:postgresql:candlepin \
--username=${candlepin::db_user} \
--password=${candlepin::db_password} \
migrate \
-Dcommunity=False \
>> ${candlepin::log_dir}/cpdb.log \
2>&1 && touch /var/lib/candlepin/cpdb_done",
creates => "${candlepin::log_dir}/cpdb_done",
refreshonly => true,
before => Service[$candlepin::tomcat],
require => [
Package['candlepin'],
File['/etc/candlepin/candlepin.conf']
],
}

Postgresql::Server::Role[$candlepin::db_user] -> Postgresql::Server::Database[$candlepin::db_name]
}
}
(2-2/2)