Я пытаюсь форсировать класс Puppet, который создает файл для обработки до другого класса, которому нужен этот файл для правильной работы. После статьи Puppet Язык: ограничение ресурсов Я использую contain
.
Мой код не работает, и я не понимаю, почему. Выдает эту ошибку:
Error: Evaluation Error: Error while evaluating a Function Call, Failed to parse template testing/def.erb:
Filepath: /root/local/testing/templates/def.erb
Line: 1
Detail: No such file or directory @ rb_sysopen - /tmp/abc
at /root/local/test2.pp:16:16 on node example.com
Вот код (урезанный):
### test2.pp
class klass1 {
file { '/tmp/abc':
content => 'xxx',
}
}
# Stage 0 creates the file /tmp/abc.
class stage0 {
contain klass1
}
# Stage 1 uses the contents of /tmp/abc to create the
# file /tmp/def.
class stage1 {
file { '/tmp/def':
content => template('testing/def.erb'),
}
}
# Try to force stage0 to be loaded before stage1.
include stage0
class { 'stage1':
require => Class['stage0']
}
### testing/templates/def.erb
Contents: <%= File.read("/tmp/abc") %>
Я использую Puppet 5.3.3.