theforeman/foreman · error · RuntimeError

Could not read name from metadata in template #{filepath}.

Error message

Could not read name from metadata in template #{filepath}.

What it means

Error "Could not read name from metadata in template #{filepath}." thrown in theforeman/foreman.

Source

Thrown at app/services/foreman/render_templates_from_folder.rb:62

    def render_template(template)
      source = source_klass.new(template)
      scope = Foreman::Renderer.get_scope(host: host(template), source: source)
      Foreman::Renderer.render(source, scope)
    end

    def templates
      @templates ||= files.map { |filepath| load_file(filepath) }
    end

    def snippets
      templates.select(&:snippet?)
    end

    def load_file(filepath)
      content = File.read(filepath)
      metadata = Template.parse_metadata(content).deep_symbolize_keys
      name = metadata[:name]
      raise "Could not read name from metadata in template #{filepath}." unless name.present?
      kind = metadata[:kind]
      snippet = (kind == 'snippet') || !!metadata[:snippet]
      oses = metadata[:oses] || []
      operatingsystems = oses.map { |os| build_operatingsystem(name: os) }.compact
      ProvisioningTemplateFromFolder.new(
        template_path: filepath, source_directory: source_directory,
        name: name, template: content,
        template_kind: TemplateKind.new(name: kind),
        snippet: snippet, operatingsystems: operatingsystems
      )
    end

    def host(template)
      operatingsystem = template.operatingsystems.first
      build_host(operatingsystem: operatingsystem)
    end

    private

View on GitHub (pinned to 6b05625475)

When it happens

Trigger: Thrown at app/services/foreman/render_templates_from_folder.rb:62 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/14aabcaca24e7d03. Report an issue: GitHub.