Ahhhh! That makes sense, I should be thinking like C/C++ execv, one array element per argument, no matter what it's string content. Dropping the quotes in the parameter sting and using the original Ruby command exec works fine. I should have tried that before - I was confusing myself by trying too hard to emulate what the shell version of virt-install looked like.
Thanks for the nudge in the right direction, John :-) -Luke On Sep 8, 3:08 pm, jcbollinger <[email protected]> wrote: > > It looks like the LibVirt provider is launching virt-install directly > instead of via the shell (i.e. it is forking and then exec'ing /usr/ > bin/virt-install, instead of, for instance, using the system() command > or a %x string). If it is indeed doing that then it should not be > quoting any arguments, even if though they contain whitespace or shell > metacharacters, because the arguments are not processed by the shell. > > Your hack solves the problem by forcing the provider to run virt- > install via the shell, which isn't that bad. Better, however, would > be to make the provider do the right thing with the arguments in the > first place. Since you provide only a simplified approximation to the > provider code, I can't tell what would be needed to accomplish that. > > John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
