ruby-on-rails - 如何从模块中获取 puppet list 中的文件

标签 ruby-on-rails manifest puppet vagrant

我正在尝试从 puppet list 中的本地模块获取文件(在独立模式下使用 puppet):

file {
  '/home/repowt/.crontab':
    ensure => present,
    source => 'puppet:///modules/site/crontab';
}

但我得到:

Could not evaluate: Could not retrieve information from source(s) ...

该文件位于:

config/puppet/modules/site/files/crontab

(通过 vagrant provision 调用 puppet 并且 Vagrantfile 指定 module_path='config/puppet/modules' 并且显然没问题,因为 puppet 确实从那里加载模块。)

我也试过:

source => 'puppet:///site/crontab'
source => 'site/crontab'
source => 'config/puppet/modules/site/files/crontab'
source => '/modules/site/crontab'

无济于事。我在网上找不到任何启发性的东西,似乎很简单。
感谢您的帮助。

最佳答案

这里发生了几件事。

首先,正如 pwan 所说,fileserver.conf需要正确设置。

请记住 /vagrant包含 Vagrantfile 所在的目录是(因此所有内容),这对我来说意味着:

vm_config.vm.provision :puppet, :module_path => "modules", :options => ["--fileserverconfig=/vagrant/fileserver.conf", ]

我的 fileserver.conf指定 /etc/puppet/files是要使用的。

虽然我可以指定一个不同的 fileserver.conf ,就 Vagrant 而言,我希望几乎所有东西都和平常一样。

所以,我也安装了/etc/puppet/files也,与
vm_config.vm.share_folder "files", "/etc/puppet/files", "files"

这让事情对我有用。

关于ruby-on-rails - 如何从模块中获取 puppet list 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7216375/

相关文章:

windows - 在 list 中指定公钥 token

git - 如何从 github repo 克隆,然后在 puppet 上运行 npm install

ruby-on-rails - Rails 4.2.0.rc1 升级 <module:InheritedResources>': 未初始化的常量 ActionController::Responder (NameError)

maven-2 - 如何从 Maven 程序集插件的 list 中添加任意信息

javascript - Rails 4 - JavaScript 停止工作,获取 : undefined is not a function

java - 如何在没有安全警告的情况下发布 Java Web Start jnlp 应用程序?

ruby - 创建 puppet 包提供程序 - "No command service defined for provider"

ssl - 如何将 Puppet Master 设置为节点

ruby-on-rails - Heroku 上多个 Redis 实例的最佳实践?

css - 当网站从 http 到 https 时,某些 CSS 无法显示