Thank you, I will try the first option. I remember doing that but it did not avoid the warnings. But I will retry.
There is one last help I am looking for. if you have time to look into below issue. https://groups.google.com/forum/#!topic/puppet-dev/9tkiructtYI <https://groups.google.com/forum/#!topic/puppet-dev/9tkiructtYI> I have just added new parameter in the type and used the parameter command and also mention in the init.pp ssm module call, but the module fails with error Error: no parameter named 'command' at /etc/puppetlabs/code/environments/production/modules/xxx/manifests/init.pp:67 on Ssm[RHELDiskManager] at /etc/puppetlabs/code/environments/production/modules/xx/manifests/init.pp:67 on node xxx This issue is happening for any new parameter that I am trying to add. Is there a limit to the parameter that I can use in the type ? I don't think I am overusing them. But don't know why is it failing On Thursday, May 25, 2017 at 12:17:09 PM UTC-4, Shawn Ferry wrote: > > > On May 24, 2017, at 10:02 PM, ggun <[email protected] <javascript:>> > wrote: > > Hi Experts, > > Need your kind help in command to execute in the puppet provider. Below is > the code snippet of the puppet provider code. > If I run the code with changes as below the *code* runs without any issue > > > *cmd="yes | #{create_ssm} create --fs '#{@resource[:fs_type]}' -p > '#{@resource[:volume_group]}' -n '#{@resource[:logical_volume]}' > '#{@resource[:mount_point]}'"* > *system(cmd)* > > > There are any number of bits of software that call themselves ssm. > Assuming this is system storage manager why don’t you pass -f to make it > non-interactive? > > commands => :ssm => ‘/usr/bin/ssm’ > *args=%W[-f create --fs @resource[:fs_type] -p @resource[:volume_group] -n > @resource[:logical_volume] @resource[:mount_point]]* > ssm(*args) > > > If that isn’t an option you could pass a file containing ‘yes’ > *cmd=%W[ssm create --fs @resource[:fs_type] -p @resource[:volume_group] -n > @resource[:logical_volume] @resource[:mount_point]]* > Puppet::Util::Execution.execute(cmd, :stdinfile => ‘/path/to/yes-file’) > > > > > But when I run code as below > system('yes | ssm(*args)') # I am building args based on input and > ssm is the commands as shown in below code snippet > puppet run fails with error as > *Error* > sh: -c: line 0: syntax error near unexpected token `*args' > sh: -c: line 0: `yes | ssm(*args)' > > Please help can I fix above run. > > > *Code Snippets * > > commands :ssm => '/usr/bin/ssm', > > def create > puts "Creating FileSystem” > > args = ['create'] > if @resource[:fs_type] > args.push('--fs', @resource[:fs_type]) > else > args.push('--fs', 'xfs') > end > if @resource[:volume_group] > args.push('-p', @resource[:volume_group]) > else > puts "Default volume group will be creted and user needs to manage > it" > end > if @resource[:logical_volume] > args.push('-n', @resource[:logical_volume]) > else > puts "Default logical volume will be creted and user needs to manage > it" > end > if @resource[:device] > args << @resource[:device] > end > if @resource[:mount_point] > FileUtils.mkdir_p(@resource[:mount_point]) unless > File.exists?(@resource[:mount_point]) > args << @resource[:mount_point] > end > p args > # p cmd > system('yes | ssm(*args)’) > > > You really shouldn’t do that. Your invocation is off. The system call is > not using you definition > of ssm above it’s just finding it on the path and you need to expand your > args system takes a string. > > args=%w(this is s a test) > [5] pry(main)> system("yes | echo #{args.join(' ')}") > this is s a test > > rescue Puppet::ExecutionFailure => detail > raise Puppet::Error, "Could not create filesystem, volume group,and > logical group. Due to error:(#{detail.message})" > > end > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected] <javascript:>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-dev/6b4548f5-df77-45b8-b6de-849c6ba6144d%40googlegroups.com > > <https://groups.google.com/d/msgid/puppet-dev/6b4548f5-df77-45b8-b6de-849c6ba6144d%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > > -- You received this message because you are subscribed to the Google Groups "Puppet Developers" 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-dev/66eba19b-7926-4f77-a65d-92887937c7a7%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
