diff --git a/manifests/database.pp b/manifests/database.pp index e9915dd..d4708af 100644 --- a/manifests/database.pp +++ b/manifests/database.pp @@ -1,13 +1,18 @@ # @summary Manage XDMoD databases # @api private -class xdmod::database { - include mysql::server +class xdmod::database inherits xdmod::params { + if $xdmod::params::db_host.match(/'localhost'|'127.0.0.1'/) { + include mysql::server + } else { + include mysql::client + } + Mysql::Db { ensure => 'present', user => $xdmod::database_user, password => $xdmod::database_password, - host => $xdmod::web_host, + host => $xdmod::db_grant_host, charset => 'latin1', collate => 'latin1_swedish_ci', grant => ['ALL'], diff --git a/manifests/init.pp b/manifests/init.pp index 33185a2..7e48b7b 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -66,6 +66,10 @@ # AKRR database password # @param web_host # FQDN of web host +# @param db_host +# FQDN of db host +# @param db_grant_host +# host part when assigning db grants # @param akrr_host # FQDN of AKRR host # @param scheduler @@ -291,16 +295,17 @@ Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl] $appkernels_package_url = $xdmod::params::appkernels_package_url, String $xdmod_supremm_package_name = $xdmod::params::xdmod_supremm_package_name, - Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl] - $xdmod_supremm_package_url = $xdmod::params::xdmod_supremm_package_url, + Variant[Stdlib::HTTPSUrl, Stdlib::HTTPUrl] $xdmod_supremm_package_url = $xdmod::params::xdmod_supremm_package_url, String[1] $php_mongodb_version = '1.16.2', - String $database_host = '127.0.0.1', - Integer $database_port = 3306, - String $database_user = 'xdmod', - String $database_password = 'changeme', - String $akrr_database_user = 'akrr', - String $akrr_database_password = 'changeme', - String $web_host = 'localhost', + String $database_host = '127.0.0.1', + Integer $database_port = 3306, + String $database_user = 'xdmod', + String $database_password = 'changeme', + String $akrr_database_user = 'akrr', + String $akrr_database_password = 'changeme', + String $web_host = 'localhost', + String $db_host = $xdmod::params::db_host, + String $db_grant_host = '%', String $akrr_host = 'localhost', Enum['slurm','torque','pbs','sge'] $scheduler = 'slurm', Optional[Variant[String, Array]] diff --git a/manifests/params.pp b/manifests/params.pp index 5a9567e..7e15204 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -8,7 +8,8 @@ $sender_email = "xdmod@xdmod.${facts['networking']['domain']}" $apache_vhost_name = "xdmod.${facts['networking']['domain']}" $portal_settings = {} - $hierarchy_levels = { + $db_host = 'localhost' + $hierarchy_levels = { 'top' => { 'label' => 'Hierarchy Top Level', 'info' => '' }, 'middle' => { 'label' => 'Hierarchy Middle Level', 'info' => '' }, 'bottom' => { 'label' => 'Hierarchy Bottom Level', 'info' => '' },