定义 yumrepo 类型时出现错误“SERVER 上的错误 400:参数无效”

定义 yumrepo 类型时出现错误“SERVER 上的错误 400:参数无效”

我正在尝试定义一个类型来创建 yum repos。我希望能够从 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:节点 qa-test.example.com 上的 /app/copa/puppet/conf/environments/qa/modules/xh_system/manifests/xh_yumrepo.pp:17 处的参数无效

对 Ensure 参数进行硬编码或在 Common.yaml 中定义它会产生相同的错误。根据输入 yumrepo这是一个有效参数。由于该参数有效,我不知道导致错误的原因是什么,因此注释掉这些行以确保 puppet 脚本能够正常工作。

答案1

ensurePuppet 3.5.1 之前不支持for参数yumrepo。即使在 3.5.0 中也存在多个问题。请参阅此

相关内容