Puppet 重载模块中的默认参数

Puppet 重载模块中的默认参数,puppet,Puppet,我想使用我自己的Jenkins插件服务器从中获取插件。我正在使用puppet jenkins模块,但我似乎无法更改默认插件主机值 在清单/参数中有以下内容: class jenkins::params { .. $default_plugins_host = 'https://updates.jenkins-ci.org' .. } 所以当我使用这个类时,如果我说: class { 'jenkins': default_plugins_host =>

我想使用我自己的Jenkins插件服务器从中获取插件。我正在使用puppet jenkins模块,但我似乎无法更改默认插件主机值

清单/参数中有以下内容:

class jenkins::params {
    ..
    $default_plugins_host  = 'https://updates.jenkins-ci.org'
    ..
}
所以当我使用这个类时,如果我说:

class { 'jenkins': 
     default_plugins_host => "https://myhost.local"
} 
我得到
Puppet(err):无效参数

或者,如果我尝试使用capscase定义值:

Jenkins::Params { 
     default_plugins_host => "https://specificallybrokenhost.com"
} 
它不是木偶用的。我通过给它一个不存在的插件主机来测试它,期望插件安装失败;但是它成功地获得了插件(我的假设是它仍然使用jenkins ci.org)

我能够通过在
库jenkins/puppet jenkins
中本地处理整个模块并更改值来实现这一点,但我不想求助于此


如果有帮助的话,我正在使用puppet Library和puppet 3.3。

params.pp文件存储私有变量。这不能被覆盖

查看显示的模块,您可以更改plugin.pp第67-82行的url

if $version {
  $plugins_host = $update_url ? {
    undef   => $::jenkins::default_plugins_host,
    default => $update_url,
  }
 $base_url = "${plugins_host}/download/plugins/${name}/${version}/"
 $search   = "^${name} ${version}$"
}
else {
  $plugins_host = $update_url ? {
    undef   => $::jenkins::default_plugins_host,
    default => $update_url,
  }
  $base_url = "${plugins_host}/latest/"
  $search   = "${name} "
}
$plugins\u host将使用update\u url(如果已定义),而不是默认的\u plugins\u host。如果您在插件定义类型上设置了默认值,您可以更改默认的\u plugins\u host来更新\u url,如下所示

Jenkins::Plugin {
  source_url => 'mycompany.jenkins.com',
}

我自己还没有测试过。所以,让我知道它是否有效。

这有效!我更新了最后一个代码段以使用正确的变量名,但在这一更改之后,我看到了正确的结果。我不知道
params.pp
是私人空间:(