傀儡变量

傀儡变量

我试图在模块 manifest.pp 中使用变量,但运气不佳

class mysoftware($version="dev-2011.02.04b") {
  File {
    links => follow
  }

  file { "/opt/mysoftware":
    ensure => directory
  }
  file { "/opt/mysoftware/share":
    source => "puppet://puppet/mysoftware/air/$version",
    recurse => "true",
  }
  }

当我通过 nodes.pp 文件将其分配给节点时,这似乎不起作用。

我正在运行 puppetmaster 2.6.4 puppetd ​​客户端是 0.25

答案1

我相信你需要像这样引用它:

source => "puppet://puppet/mysoftware/air/${version}",

以下是我使用类似方法的方法:

class aliases($al="aliases") {
    file { "/etc/aliases":
        mode  => 640,
        source => "puppet:///files/sendmail/${al}",
        owner => "root",
        group => "root",
        before  => Exec["create aliases db"]
    }

     exec { "new_aliases":
        command => "/usr/bin/newaliases",
        subscribe => File["/etc/aliases"],
        alias => "create aliases db",
        refreshonly => true,
     }
}

我从 manifests/nodes.pp 中引用了它。实际上我不需要那样做,而是为您设置并测试它(我的其他示例会更长)。效果很好。

答案2

您使用的是 2.6 或更早的版本吗?参数化类是 2.6 中的新增功能,因此如果您使用的是旧版本,则此方法将不起作用。

相关内容