Problem defining Instance name in Puppet Enterprise


I am trying to use the Puppet module elastic/elasticsearch to deploy Elasticsearch but am unable to define the instance name when using the dashboard.

The documentation only references config files, not how to use the dashboard, and gives this as an example of the syntax:

elasticsearch::instance { 'es-01': }

I can manually add this to my site.pp and it will install, but I cannot get the dashboard to accept the instance name. Whatever I try, I get an error similar to this:

Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Evaluation Error: Error while evaluating a Function Call, "{ 'es-01': }" is not a Hash. It looks to be a String at /etc/puppetlabs/code/environments/production/modules/elasticsearch/manifests/init.pp:536:5 on node
Warning: Not using cache on failed catalog

It wants a hash and I've tried various formats in the dashboard, but none work e.g.

{instance => es-01}
{instance => 'es-01'}

Can anyone tell me what I'm missing please?

Thank you

I haven't used Puppet Enterprise before, but the question of how to define parameters as hashes seems to be a common problem. Based upon what I've been reading, it seems that hashes need to be either passed in just in curly braces or possibly backticks (I've read conflicting reports).

Thus it seems like one of these might work:

{ 'es-01' => { } }


`{ 'es-01' => { } }`


Thanks for the suggestion but still no luck.

I'll investigate further and post the solution if I find it.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.