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 puppet-users+unsubscr...@googlegroups.com.
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