In this case the screen session stays forever and you can connect to it later 
to see the output. That may or may not be useful to you of course

---
Steve Traylen

From: Dayton Jones <jones.day...@gmail.com>
Sent: 15 Dec 2015 1:02 pm
To: Puppet Users
Subject: Re: [Puppet Users] Logging output of a long running exec

Does that show the output during the puppet run though?  I "need" to have the 
output of the script show up, hence the "logoutput => true" directive which I 
don't see in your example.  The script runs just fine, I just don't get any 
output/status from it when run via puppet.

On Tuesday, December 15, 2015 at 3:56:14 AM UTC-6, Steve Traylen wrote:

Example of long exec running backgrounded in a screen.

exec { 'zrep_initial_sync':
command => "screen -dmS zrep_initial_sync /usr/local/sbin/krb_me.sh 
/usr/local/sbin/zrep init ${src_vol} ${dst_host} ${dst_vol}", onlyif => "zfs 
get -H zrep:src-fs -o value ${src_vol} | grep -qv ${src_vol}", path => 
['/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/', '/usr/local/bin', 
'/usr/local/sbin'], }

Sent from Nine<http://www.9folders.com/>

From: Dayton Jones <jones....@gmail.com>
Sent: 11 Dec 2015 9:45 pm
To: Puppet Users
Subject: [Puppet Users] Logging output of a long running exec

I have a legacy "provisioning" script that I'm calling with puppet on brand new 
machines (I'm slowly taking the functionality out of the script and into 
puppet, but for reasons I can't do a full replacement yet)

I'd like to log the output of the provisioning and have included "logoutput" to 
the exec in the class (see below) but when I run puppet all I get for the 
module/class is:
Warning: Waiting for output; will sleep 0.0 seconds
Warning: Waiting for output; will sleep 0.5 seconds
Warning: Could not get output
Notice: /Stage[post]/provision/Exec[provision.sh]/returns: executed successfully
Notice: Finished catalog run in 107.80 seconds


Here is the class and exec... I'm setting a timeout of 1800 and if the catalog 
run finishes in 107 seconds, I'm unclear on how it's timing out.  Any 
suggestions?

class provision {

  notify {'Running provision.sh can take a while - be patient':}

  file { '/root/provision.sh' :
    ensure => file,
    owner  => 'root',
    group  => 'root',
    mode   => '0755',
    source => 'puppet:///modules/provision/provision.sh',
    notify => Exec['provision.sh'],
  }

  exec { 'provision.sh' :
    command   => '/root/provision.sh',
    logoutput => true,
    timeout   => 1800,
    cwd       => '/root';
  }
}

--
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 puppet-users...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/1a15177f-e0f1-4d1b-8c87-5f7b47d7dede%40googlegroups.com<https://groups.google.com/d/msgid/puppet-users/1a15177f-e0f1-4d1b-8c87-5f7b47d7dede%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 Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to 
puppet-users+unsubscr...@googlegroups.com<mailto:puppet-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/8dc78f95-4c00-4693-b659-9cdad3dc9ade%40googlegroups.com<https://groups.google.com/d/msgid/puppet-users/8dc78f95-4c00-4693-b659-9cdad3dc9ade%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 Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/3b2119b0-8647-4b84-b35d-cd4ade8d47b6%40cern.ch.
For more options, visit https://groups.google.com/d/optout.

Reply via email to