Hi Rafael

Yes, I have setup all paths  correctly. I have other custom functions which 
are working.

Thanks
Kashif

On Wednesday, February 12, 2014 2:15:19 PM UTC, Rafael Cristaldo wrote:
>
>
>
> Em quarta-feira, 12 de fevereiro de 2014 11h21min30s UTC-2, kashif 
> escreveu:
>>
>> I have written a small custom function to replace '.' to '_' of all 
>> element of an array and return an converted array.
>>
>> module Puppet::Parser::Functions
>>   newfunction(:convert_vo, :type => :rvalue, :doc => <<-'ENDOFDOC'
>>  This function takes an array of vo and replace '.' with '_' and return 
>> an converted array
>> ENDOFDOC
>>   ) do |arguments|
>>
>>     require 'rubygems'
>>     vo_list = arguments.clone
>>     unless vo_list.is_a?(Array)
>>       raise(Puppet::ParseError, 'convert_vo requires an array')
>>     end
>>     converted_vo = Array.new()
>>     vo_list.each do |vo|
>>       converted_vo.push(vo.gsub(/\./, '_'))
>>     end
>>     return converted_vo
>>   end
>> end
>>
>> I am calling it like this from init.p
>>
>> $vo = ['dteam', 'vo.southgrid.ac.uk']
>> $converted_vo = convert_vo($vo)
>>
>>
>> Puppet run on client machine fails with this error
>>
>> Error: Could not retrieve catalog from remote server: Error 400 on 
>> SERVER: private method `gsub' called for ["dteam", 
>> "vo.southgrid.ac.uk"]:Array 
>> at /etc/puppet/modules/voms_client/manifests/init.pp
>>
>>
>> I ran this script on client and server machines seperately and it worked 
>> perfectly. I am not sure that what I am missing?
>>
>> Thanks
>> Kashif
>>
>
> Did you do this?
>  
> In order to make your custom functions available to your puppetmaster: 
>    
>    - Place the function in a 
>    MODULEPATH/MODULENAME/lib/puppet/parser/functions directory.
>    - Enable pluginsync in /etc/puppet/puppet.conf on client and server.
>
> [main]
>     pluginsync = true
>     factpath = $vardir/lib/facter
>
>

-- 
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/8c6ebab8-ea07-4132-a164-140751b353a1%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to