清单应用失败:在两个不同的清单文件中使用相同的主机名

清单应用失败:在两个不同的清单文件中使用相同的主机名

已经使用整洁资源编写了以下清单以删除旧的 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,您还可以根据节点名称等条件分配节点类。

相关内容