已经使用整洁资源编写了以下清单以删除旧的 war 文件
$ cat /home/kar/cleanwars.pp
node 'node-010.example.com' {
tidy { '/home/kar/temp/':
path=> '/home/kar/temp/',
age => '1w',
recurse => true,
matches => [ 'myapp-*.war','hisapp-*.war' ],
}
}
但是我在执行时看到以下错误。
2017-04-06 16:24:32,939 ERROR [qtp1760700677-69] [puppet-server] Puppet Node 'Node-010.example.com' is already defined at line 1; cannot redefine at line 9 on node Node-003.example.com
在同一目录中还有另一个清单文件 (site.pp),我们使用与上面定义的相同主机。此清单文件如下
$version="6.9"
node default{
}
node 'node-003.example.com','node-010.example.com' {
file{"myapp.war":
path =>"/data/dist/apps/myapp-$version.war",
ensure => present,
group => 'admin',
owner => 'tomcat',
source => "puppet:///modules/helloworld/myapp-$version.war",
}
为什么我不能hostname
在两个不同的清单文件中使用相同的内容?
答案1
一个节点不能有多个声明,您应该定义类并在节点声明中使用它们。
使用 hiera,您还可以根据节点名称等条件分配节点类。