написали следующие манифесты, используя tidy resource для удаления старых файлов войны
$ 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
в двух разных файлах манифеста?
Узел не может иметь несколько объявлений, вы должны определить классы и использовать их в объявлениях узлов.
Используя hiera, вы также можете назначать классы узлов на основе таких условий, как имя узла.