Я поддерживаю библиотеку различных конфигураций кикстарта, в основном для CentOS 5 и 6. Недавно дошло до того, что я хочу дедуплицировать как можно больше этой информации.
Мне известно о нескольких вариантах, которые могут динамически создавать файлы кикстарта. В данный момент мне не интересно, если мне действительно не нужно делать этот маршрут. Я хотел бы создать свои файлы кикстарта, используя шаблон в следующей строке:
deploy1-centos5.erb
....
install=http://.../$arch/...
repo=http://.../$arch/...
....
Моя схема именования выходных данных - «deploy1-centos5-x86_64».
Я хотел бы иметь возможность создать несколько файлов кикстарта из заданного шаблона, один для 32-битного, один для 64-битного, ppc и т. Д. Это сработает. в совершенстве если бы я мог легко установить значение арка каждый раз, когда вызывается шаблон для создания файла.
Каков наиболее готовый способ решить эту проблему?
Самый простой шаблон - создать определение, которое будет выдавать нужный файл на основе ваших входных данных.
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',
}