Skip to content

Commit

Permalink
Put Solr data dirs outside the source tree on both AWS and Vagrant (#…
Browse files Browse the repository at this point in the history
  • Loading branch information
hackdna committed Mar 27, 2019
1 parent e3eaf26 commit a6ab488
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 45 deletions.
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,10 @@ Thumbs.db
.idea/
.project
.pydevproject
/refinery/*.pid
/refinery/solr/*/data
/refinery/solr/lib/
*.pid
/refinery/solr/*/conf/custom-synonyms.txt
/refinery/solr/**/conf/solrconfig.xml
/refinery/solr/lib/
supervisord.conf
codekit-config.json
.vagrant/
Expand Down
29 changes: 7 additions & 22 deletions deployment/puppet/refinery/manifests/params.pp
Original file line number Diff line number Diff line change
Expand Up @@ -80,34 +80,19 @@

$ui_app_root = "${django_root}/ui"

$data_dir = $deployment_platform ? {
'aws' => '/data',
default => "${project_root}",
}
$data_dir = '/data'

$import_dir = $deployment_platform ? {
'aws' => undef,
default => "${data_dir}/import",
'aws' => undef, # user data files are uploaded directly to S3 on AWS
default => "${project_root}/import",
}

$media_root = "${data_dir}/media"

$file_store_root = "${media_root}/file_store"

$solr_data_dir = $deployment_platform ? {
'aws' => "${data_dir}/solr",
default => undef,
$media_root = $deployment_platform ? {
'aws' => "${data_dir}/media",
default => "${project_root}/media",
}

$solr_data_set_manager_data = $deployment_platform ? {
'aws' => "${solr_data_dir}/data_set_manager",
default => undef,
}

$solr_core_data = $deployment_platform ? {
'aws' => "${solr_data_dir}/core",
default => undef,
}
$file_store_root = "${media_root}/file_store"

$solr_custom_synonyms_file = "${django_root}/solr/core/conf/custom-synonyms.txt"

Expand Down
42 changes: 24 additions & 18 deletions deployment/puppet/refinery/manifests/solr.pp
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
class refinery::solr (
$deployment_platform = $refinery::params::deployment_platform,
$app_user = $refinery::params::app_user,
$app_group = $refinery::params::app_group,
$data_dir = $refinery::params::data_dir,
$django_root = $refinery::params::django_root,
$solr_data_dir = $refinery::params::solr_data_dir,
$solr_core_data = $refinery::params::solr_core_data,
$solr_data_set_manager_data = $refinery::params::solr_data_set_manager_data,
$solr_lib_dir = $refinery::params::solr_lib_dir,
$data_dir = $refinery::params::data_dir
) inherits refinery::params {
$solr_version = '5.3.1'
$solr_archive = "solr-${solr_version}.tgz"
$solr_version = '5.3.1'
$solr_archive = "solr-${solr_version}.tgz"
$download_path = "/tmp/${solr_archive}"
$solr_url = "http://archive.apache.org/dist/lucene/solr/${solr_version}/${solr_archive}"
$solr_url = "http://archive.apache.org/dist/lucene/solr/${solr_version}/${solr_archive}"
$solr_data_dir = "${data_dir}/solr"
$solr_core_data = "${solr_data_dir}/core"
$solr_data_set_manager_data = "${solr_data_dir}/data_set_manager"

package { 'java':
name => 'openjdk-7-jdk',
Expand All @@ -21,20 +22,21 @@
ensure => directory,
}

if $deployment_platform == 'aws' {
file { [ $solr_data_dir, $solr_core_data, $solr_data_set_manager_data ]:
ensure => directory,
owner => $app_user,
group => $app_group,
mode => '0755',
before => Exec['solr_install'],
require => Mount[$data_dir],
}
file { [ $solr_data_dir, $solr_core_data, $solr_data_set_manager_data ]:
ensure => directory,
owner => $app_user,
group => $app_group,
mode => '0755',
before => Exec['solr_install'],
require => $deployment_platform ? {
'aws' => Mount[$data_dir],
default => File[$data_dir],
},
}

archive { 'solr_download':
path => "/tmp/${solr_archive}",
source => "${solr_url}",
path => $download_path,
source => $solr_url,
}
->
exec { 'solr_extract_installer':
Expand All @@ -47,11 +49,15 @@
file { "${django_root}/solr/core/conf/solrconfig.xml":
ensure => file,
content => template("${django_root}/solr/core/conf/solrconfig.xml.erb"),
owner => $app_user,
group => $app_group,
}
->
file { "${django_root}/solr/data_set_manager/conf/solrconfig.xml":
ensure => file,
content => template("${django_root}/solr/data_set_manager/conf/solrconfig.xml.erb"),
owner => $app_user,
group => $app_group,
}
->
exec { 'solr_install': # also starts the service
Expand Down
2 changes: 1 addition & 1 deletion refinery/solr/core/conf/solrconfig.xml.erb
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
replication is in use, this should match the replication
configuration.
-->
<dataDir><%= @solr_core_data || "${solr.data.dir:}" %></dataDir>
<dataDir><%= @solr_core_data %></dataDir>


<!-- The DirectoryFactory to use for indexes.
Expand Down
2 changes: 1 addition & 1 deletion refinery/solr/data_set_manager/conf/solrconfig.xml.erb
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
replication is in use, this should match the replication
configuration.
-->
<dataDir><%= @solr_data_set_manager_data || "${solr.data.dir:}" %></dataDir>
<dataDir><%= @solr_data_set_manager_data %></dataDir>


<!-- The DirectoryFactory to use for indexes.
Expand Down

0 comments on commit a6ab488

Please sign in to comment.