$replicas works now by replacing <% if has_variable?(scope.lookupvar('class_name::params::replicas')) then %>
with > <% if has_variable?("class_name::params::replicas") then %> but the problem now with $dbhost variable "else condition" i got that error after defining $mongodb variable instead of mongodb_replicas in nodes.pp > undefined method `join' for :undef:Symbol any ideas ? On Sun, Mar 4, 2012 at 12:30 PM, Eslam Mamdouh <emamd...@cloud9ers.com>wrote: > Hi everyone, > i'm trying to apply the fully qualified variables aspect in my puppet code > and one of variables i use is an array > > in template file i wrote the following : > > MONGO_DATABASE_NAME = >> '<%=scope.lookupvar('class_name::params::mongodb_dbname')%>' >> <% if has_variable?(scope.lookupvar('class_name::params::replicas')) then >> %> >> connect(MONGO_DATABASE_NAME, >> host='mongodb://<%=scope.lookupvar('class_name::params::replicas').join(",")%>', >> username='<%=scope.lookupvar('class_name::params::mongodb_username')%>', >> password='<%=scope.lookupvar('class_name::params::mongodb_password')%>') >> <% else %> >> connect(MONGO_DATABASE_NAME, >> host='<%=scope.lookupvar('class_name::params::dbhost')%>', >> username='<%=scope.lookupvar('class_name::params::mongodb_username')%>', >> password='<%=scope.lookupvar('class_name::params::mongodb_password')%>') >> <% end %> >> > > that works fine for both username and password but in case of $replicas > OR even $dbhost it doesn't work as expected > > snippet from params.pp : > > $replicas = $mongodb_replicas >> > >> > $dbhost = $mongodb ? { >> '' => "$::ec2_local_hostname", >> default => "$mongodb" >> } >> > > and $mongodb_replicas is defined in nodes.pp for the time being > > but after deployment the output line was : > > connect(MONGO_DATABASE_NAME, host='', username='correct_username', >> password='correct_password') >> > > any idea what's wrong with these lines > > Thanks in advance > > -- > Best Regards, > Eslam Mamdouh El Husseiny > *Systems Administrator** > Cloud Niners Ltd. > > * > *Cellular: (+2) 011 198 40 40 > Mansoura: (+2) 050 234 70 81 > Cairo: (+2) 022 *268 34 60 > Fax: (+2) 022 268 34 63 > > > > -- Best Regards, Eslam Mamdouh El Husseiny *Systems Administrator** Cloud Niners Ltd. * *Cellular: (+2) 011 198 40 40 Mansoura: (+2) 050 234 70 81 Cairo: (+2) 022 *268 34 60 Fax: (+2) 022 268 34 63 -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.