我维护着一个不同的kickstartconfiguration库,主要是为了CentOS 5和6.它最近已经到了我想尽可能多地删除这些信息的地步。
我知道有一些可以dynamic生成kickstart文件的选项。 对这一点不感兴趣,除非我真的需要这样做。 我想用下面一行的模板创build我的Kickstart文件:
deploy1-centos5.erb
.... install=http://.../$arch/... repo=http://.../$arch/... ....
我的输出命名模式是“deploy1-centos5-x86_64”。
我希望能够从一个给定的模板创build几个kickstart文件,一个用于32位,一个64位,ppc等等。如果我可以随时设置每个模板被调用的arch值创build一个文件。
解决这个问题的最好的方法是什么?
最简单的模式是创build一个定义,将根据您的input吐出所需的文件。
define kickstart::config ($os, $arch) { # $name is a reserved variable, it works based on the name of this define # kickstart::configs { "this_becomes_name": } file { "kickstart/conf.d/${name}-${os}-${arch}": ensure => present, content => template("kickstart/conf.d/${name}.erb"), #content => template("kickstart/conf.d/${name}-${os}.erb"), #content => template("kickstart/conf.d/${name}-${os}-${arch}.erb"), # or whatever, but this template file will need to exists. } }
然后像申请一样
kickstart::config { 'deploy1': arch => 'i386', os => 'centos5', }