CanineHQ/canine · error · Deployments::BaseDeploymentService::DeploymentFailure

Predeploy command `#{command}` failed

Error message

Predeploy command `#{command}` failed

What it means

Error "Predeploy command `#{command}` failed" thrown in CanineHQ/canine.

Source

Thrown at app/services/k8/stateless/command.rb:40

    nil
  end

  def wait_for_completion
    retries = 0
    while true
      break if done?
      sleep(3.0)
      retries += 1
      if retries > 30
        raise Deployments::BaseDeploymentService::DeploymentFailure, "Predeploy command `#{command}` took too long to complete"
      end
    end
  end

  def done?
    _statuses = statuses
    if _statuses.include?("Failed") || _statuses.include?("ActiveDeadlineExceeded")
      raise Deployments::BaseDeploymentService::DeploymentFailure, "Predeploy command `#{command}` failed"
    end
    _statuses.include?("Complete")
  end

  def statuses
    begin
      output = kubectl.call(%w[get job] + [ name, "-n", namespace, "-o", "jsonpath={.status.conditions[*].type}" ])
      conditions = output.split
      conditions.map { |condition| condition.strip }
    rescue => e
      Rails.logger.error("Error checking job completion: #{e.message}")
      false
    end
  end
end

View on GitHub (pinned to ba4ee3968d)

When it happens

Trigger: Thrown at app/services/k8/stateless/command.rb:40 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of CanineHQ/canine@ba4ee3968d (2026-08-23). Data as JSON: /api/errors/70ea228f37a27ee3. Report an issue: GitHub.