Exec command time out Error when running nodejs app using puppet
<p>I am cloning my repo and running  my nodejs application using puppet. please find the code below:</p>

<pre><code>package { 'git':
  ensure =&gt; 'latest',
}

vcsrepo { "/nodejs-helloworld":
  ensure   =&gt; latest,
  provider =&gt; git,
  require  =&gt; [ Package["git"] ],
  source   =&gt; "git@gitlab.abc.dev.net:hello-world/nodejs-helloworld.git",
  revision =&gt; 'master',
  before   =&gt; Exec['/usr/local/bin/npm install;/usr/local/bin/npm start'],
}

exec { '/usr/local/bin/npm install;/usr/local/bin/npm start':
  cwd         =&gt; '/nodejs-helloworld',
  subscribe   =&gt; Vcsrepo['/nodejs-helloworld'],
  refreshonly =&gt; true,
}
</code></pre>

<p>My repository is cloned, my application is running fine, and <code>npm test</code> also works. Everything works fine. However, I get an exec command time out error.</p>

<p>Error log:</p>

<pre><code>[root@ip-*******/]# puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for ip-**************
Info: Applying configuration version '1474433486'
Notice: /Stage[main]/Main/Exec[install-node-version-manager-global]/returns: executed successfully
Notice: /Stage[main]/Main/Exec[install-node-version-manager-latest]/returns: executed successfully
Notice: /Stage[main]/Main/Vcsrepo[/nodejs-helloworld]/ensure: Creating repository from latest
Notice: /Stage[main]/Main/Vcsrepo[/nodejs-helloworld]/ensure: created
Info: /Stage[main]/Main/Vcsrepo[/nodejs-helloworld]: Scheduling refresh of Exec[/usr/local/bin/npm install;/usr/local/bin/npm start]
Error: /Stage[main]/Main/Exec[/usr/local/bin/npm install;/usr/local/bin/npm start]: Failed to call refresh: Command exceeded timeout
Error: /Stage[main]/Main/Exec[/usr/local/bin/npm install;/usr/local/bin/npm start]: Command exceeded timeout
Notice: Finished catalog run in 302.86 seconds
</code></pre>

<p>As you can see here, even though I get an exec command timeout error, my app is running and <code>npm test</code> works.</p>

<pre><code> [root@ip-********* nodejs-helloworld]# netstat -anp 2&gt; /dev/null | grep :3000
    tcp6       0      0 :::3000                 :::*                    LISTEN      17630/node
 [root@ip-********* nodejs-helloworld]# npm test

    &gt; nodejs-helloworld@1.0.0 test /nodejs-helloworld
    &gt; mocha



      Test HelloWorld
        ✓ Should have the root route (46ms)
        ✓ Should have a hello world response


      2 passing (66ms)
</code></pre>

<p>Can anyone please tell me how to avoid the exec command timeout error?</p>