From 10e86b7e09a71a4817f1d11f202d1686767bb574 Mon Sep 17 00:00:00 2001 From: Yurii Rochniak Date: Mon, 19 Sep 2016 14:03:28 +0300 Subject: [PATCH 01/14] Add ability to change sonar data location --- templates/sonar.properties.erb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/templates/sonar.properties.erb b/templates/sonar.properties.erb index c3a0e1df..78b0ee32 100644 --- a/templates/sonar.properties.erb +++ b/templates/sonar.properties.erb @@ -204,6 +204,22 @@ sonar.jdbc.timeBetweenEvictionRunsMillis: <% if @jdbc['time_between_eviction_ru <% end -%> +#--------------------------------------------------------- +# DATA FILES PROPERTIES +#--------------------------------------------------------- + +# Paths to persistent data files (embedded database and search index) and temporary files. +# Can be absolute or relative to installation directory. +# Defaults are respectively /data and /temp + +<% if !@path.empty? -%> +sonar.path.data: <% if @path['data'] %><%= @path['data'] %><% else %>data<% end %> +sonar.path.temp: <% if @path['temp'] %><%= @path['data'] %><% else %>temp<% end %> +<% else -%> +#sonar.path.data=data +#sonar.path.temp=temp +<% end -%> + #--------------------------------------------------------- # UPDATE CENTER #--------------------------------------------------------- From 7eb62034179945aced776ab75ba2514226b77127 Mon Sep 17 00:00:00 2001 From: Yurii Rochniak Date: Mon, 19 Sep 2016 17:11:09 +0300 Subject: [PATCH 02/14] data_dir and temp_dir declaration Adding ability to specify custom directory for sonar data and temp directory --- manifests/init.pp | 61 ++++++++++++++++++++++++++++++++-- templates/logback.xml.erb | 8 ++--- templates/sonar.properties.erb | 13 +++++--- 3 files changed, 70 insertions(+), 12 deletions(-) diff --git a/manifests/init.pp b/manifests/init.pp index 3a96b781..756b04eb 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -19,6 +19,8 @@ $service = 'sonar', $installroot = '/usr/local', $home = undef, + $data_dir = undef, + $temp_dir = undef, $host = undef, $port = 9000, $portAjp = -1, @@ -42,7 +44,7 @@ min_evictable_idle_time_millis => '600000', time_between_eviction_runs_millis => '30000', }, - $log_folder = '/var/local/sonar/logs', + $log_folder = undef, $updatecenter = true, $http_proxy = {}, $profile = false, @@ -71,6 +73,19 @@ } else { $real_home = '/var/local/sonar' } + + if $data_dir != undef { + $real_data_dir = $data_dir + } else { + $real_data_dir = "${real_home}/data" + } + + if $log_folder != undef { + $real_log_folder = $log_folder + } else { + $real_log_folder = '/var/local/sonar/logs' + } + Sonarqube::Move_to_home { home => $real_home, } @@ -125,8 +140,48 @@ target => "${installroot}/${package_name}-${version}", notify => Service['sonarqube'], } - -> - sonarqube::move_to_home { 'data': } + if $data_dir != undef { + exec { 'create_data_dir': + command => "mkdir -p ${real_data_dir}", + creates => $real_data_dir, + require => File[$real_home], + } + -> + file { $real_data_dir: + ensure => directory, + owner => $user, + group => $group, + } + } + if $temp_dir != undef { + exec { 'create_temp_dir': + command => "mkdir -p ${temp_dir}", + creates => $temp_dir, + require => File[$real_home], + } + -> + file { $temp_dir: + ensure => directory, + owner => $user, + group => $group, + } + } + if $log_folder != undef { + exec { 'create_log_folder': + command => "mkdir -p ${real_log_folder}", + creates => $real_log_folder, + require => File[$real_home], + } + -> + file { $real_log_folder: + ensure => directory, + owner => $user, + group => $group, + } + } + sonarqube::move_to_home { 'data': + require => File[$real_home], + } -> sonarqube::move_to_home { 'extras': } -> diff --git a/templates/logback.xml.erb b/templates/logback.xml.erb index f583ee5f..56a87596 100644 --- a/templates/logback.xml.erb +++ b/templates/logback.xml.erb @@ -22,9 +22,9 @@ - <%= @log_folder %>/sonar.log + <%= @real_log_folder %>/sonar.log - + @@ -48,9 +48,9 @@ <%= "