voxpupuli / puppet-elasticsearch

Elasticsearch Puppet module
Apache License 2.0
404 stars 479 forks source link

Issues on the elasticsearch_component_template.rb and elasticsearch_index_template.rb #1222

Closed mcodenie closed 2 months ago

mcodenie commented 2 months ago

Affected Puppet, Ruby, OS and module versions/distributions

How to reproduce (e.g Puppet code you use)

vagrant provision / puppet agent -t

with the following configurations:

    class { 'elastic_stack::repo':
      version => 5,
    }
    class { 'elasticsearch':
      version           => '5.6.16',
      manage_repo       => true,
      restart_on_change => true,
    }

What are you seeing

==> elasticsearchsrv: Error: Could not autoload puppet/type/elasticsearch_component_template: /tmp/vagrant-puppet/environments/local/local-modules/elasticsearch/lib/puppet/type/elasticsearch_component_template.rb:51: syntax error, unexpected ']'
==> elasticsearchsrv: ...                   setting[6..]
==> elasticsearchsrv: ...                              ^
==> elasticsearchsrv: Error: Evaluation Error: Error while evaluating a Virtual Query, Could not autoload puppet/type/elasticsearch_component_template: /tmp/vagrant-puppet/environments/local/local-modules/elasticsearch/lib/puppet/type/elasticsearch_component_template.rb:51: syntax error, unexpected ']'
==> elasticsearchsrv: ...                   setting[6..]
==> elasticsearchsrv: ...                              ^ (file: /tmp/vagrant-puppet/environments/local/local-modules/elasticsearch/manifests/init.pp, line: 654, column: 3) on node elasticsearchsrv
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

2nd Run after modifying the _elasticsearch_componenttemplate

==> elasticsearchsrv: Error: Could not autoload puppet/type/elasticsearch_index_template: /tmp/vagrant-puppet/environments/local/local-modules/elasticsearch/lib/puppet/type/elasticsearch_index_template.rb:57: syntax error, unexpected ']'
==> elasticsearchsrv: ...                   setting[6..]
==> elasticsearchsrv: ...                              ^
==> elasticsearchsrv: Error: Evaluation Error: Error while evaluating a Virtual Query, Could not autoload puppet/type/elasticsearch_index_template: /tmp/vagrant-puppet/environments/local/local-modules/elasticsearch/lib/puppet/type/elasticsearch_index_template.rb:57: syntax error, unexpected ']'
==> elasticsearchsrv: ...                   setting[6..]
==> elasticsearchsrv: ...                              ^ (file: /tmp/vagrant-puppet/environments/local/local-modules/elasticsearch/manifests/init.pp, line: 655, column: 6) on node elasticsearchsrv
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

What behaviour did you expect instead

Run smoothly or able to execute well the module like these:

==> elasticsearchsrv: Notice: Compiled catalog for elasticsearchsrv in environment local in 1.56 seconds
==> elasticsearchsrv: Info: Using environment 'local'
==> elasticsearchsrv: Info: Applying configuration version '1713842217'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/HdrHistogram-2.1.9.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/elasticsearch-5.6.16.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/hppc-0.7.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/jackson-core-2.8.6.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/jackson-dataformat-cbor-2.8.6.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/jackson-dataformat-smile-2.8.6.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/jackson-dataformat-yaml-2.8.6.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/java-version-checker-5.6.16.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/jna-4.4.0-1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/joda-time-2.10.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/jopt-simple-5.0.2.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/jts-1.13.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/log4j-1.2-api-2.11.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/log4j-api-2.11.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/log4j-core-2.11.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-analyzers-common-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-backward-codecs-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-core-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-grouping-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-highlighter-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-join-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-memory-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-misc-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-queries-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-queryparser-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-sandbox-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-spatial-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-spatial-extras-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-spatial3d-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/lucene-suggest-6.6.1.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/plugin-cli-5.6.16.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/securesm-1.2.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/snakeyaml-1.15.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/spatial4j-0.6.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Config/File[/usr/share/elasticsearch/lib/t-digest-3.0.jar]/mode: mode changed '0755' to '0644'
==> elasticsearchsrv: Info: Class[Elasticsearch::Config]: Scheduling refresh of Class[Elasticsearch::Service]
==> elasticsearchsrv: Info: Class[Elasticsearch::Service]: Scheduling refresh of Service[elasticsearch]
==> elasticsearchsrv: Notice: /Stage[main]/Elasticsearch::Service/Service[elasticsearch]/ensure: ensure changed 'stopped' to 'running'
==> elasticsearchsrv: Info: /Stage[main]/Elasticsearch::Service/Service[elasticsearch]: Unscheduling refresh on Service[elasticsearch]

Output log

Same as above

Any additional information you'd like to impart

There is no issues on the mod 'puppet-elasticsearch', '8.1.0' upon further investigation there was lately changed 2 weeks ago

mcodenie commented 2 months ago

The solution I got were reverted the elasticsearch_component_template.rb and elasticsearch_index_template.rb which works well, using the latest version 9.0.0.

diff --git a/lib/puppet/type/elasticsearch_component_template.rb b/lib/puppet/type/elasticsearch_component_template.rb
index ac963fe..d527e37 100644
--- a/lib/puppet/type/elasticsearch_component_template.rb
+++ b/lib/puppet/type/elasticsearch_component_template.rb
@@ -48,7 +48,7 @@ Puppet::Type.newtype(:elasticsearch_component_template) do
               val['template']['settings']['index'] = {} unless val['template']['settings'].key? 'index'
               (val['template']['settings'].keys - ['index']).each do |setting|
                 new_key = if setting.start_with? 'index.'
-                            setting[6..]
+                            setting[6..-1]
                           else
                             setting
                           end
diff --git a/lib/puppet/type/elasticsearch_index_template.rb b/lib/puppet/type/elasticsearch_index_template.rb
index c8b90e4..3a9f3b6 100644
--- a/lib/puppet/type/elasticsearch_index_template.rb
+++ b/lib/puppet/type/elasticsearch_index_template.rb
@@ -54,7 +54,7 @@ Puppet::Type.newtype(:elasticsearch_index_template) do
                 val['template']['settings']['index'] = {} unless val['template']['settings'].key? 'index'
                 (val['template']['settings'].keys - ['index']).each do |setting|
                   new_key = if setting.start_with? 'index.'
-                              setting[6..]
+                              setting[6..-1]
                             else
                               setting
                             end
smortex commented 2 months ago
* Puppet: **puppet-agent-6.28.0-1.el8.x86_64**
* Module version: **mod 'puppet-elasticsearch', '9.0.0'**

Puppet 6 has reached EOL and is not supported anymore by recent version of the module (#1191).

Either use a supported version of Puppet, or use an older version of the module that work with the legacy version of Puppet you want to stick with.