Puppet无法找到我的.erb模板,但找到其他文件好吗?

时间:2016-01-22 20:38:47

标签: ruby puppet erb

没有人能够在我的公司内解释这一点,所以如果你能够解决这个KUDOS给你的话!

在我的木偶回购中我设置如下:

environment/ops/modules/papertrail
    ├── files
    │   ├── elasticsearch_log_files.yml
    │   ├── log_files.yml
    │   └── remote_syslog.conf
    |  
    └── manifests 
        ├── elasticsearch.pp
        └──init.pp
    └── templates
        └── elasticsearch_log_files.yml.erb

我的elasticsearch.pp文件包含以下内容:

class papertrail::elasticsearch inherits papertrail {

      $source = "puppet:///modules/papertrail"

      file { "/etc/log_files.yml" :
        mode         => 0644,
        owner        => root,
        group        => root,
        ensure       => present,
        source       => "$source/elasticsearch_log_files.yml",
      }
    }

现在,当我尝试将最后一行更改为:

" $源/ elasticsearch_log_files.yml.erb",

" $源/模板/ elasticsearch_log_files.yml",

Puppet出错并说它无法找到该文件:

错误:/Stage[main]/Papertrail::Elasticsearch/File[/etc/log_files.yml]:无法评估:无法从环境操作源检索信息:/// modules / papertrail / elasticsearch_log_files.yml.erb

奇怪的是,当我使用以下节来只包含yml文件而不是erb时,它工作正常并且文件会在目标上填充:

 "$source/elasticsearch_log_files.yml",

我如何包含我的erb?我有动态变量,我需要分配给配置文件log_files.yml,我到目前为止无法这样做=(

1 个答案:

答案 0 :(得分:0)

这已经解决了。我没有将模板目录添加到我的git commit中,所以一旦添加了git add。它奏效了。