{"record":{"id":"d546b1e176cd89fe","repo":"theforeman/foreman","slug":"unable-to-detect-tftp-boot-server","errorCode":null,"errorMessage":"Unable to detect TFTP boot server","messagePattern":"Unable to detect TFTP boot server","errorType":"exception","errorClass":"ProxyException","httpStatus":null,"severity":"error","filePath":"app/services/proxy_api/tftp.rb","lineNumber":54,"sourceCode":"    #   :prefix => String containing the location within the TFTP tree to store the file\n    #   :path   => String containing the URL of the file to download\n    # Returns    : Boolean status\n    def fetch_boot_file(args)\n      parse(post(args, \"fetch_boot_file\"))\n    rescue => e\n      raise ProxyException.new(url, e, N_(\"Unable to fetch TFTP boot file\"))\n    end\n\n    # returns the TFTP boot server for this proxy\n    def bootServer\n      if (response = parse(get(\"serverName\"))) && response[\"serverName\"].present?\n        return response[\"serverName\"]\n      end\n      false\n    rescue RestClient::ResourceNotFound\n      nil\n    rescue => e\n      raise ProxyException.new(url, e, N_(\"Unable to detect TFTP boot server\"))\n    end\n\n    # Create a default pxe menu\n    # [+args+] : Hash containing\n    #   :menu => String containing the menu text\n    # Returns    : Boolean status\n    def create_default(kind, args)\n      parse(post(args, \"#{kind}/create_default\"))\n    rescue => e\n      raise ProxyException.new(url, e, N_(\"Unable to create default TFTP boot menu\"))\n    end\n  end\nend\n","sourceCodeStart":36,"sourceCodeEnd":68,"githubUrl":"https://github.com/theforeman/foreman/blob/6b05625475cfe6aac31a88f8c8ee6e62e4efe620/app/services/proxy_api/tftp.rb#L36-L68","documentation":"Error \"Unable to detect TFTP boot server\" thrown in theforeman/foreman.","triggerScenarios":"Thrown at app/services/proxy_api/tftp.rb:54 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"}