Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(#732) puppet_agent::run: mark failed puppet runs as failed task #742

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Commits on Nov 21, 2024

  1. (puppetlabs#732) run.rb: Combine stderr and stdout

    By default, `Puppet::Util::Execution.execute` only returns stdout.
    Puppet writes errors to stderr. When the run task fails, it only shows
    the successful output:
    
    ```
    $ bolt task run puppet_agent::run --targets puppet
    Started on puppet...
    Finished on puppet:
      Info: Using environment 'production'
      Info: Retrieving pluginfacts
      Info: Retrieving plugin
      Info: Loading facts
      Notice: Requesting catalog from puppet.local:8140 (10.0.1.1)
      Notice: Catalog compiled by puppet.local
    
      *long json here*
    ```
    
    With the patch:
    
    ```
    $ bolt task run puppet_agent::run --targets puppet
    Started on puppet...
    Finished on puppet:
      Info: Using environment 'production'
      Info: Retrieving pluginfacts
      Info: Retrieving plugin
      Info: Loading facts
      Notice: Requesting catalog from puppet.local:8140 (10.0.1.1)
      Notice: Catalog compiled by puppet.spirit-int.betadots.training
      Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Function Call, Failed to execute '/pdb/query/v4' on at least 1 of the following 'server_urls': https://puppetdb:8081 (file: /opt/puppetlabs/puppet/modules/infrastructure/manifests/puppet/puppetserver.pp, line: 11, column: 14) on node puppet.local
      Warning: Not using cache on failed catalog
      Error: Could not retrieve catalog; skipping run
    
      *long json here*
    ``
    bastelfreak committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    b233bcd View commit details
    Browse the repository at this point in the history
  2. (puppetlabs#732) puppet_agent::run: mark failed puppet runs as failed…

    … task
    
    without this change:
    
    ```
    Started on localhost...
    Finished on localhost:
      Info: Refreshing CA certificate
      Info: CA certificate is unmodified, using existing CA certificate
      Info: Using environment 'production'
      Info: Retrieving pluginfacts
      Info: Retrieving plugin
      Info: Loading facts
      Notice: Requesting catalog from puppet.bastel:8140 (127.0.0.1)
      Notice: Catalog compiled by puppet.local
      Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Failed when searching for node puppet.bastel: Exception while executing '/etc/puppetlabs/puppet/node.rb': Cannot run program "/etc/puppetlabs/puppet/node.rb" (in directory "."): error=0, Failed to exec spawn helper: pid: 2133925, exit value: 1
      Warning: Not using cache on failed catalog
      Error: Could not retrieve catalog; skipping run
      {
     *long json*
        },
        "exitcode": 1
      }
    Successful on 1 target: localhost
    Ran on 1 target in 11.19 sec
    ```
    
    With this change:
    
    ```
    Started on localhost...
    Failed on localhost:
      Puppet agent run failed: Info: Refreshing CA certificate
      Info: CA certificate is unmodified, using existing CA certificate
      Info: Using environment 'production'
      Info: Retrieving pluginfacts
      Info: Retrieving plugin
      Info: Loading facts
      Notice: Requesting catalog from puppet.bastel:8140 (127.0.0.1)
      Notice: Catalog compiled by puppet.local
      Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Failed when searching for node puppet.bastel: Exception while executing '/etc/puppetlabs/puppet/node.rb': Cannot run program "/etc/puppetlabs/puppet/node.rb" (in directory "."): error=0, Failed to exec spawn helper: pid: 2133837, exit value: 1
      Warning: Not using cache on failed catalog
      Error: Could not retrieve catalog; skipping run
    Failed on 1 target: localhost
    Ran on 1 target in 11.35 sec
    ```
    
    The task is now properly marked as failed, when the puppet agent run
    failed itself.
    bastelfreak committed Nov 21, 2024
    Configuration menu
    Copy the full SHA
    71b9253 View commit details
    Browse the repository at this point in the history