我们使用 foreman (v1.14.1) 进行配置,并且我们有一个适用于基本操作系统的 CentOS 7 安装介质。安装时,它确实在 /etc/yum.repos.d 中安装了带有在线镜像的默认存储库,但我想用我们的本地镜像替换它。
我跑过这个工作流程(从 2012 年开始) 它使用以下代码段来迭代当前主机操作系统的所有媒体并设置写出一个 repo 定义。
<% @host.os.media.each do |media| -%>
[<%= media.name.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') %>]
name=<%= media.name %>
baseurl=<%= @host.os.medium_uri @host, media.path %>
enabled=1
gpgcheck=0
<% end -%>
我为这个操作系统设置了几个安装媒体,每个都有一个特定的 repo URI(Base、Updates、Plus、Extras...)。
该片段在 kickstart 的 %post install 部分中调用,但是当我想构建主机时,我收到以下错误:
Failure parsing Kickstart default: The snippet 'FF_repos' threw an error:
undefined method 'media' for Operatingsystem::Jail (Redhat).
我知道“@host.os.media.each”对于迭代不同的媒体是不正确的,但我该怎么做呢?任何帮助表示赞赏:)