Wouldn't it be easier to use a service definition with the base provider and supply your start, restart & status commands?
On 30 December 2012 03:27, Jason Edgecombe <ja...@rampaginggeek.com> wrote: > Hi, > > I'm having trouble with an exec type. I'm using an exec type to start a > buildbot slave. It's a long-running pseudo-service. The exec uses the > "refresh" and "onlyif". I think that the refresh command isn't running > because of the onlyif attribute. I would like a refresh event to fire even > if the "onlyif" attribute is in use. Any help is appreciated. Do I need to > split it into two exec's (one normal and another refreshonly)? > > > Here is a snippet from the type definition: > ============== > define buildbot::slave::instance( ..., $project_dir, ... ) { > > $path = ['/usr/local/bin','/usr/bin','**/bin'] > $config_files = ["$project_dir/info/admin","$** > project_dir/info/host"] > > # commands to work with the buildslave > $slave_install_command = "buildslave create-slave $project_dir > $master_host_port $slave_name $slave_password" > $slave_start_command = "buildslave start $project_dir" > $slave_restart_command = "buildslave restart $project_dir" > $slave_status_command = "/bin/kill -0 `/bin/cat > $project_dir/twistd.pid`" > > ...snip... > > exec { $slave_start_command: > cwd => $project_dir, > path => $path, > user => $user, > group => $group, > unless => $slave_status_command, > refresh => $slave_restart_command, > require => File[$config_files], > subscribe => File[$config_files], > } > ====== > Here is part of the debug log: > > Info: /Stage[main]//Buildbot::Slave:**:Instance[openafs1]/File[/** > home/buildslave/buildbot/**openafs/info/admin]: Filebucketed > /home/buildslave/buildbot/**openafs/info/ad > min to puppet with sum 2f840fdf8acf7c334c293c9da08797**21 > /Stage[main]//Buildbot::Slave:**:Instance[openafs1]/File[/** > home/buildslave/buildbot/**openafs/info/admin]/content: content changed > '{md5}**2f840fdf8acf7c334c293c9da08797**21' to '{md5}** > 18eca080dfec8ff8fc47a54bf6a962**26' > Info: /Stage[main]//Buildbot::Slave:**:Instance[openafs1]/File[/** > home/buildslave/buildbot/**openafs/info/admin]: Scheduling refresh of > Exec[buildslave start /home/buildslave/buildbot/**openafs] > Debug: /Stage[main]//Buildbot::Slave:**:Instance[openafs1]/File[/** > home/buildslave/buildbot/**openafs/info/admin]: The container > Buildbot::Slave::Instance[**openafs1] will propagate my refresh event > Debug: Exec[buildslave start > /home/buildslave/buildbot/**openafs](provider=posix): > Executing check '/bin/kill -0 `/bin/cat /home/buildslave/buildbot/** > openafs/twistd.pid`' > Debug: Executing '/bin/kill -0 `/bin/cat /home/buildslave/buildbot/** > openafs/twistd.pid`' > Debug: Exec[buildslave start > /home/buildslave/buildbot/**openafs](provider=posix): > Executing check '/bin/kill -0 `/bin/cat /home/buildslave/buildbot/** > openafs/twistd.pid`' > Debug: Executing '/bin/kill -0 `/bin/cat /home/buildslave/buildbot/** > openafs/twistd.pid`' > /Stage[main]//Buildbot::Slave:**:Instance[openafs1]/Exec[**buildslave > start /home/buildslave/buildbot/**openafs]: Triggered 'refresh' from 1 > events > Debug: /Stage[main]//Buildbot::Slave:**:Instance[openafs1]/Exec[**buildslave > start /home/buildslave/buildbot/**openafs]: The container > Buildbot::Slave::Instance[**openafs1] will propagate my refresh event > Debug: Buildbot::Slave::Instance[**openafs1]: The container Class[Main] > will propagate my refresh event > Debug: Class[Main]: The container Stage[main] will propagate my refresh > event > > > Thanks, > Jason > > -- > 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+unsubscribe@** > googlegroups.com <puppet-users%2bunsubscr...@googlegroups.com>. > For more options, visit this group at http://groups.google.com/** > group/puppet-users?hl=en<http://groups.google.com/group/puppet-users?hl=en> > . > > -- Erik Dalén -- 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.