On Wednesday, September 3, 2014 4:31:11 AM UTC-5, Fabrice Bacchella wrote:
>
> I'm trying to send an hash to a template. 
>
> I'm calling a type with : 
>
>     supervisord::program{'hadoop.namenode': 
>         ... 
>         environment => { 
>             JAVA_HOME   => "$javahome", 
>             HADOOP_HOME => "/data/hadoop/distrib", 
>             HADOOP_CONF_DIR => "/data/hadoop/config", 
>             HADOOP_LOG_DIR => "/data/hadoop/logs", 
>             JAVA_LIBRARY_PATH => "/data/hadoop/native", 
>         }, 
>     } 
>
>   supervisord::program call a template that includes : 
>
> environment = <% @environment.each do |name, 
> value|%><%=name%>="<%=value%>",<% end %> 
>
> but what I get is: 
> environment = 
> Hadoop_log_dir[]="/data/hadoop/logs",Hadoop_conf_dir[]="/data/hadoop/config",Java_home[]="/usr/java/latest",Hadoop_home[]="/data/hadoop/distrib",Java_library_path[]="/data/hadoop/native",
>  
>
>
> If is use: 
>         environment => { 
>             "JAVA_HOME"   => "$javahome", 
>             "HADOOP_HOME" => "/data/hadoop/distrib", 
>             "HADOOP_CONF_DIR" => "/data/hadoop/config", 
>             "HADOOP_LOG_DIR" => "/data/hadoop/logs", 
>             "JAVA_LIBRARY_PATH" => "/data/hadoop/native", 
>         }, 
>
> I get: 
> environment = HADOOP_CONF_DIR="/data/hadoop/config", 
> HADOOP_HOME="/data/hadoop/distrib", HADOOP_LOG_DIR="/data/hadoop/logs", 
> JAVA_HOME="/usr/java/latest", JAVA_LIBRARY_PATH="/data/hadoop/native", 
>
> It works. What's wrong with the first version ? 
>


For bare words to be interpreted as strings, they must begin with a 
lowercase letter.  There are other restrictions 
<https://docs.puppetlabs.com/puppet/latest/reference/lang_datatypes.html#bare-words>,
 
too.  Yes, it's a bit weird -- in fact, I wasn't mindful of the initial 
letter rule in this context until I looked into this matter, though I am 
well aware of the flip side, that resource references must begin with 
capital letters.

Bottom line: it's good practice to quote your strings.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/993aa8c6-e41c-48eb-85c9-3aec09e91ccd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to