18

puppetマニフェストのローカルモジュールからファイルを取得しようとしています(スタンドアロンモードで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

(puppetは経由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'

役に立たない。私はウェブ上で何も照らしているものを見つけませんでした、非常に単純なもののようです。あなたの助けに感謝します。

4

5 に答える 5

20

ここでいくつかのことが起こっています。

まず、pwan が指摘しているように、fileserver.confを正しくセットアップする必要があります。

/vagrantディレクトリが含まれていることに注意Vagrantfileしてください(したがって、そのすべてのコンテンツ)、それは私にとって次のことを意味します:

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

Myは、使用することをfileserver.conf指定します/etc/puppet/files

Vagrant だけに別の を指定することもできましたがfileserver.conf、ほとんどすべてを通常と同じにしたかったのです。

だから、私もマウント/etc/puppet/filesしました

vm_config.vm.share_folder "files", "/etc/puppet/files", "files"

これでうまくいきました。

于 2012-05-05T16:24:43.250 に答える
11

puppet:///modules/my_module/file一致する必要があります%vagrant_root%/modules/my_module/files/file

于 2012-10-25T23:32:14.947 に答える
6

Vagrant がそのディレクトリのコピーをターゲット VM にマウントしていることに気付きました (ベースhttp://dl.dropbox.com/u/15307300/vagrant-0.7-centos-64-base.boxを使用しています)。「マウント」を実行して、これもあるかどうかを確認してください。

これにより、「files/」と呼ぶ manifests/ と並行して、Vagrant 内にディレクトリを作成できます。次に、設定ソース ファイルをその下に置きます (例: .../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"],
}

独自の vbox にマウントされたリモート ファイル システムからは、問題がないことがわかりました。

于 2011-08-28T20:52:16.133 に答える
3

元の puppet://modules/site/crontab が機能するはずです。

puppetmaster の fileserver.conf にモジュール セクションがない可能性があります。まだ存在しない場合は、以下のようなものを追加してみてください。

[modules]
    allow *

http://docs.puppetlabs.com/guides/modules.htmlの「モジュール検索」セクションを確認してください。

于 2011-09-28T21:49:00.427 に答える
1

パペットをスタンドアロンモードまたはクライアントサーバーモードで使用しているかどうかは、説明から明らかではありません。スタンドアロン モードを使用している場合、vm の /tmp フォルダーを再確認して、モジュール フォルダーが実際にそこにあり、vagrant がそれをマウントしているかどうかを確認します。マニフェストをロードできるという事実は、モジュールもそこにあるという意味ではありません。

元の構成は正しく見えます。

于 2012-02-13T22:10:13.960 に答える