Vik*_*rón 17 ruby-on-rails manifest puppet vagrant
我试图从puppet清单中的本地模块中获取文件(在独立模式下使用puppet):
file {
'/home/repowt/.crontab':
ensure => present,
source => 'puppet:///modules/site/crontab';
}
Run Code Online (Sandbox Code Playgroud)
但我得到:
Could not evaluate: Could not retrieve information from source(s) ...
Run Code Online (Sandbox Code Playgroud)
该文件位于:
config/puppet/modules/site/files/crontab
Run Code Online (Sandbox Code Playgroud)
(puppet被称为via vagrant provision并且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'
Run Code Online (Sandbox Code Playgroud)
无济于事.我发现网上没有什么亮点,看起来很简单.感谢您的帮助.
小智 20
这里有几件事情.
首先,正如pwan所说,fileserver.conf需要正确设置.
请记住,/vagrant包含目录所在的Vagrantfile位置(因此包含所有内容),这对我来说意味着:
vm_config.vm.provision :puppet, :module_path => "modules", :options => ["--fileserverconfig=/vagrant/fileserver.conf", ]
Run Code Online (Sandbox Code Playgroud)
我fileserver.conf指定/etc/puppet/files要使用.
虽然我可以指定一个不同的fileserver.conf,只是为了Vagrant,我想要的一切都和平时一样.
所以,我也装/etc/puppet/files了
vm_config.vm.share_folder "files", "/etc/puppet/files", "files"
Run Code Online (Sandbox Code Playgroud)
哪些东西对我有用.
小智 6
我注意到Vagrant在目标VM上安装了它的dir副本(我使用的是基础http://dl.dropbox.com/u/15307300/vagrant-0.7-centos-64-base.box); 做一个"装载",看看你是否也有这个.
这允许我在我的Vagrant中创建一个目录,与清单/我称之为"files /"并行.然后我将配置源文件放在那里,例如,.../myvagrantproject/files/slapd.conf.它在VM上显示为/vagrant/files/slapd.conf
然后在文件源的puppet清单中,我将源列为绝对文件路径,而不是puppet服务器路径,如:
file { 'slapd.conf':
name => '/etc/openldap/slapd.conf',
ensure => present,
source => '/vagrant/files/slapd.conf',
owner => root,
group => ldap,
mode => 0640,
require => Package["ldapservers"],
}
Run Code Online (Sandbox Code Playgroud)
它发现它自己的vbox安装的远程文件系统没有问题.
| 归档时间: |
|
| 查看次数: |
25982 次 |
| 最近记录: |