X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=3rdparty%2Fmodules%2Felasticsearch%2Fmanifests%2Finstance.pp;h=814fa7050c1710fb18ea2132392078bb1cb83017;hb=542fedb190e874d6c8191ddf671f2868007f3b27;hp=93ab6e5bd169dcf95d8ae3c233ad52dbd34049d8;hpb=92d0c5bf1a22bfee00eb48d1cc3862fda5343028;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/elasticsearch/manifests/instance.pp b/3rdparty/modules/elasticsearch/manifests/instance.pp index 93ab6e5bd..814fa7050 100644 --- a/3rdparty/modules/elasticsearch/manifests/instance.pp +++ b/3rdparty/modules/elasticsearch/manifests/instance.pp @@ -61,28 +61,32 @@ # [*init_defaults*] # Defaults file content in hash representation # +# [*init_defaults_file*] +# Defaults file as puppet resource +# # === Authors # # * Richard Pijnenburg # define elasticsearch::instance( - $ensure = $elasticsearch::ensure, - $status = $elasticsearch::status, - $config = undef, - $configdir = undef, - $datadir = undef, - $logging_file = undef, - $logging_config = undef, - $logging_template = undef, - $logging_level = $elasticsearch::default_logging_level, - $init_defaults = undef + $ensure = $elasticsearch::ensure, + $status = $elasticsearch::status, + $config = undef, + $configdir = undef, + $datadir = undef, + $logging_file = undef, + $logging_config = undef, + $logging_template = undef, + $logging_level = $elasticsearch::default_logging_level, + $init_defaults = undef, + $init_defaults_file = undef ) { require elasticsearch::params File { owner => $elasticsearch::elasticsearch_user, - group => $elasticsearch::elasticsearch_group + group => $elasticsearch::elasticsearch_group, } Exec { @@ -199,7 +203,7 @@ define elasticsearch::instance( command => "mkdir -p ${dirs}", creates => $instance_datadir, require => Class['elasticsearch::package'], - before => Elasticsearch::Service[$name] + before => Elasticsearch::Service[$name], } file { $instance_datadir: @@ -208,14 +212,14 @@ define elasticsearch::instance( group => undef, mode => '0644', require => [ Exec["mkdir_datadir_elasticsearch_${name}"], Class['elasticsearch::package'] ], - before => Elasticsearch::Service[$name] + before => Elasticsearch::Service[$name], } exec { "mkdir_configdir_elasticsearch_${name}": command => "mkdir -p ${instance_configdir}", creates => $elasticsearch::configdir, require => Class['elasticsearch::package'], - before => Elasticsearch::Service[$name] + before => Elasticsearch::Service[$name], } file { $instance_configdir: @@ -224,7 +228,7 @@ define elasticsearch::instance( purge => $elasticsearch::purge_configdir, force => $elasticsearch::purge_configdir, require => [ Exec["mkdir_configdir_elasticsearch_${name}"], Class['elasticsearch::package'] ], - before => Elasticsearch::Service[$name] + before => Elasticsearch::Service[$name], } file { "${instance_configdir}/logging.yml": @@ -234,13 +238,23 @@ define elasticsearch::instance( mode => '0644', notify => $notify_service, require => Class['elasticsearch::package'], - before => Elasticsearch::Service[$name] + before => Elasticsearch::Service[$name], + } + + file { "${instance_configdir}/scripts": + ensure => 'link', + target => "${elasticsearch::configdir}/scripts", } # build up new config $instance_conf = merge($main_config, $instance_node_name, $instance_config, $instance_datadir_config) # defaults file content + # ensure user did not provide both init_defaults and init_defaults_file + if (($init_defaults != undef) and ($init_defaults_file != undef)) { + fail ('Only one of $init_defaults and $init_defaults_file should be defined') + } + if (is_hash($elasticsearch::init_defaults)) { $global_init_defaults = $elasticsearch::init_defaults } else { @@ -264,7 +278,7 @@ define elasticsearch::instance( content => template("${module_name}/etc/elasticsearch/elasticsearch.yml.erb"), mode => '0644', notify => $notify_service, - require => Class['elasticsearch::package'] + require => Class['elasticsearch::package'], } $require_service = Class['elasticsearch::package'] @@ -285,12 +299,13 @@ define elasticsearch::instance( } elasticsearch::service { $name: - ensure => $ensure, - status => $status, - init_defaults => $init_defaults_new, - init_template => "${module_name}/etc/init.d/${elasticsearch::params::init_template}", - require => $require_service, - before => $before_service + ensure => $ensure, + status => $status, + init_defaults => $init_defaults_new, + init_defaults_file => $init_defaults_file, + init_template => "${module_name}/etc/init.d/${elasticsearch::params::init_template}", + require => $require_service, + before => $before_service, } }