{"record":{"id":"d003e4480ce21ec6","repo":"theforeman/foreman","slug":"this-templates-requires-a-host-to-render-but-none","errorCode":null,"errorMessage":"This templates requires a host to render but none was specified","messagePattern":"This templates requires a host to render but none was specified","errorType":"exception","errorClass":"HostUnknown","httpStatus":null,"severity":"error","filePath":"app/services/foreman/renderer/scope/macros/host_template.rb","lineNumber":249,"sourceCode":"              CMD\n            when 'Suse'\n              <<~CMD\n                #{banner}\n                zypper -n update\n              CMD\n            else\n              raise UnsupportedOS.new\n            end\n          end\n\n          private\n\n          def enc\n            @enc ||= host.info.deep_dup\n          end\n\n          def check_host\n            raise HostUnknown if host.nil?\n          end\n\n          def check_host_param(name)\n            check_host\n            raise HostParamUndefined.new(name: name, host: host) unless host.params.key?(name)\n          end\n\n          def validate_port(value, desc = 'This')\n            return nil if value.blank?\n\n            unless value.to_s.match?(/^\\d+$/)\n              raise ArgumentError, \"#{desc} port must be an integer, got: #{value.inspect}\"\n            end\n            port = value.to_i\n            if port < 1 || port > 65535\n              raise ArgumentError, \"#{desc} port must be between 1 and 65535, got: #{value.inspect}\"\n            end\n            port","sourceCodeStart":231,"sourceCodeEnd":267,"githubUrl":"https://github.com/theforeman/foreman/blob/6b05625475cfe6aac31a88f8c8ee6e62e4efe620/app/services/foreman/renderer/scope/macros/host_template.rb#L231-L267","documentation":"Error \"This templates requires a host to render but none was specified\" thrown in theforeman/foreman.","triggerScenarios":"Thrown at app/services/foreman/renderer/scope/macros/host_template.rb:249 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6b05625475cfe6aac31a88f8c8ee6e62e4efe620","analyzedAt":"2026-08-23T17:46:34.094Z","schemaVersion":2},"datasetVersion":"2026-08-23T21:17:23.414Z"}