Satellite is not processing remote execution tasks

Solution Verified - Updated

Environment

  • Red Hat Satellite 6.12+

Issue

  • Satellite is not processing remote execution jobs.

    dynflow details of the task show no error, no warning, and no processing attempt, and every step is pending.

    Actions::RemoteExecution::RunHostJob running pending
    Actions::RemoteExecution::ProxyAction (suspended) Cancel
    Actions::RemoteExecution::RunHostJob (pending)

Resolution

  • Refer to the Diagnostic Steps section to identify the Transport Mode used by Satellite/Capsule. Transport mode is Capsule specific configuration, and it defines how the Capsule sends the job to the client. Different Capsules can have different transport modes.

    Note: Capsule here can include the internal Capsule running on the Satellite as well.

  • If Pull-MQTT is not the preferred transport mode for the Satellite/Capsule, reset the mode to ssh to enable default push mode.

    satellite-installer --reset-foreman-proxy-plugin-remote-execution-script-mode
    

    The command has to be executed on the Capsule(or Satellite) the client(s) are registered with.

  • If Pull-MQTT (Pull-based Transport) is the preferred transport mode, ensure the clients associated with the pending jobs are configured with client-side agent. Refer to the documentation for the steps to configure the client-side agent.

For more KB articles/solutions related to Red Hat Satellite 6.x Remote Execution Issues, please refer to the Red Hat Satellite Consolidated Troubleshooting Article for Red Hat Satellite 6.x Remote Execution Issues

Root Cause

  • The remote execution jobs can get stuck in pending state for the following reasons.

    • Pull-MQTT was configured as the transport mode unintentially on the Satellite/Capsule.
    • Pull-MQTT was configured on the Satellite/Capsule but the client(s) were not configured with the Pull-MQTT client-side agent.

Diagnostic Steps

  • Check the mode set in remote execution configuration (/etc/foreman-proxy/settings.d/remote_execution_ssh.yml) for foreman-proxy.

    grep mode  /etc/foreman-proxy/settings.d/remote_execution_ssh.yml
    :mode:  pull-mqtt
    
  • As an alternative to remote_execution_ssh.yml, we can check the current setup from the satellite-installer command.

    satellite-installer --full-help | grep remote-execution-script-mode
    

    Look for the Operation Mode of the plugin line.

    --foreman-proxy-plugin-remote-execution-script-mode  Operation Mode of the plugin. (current: "pull-mqtt")
    
SBR
Product(s)
Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.