Я пытаюсь определить тип для создания репозиториев yum. Я хочу иметь возможность извлекать данные из common.yaml, чтобы это определение извлекало эти данные и действовало на них. Я еще не зашел так далеко и получаю сообщение об ошибке из-за недопустимого параметра. Мой код такой ..
define xh_yumrepo::create_xh_yumrepo (
$descr = '',
$baseurl = $baseurl,
$enabled = $enabled,
$gpgcheck = $gpgcheck,
){
$ensure = 'present'
notify{"title is $title":}
yumrepo { $title:
baseurl => $baseurl,
ensure => present,
descr => $descr,
enabled => $enabled,
gpgcheck => $gpgcheck,
}
}
class xh_system::xh_yumrepo (
$yumrepo=hiera_hash('xh_yumrepo', undef),
){
$os=$yumrepo[$operatingsystem]
$rel=$os[$operatingsystemmajrelease]
notify {"$rel":}
create_resources("@xh_yumrepo::create_xh_yumrepo",$rel)
Xh_yumrepo::Create_xh_yumrepo <| |>
}
данные такие
CentOS:
"6":
epel-6:
descr: EPEL mirror for RHEL/CentOS 6.x 86_64
baseurl: http://repo.example.com:8080/epel/x86_64/6
enabled: 1
gpgcheck: 0
Каждый раз, когда он запускается, параметр гарантирует, что
Ошибка: не удалось получить каталог с удаленного сервера: ошибка 400 на СЕРВЕРЕ: недопустимый параметр, убедитесь в /app/copa/puppet/conf/environments/qa/modules/xh_system/manifests/xh_yumrepo.pp:17 на узле qa-test.example .com
жесткое кодирование параметра обеспечения или его определение в common.yaml дает ту же ошибку. В соответствии с Тип юмрепо это допустимый параметр. Я застрял в том, что вызывает ошибку, поскольку параметр действителен, комментируя строки, обеспечивающие работу сценария марионетки.
Параметр ensure
для yumrepo
на самом деле не поддерживается до версии Puppet 3.5.1. Даже в 3.5.0 есть несколько проблем. Посмотри это проездной билет.