Заказ с созданием и чтением файла в Puppet

Я знаю, что проблема с каталогом, но я просто не могу понять, как это обойти.

У меня есть следующий код, и я получаю следующую ошибку:

class test1 {
  file { '/tmp/test.txt':
    ensure  => present,
    content => 'name=joe',
  }
}

class test2 {
  $test = file('/tmp/test.txt')
  notify { $test: }
}

class test3 {
  class { 'test1': } ->
  class { 'test2': }
}

puppet apply -e "include test3"

Error: Could not find any files from test.txt at ../modules/test2/manifests/init.pp

По сути, я пытаюсь прочитать файл до того, как он существует, и порядок, похоже, не работает. Любые идеи, как я могу обойти это?


person nmajin    schedule 08.12.2015    source источник


Ответы (1)


Судя по описанию функции, которую вы пытаетесь использовать, она никогда не будет работать так, как вы пытаетесь.

файл:
загружает файл из модуля и возвращает его содержимое в виде строки.

Аффективно это означает, что файл будет существовать в

test1/файлы/test.txt

И будет загружаться с использованием: file('test1/test.txt') т.е. file(<MODULENAME>/<FILENAME>)

person Travis    schedule 08.12.2015
comment
Я должен был указать, что файл загружается в файловую функцию по его абсолютному пути: т.е. файл('/tmp/test.txt') - person nmajin; 09.12.2015