これはたぶん基本的な質問ですが、私は解決策を見つけることができません。私はpuppetlabsによって与えられたapacheモジュールを使いたい環境を設定しました。
私の人形のバージョンは、私のディレクトリの3.7.2
ツリーです:人形はインストールされたモジュールからクラスを見つけることができませんapache
.
├── environments
│ └── test
│ ├── environment.conf
│ ├── manifests
│ │ └── site.pp
│ └── modules
│ ├── apache
│ │ └── manifests
│ │ ├── init.pp
│ │ └── vhost_basic.pp
│ └── update
│ └── manifests
│ └── init.pp
└── Vagrantfile
Vagrantfile内部の私のプロビジョニングは、次のようになります。
config.vm.provision :puppet do |puppet|
puppet.environment_path = "environments"
puppet.environment = "test"
puppet.options = ['--verbose']
end
私site.pp:
Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] }
include update
node 'localhost' {
class { 'apache': } # use apache module
apache::vhost { 'example.com': # define vhost resource
port => '80',
docroot => '/var/www/html'
}
}
apaches内(ディレクトリ)init.pp私はinclude apache
しか持っていません。そして、私はpuppet module install puppetlabs-apache
経由でApacheモジュールをインストールしました。また、home/user/.puppet/modules
にも格納されています。私はまた、sudoを介してモジュールをインストールしました。私はvagrant provision
を実行したときしかし、それは私に言う:
==> default: Running provisioner: puppet...
==> default: Running Puppet with environment test...
==> default: Error: Evaluation Error: Error while evaluating a Resource Statement, Could not find declared class apache at /tmp/vagrant-puppet/environments/test/manifests/site.pp:16:3 on node localhost
は、私がここで何をしないのですか?
EDIT:
puppet config print |grep path
の結果は次のとおりです。
path = none
environmentpath =
basemodulepath = /home/user/.puppet/modules:/usr/share/puppet/modules
modulepath = /home/user/.puppet/modules:/usr/share/puppet/modules
factpath = /home/user/.puppet/var/lib/facter:/home/user/.puppet/var/facts
あなたのマシンは "localhost"でホスト名を設定していますか? – k0chan
あなたの 'environment.conf'には' modulepath'の値はありますか? –
@ k0chanそれは設定されていませんでしたが、 'config.vm.hostname =" localhost "を追加すると同じ結果が得られます – user3528269