Eevans has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/313619

Change subject: Extend classpath via Puppet
......................................................................

Extend classpath via Puppet

Allows a list of directories to be specified, the directories are searched
for Java jars, and any files found are added to the Cassandra classpath.

This changeset specifies no directories; This is a no-op.

Bug: T133395
Change-Id: I1ca51b74e6593505143d6f783245ce54bbb3aed5
---
M modules/cassandra/manifests/init.pp
R modules/cassandra/templates/cassandra.in.sh.erb
2 files changed, 17 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/19/313619/1

diff --git a/modules/cassandra/manifests/init.pp 
b/modules/cassandra/manifests/init.pp
index 846807d..5db29e3 100644
--- a/modules/cassandra/manifests/init.pp
+++ b/modules/cassandra/manifests/init.pp
@@ -186,8 +186,8 @@
 #   Additional options to pass to the JVM.
 #   Default: []
 #
-# [*extra_classpath*]
-#   Additional classpath to be appended to the default.
+# [*extra_classpath_directories*]
+#   An array of directories to be searched for additional jar files.
 #   Default: []
 #
 # [*jmx_port*]
@@ -294,7 +294,7 @@
     $heap_newsize                     = undef,
     $jmx_port                         = 7199,
     $additional_jvm_opts              = [],
-    $extra_classpath                  = [],
+    $extra_classpath_directories      = [],
     $dc                               = 'datacenter1',
     $rack                             = 'rack1',
     $key_cache_size_in_mb             = 400,
@@ -328,7 +328,7 @@
     validate_re($disk_failure_policy, '^(stop|best_effort|ignore)$')
 
     validate_array($additional_jvm_opts)
-    validate_array($extra_classpath)
+    validate_array($extra_classpath_directories)
 
     validate_string($logstash_host)
     # lint:ignore:only_variable_string
@@ -453,7 +453,7 @@
 
     file { '/etc/cassandra.in.sh':
         ensure  => present,
-        source  => "puppet:///modules/${module_name}/cassandra.in.sh",
+        content => template("${module_name}/cassandra.in.sh.erb"),
         owner   => 'cassandra',
         group   => 'cassandra',
         mode    => '0444',
diff --git a/modules/cassandra/files/cassandra.in.sh 
b/modules/cassandra/templates/cassandra.in.sh.erb
similarity index 73%
rename from modules/cassandra/files/cassandra.in.sh
rename to modules/cassandra/templates/cassandra.in.sh.erb
index b0f2624..253e219 100644
--- a/modules/cassandra/files/cassandra.in.sh
+++ b/modules/cassandra/templates/cassandra.in.sh.erb
@@ -17,6 +17,18 @@
     CLASSPATH=$CLASSPATH:$jar
 done
 
+<% if not @extra_classpath_directories.empty? -%>
+for search in <%= Array(@extra_classpath_directories).join(' ') %>; do
+    if test -d "$search"; then
+       for j in "$search"/*.jar; do
+           if test -e "$j"; then
+               CLASSPATH=$CLASSPATH:"$j"
+           fi
+       done
+    fi
+done
+<% end -%>
+
 CLASSPATH="$CLASSPATH:$EXTRA_CLASSPATH"
 
 

-- 
To view, visit https://gerrit.wikimedia.org/r/313619
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1ca51b74e6593505143d6f783245ce54bbb3aed5
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Eevans <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to