theforeman/foreman · error · ProxyAPI::ProxyException

Unable to perform boot BMC operation

Error message

Unable to perform boot BMC operation

What it means

Error "Unable to perform boot BMC operation" thrown in theforeman/foreman.

Source

Thrown at app/services/proxy_api/bmc.rb:43

    # Perform a boot operation on the bmc device
    def boot(args)
      # valid additional arguments args[:reboot] = true|false, args[:persistent] = true|false
      #  put "/bmc/:host/chassis/config/?:function?/?:action?" do
      case args[:function]
      when "bootdevice"
        if SUPPORTED_BOOT_DEVICES.include?(args[:device])
          parse put(with_provider(args), bmc_url_for('config', "#{args[:function]}/#{args[:device]}"))
        else
          raise NoMethodError
        end
      else
        raise NoMethodError
      end
    rescue NoMethodError => e
      raise e
    rescue => e
      raise ProxyException.new(url, e, N_("Unable to perform boot BMC operation"))
    end

    # Perform a power operation on the bmc device
    def power(args)
      # get "/bmc/:host/chassis/power/:action"
      # put "/bmc/:host/chassis/power/:action"
      case args[:action]
      when "on?", "off?", "status"
        args[:action].chop! if args[:action].include?('?')
        full_path_as_hash = bmc_url_for_get('power', args[:action])
        response = parse(get(full_path_as_hash[:path], query: full_path_as_hash[:query]))
        response.is_a?(Hash) ? response['result'] : response
      when "on", "off", "cycle", "soft", "reboot", "reset"
        res = parse put(with_provider(args), bmc_url_for('power', args[:action]))
        res && (res['result'] == true || res['result'] == "#{@target}: ok\n")
      else
        raise NoMethodError
      end

View on GitHub (pinned to 6b05625475)

When it happens

Trigger: Thrown at app/services/proxy_api/bmc.rb:43 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of theforeman/foreman@6b05625475 (2026-08-23). Data as JSON: /api/errors/d1c4ef3ddcb6817e. Report an issue: GitHub.