theforeman/foreman · error · Foreman::Exception

Proxy reference should be { :relation => [:column_name, ...]

Error message

Proxy reference should be { :relation => [:column_name, ...] }

What it means

Error "Proxy reference should be { :relation => [:column_name, ...] }" thrown in theforeman/foreman.

Source

Thrown at app/services/proxy_reference_registry.rb:19

module ProxyReferenceRegistry
  class << self
    attr_accessor :references

    def add_smart_proxy_reference(hash)
      ref = new_reference hash
      if @references
        join_reference_arrays @references, [ref]
      else
        @references = [ref]
      end
    end

    def find_by_relation(relation)
      smart_proxy_references.find { |ref| ref.join_relation == relation }
    end

    def new_reference(hash)
      raise Foreman::Exception.new(N_("Proxy reference should be { :relation => [:column_name, ...] }")) unless correct_reference_format?(hash)
      SmartProxyReference.new hash.deep_clone
    end

    def smart_proxy_references
      join_reference_arrays local_proxy_references.deep_clone, proxy_references_from_plugins
    end

    def local_proxy_references
      @references ||= []
    end

    def proxy_references_from_plugins
      Foreman::Plugin.all.map(&:smart_proxy_references).reject(&:empty?).reduce([]) do |memo, plugin_refs|
        join_reference_arrays memo, plugin_refs
      end
    end

    def join_reference_arrays(references, other_references)

View on GitHub (pinned to 6b05625475)

When it happens

Trigger: Thrown at app/services/proxy_reference_registry.rb:19 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/4eabc38e0b0896c5. Report an issue: GitHub.