3

私はこれが初めてで、問題が実際に何であるかを理解するために1つ欠けていると思います。

特定のパックページを vagrant インスタンスにインストールする独自の puppet モジュールを作成できることを理解しています。このapacheのような既製のものもあります。を使用して実行 vagrant sshおよびインストールしましpuppet module install puppetlabs/apacheた。現在は の下にあり/etc/puppet/modules/apacheます。ただし、apache はインストールされていません。

では、apache をインストールするにはどうすればよいでしょうか。

私のVagrantfileには

config.vm.provision :puppet do |puppet|
  puppet.manifests_path = "puppet/manifests"
  puppet.module_path = "puppet/modules"
  puppet.manifest_file  = "init.pp"
  puppet.options="--verbose --debug"
end

さらに、メインの vagrant ディレクトリのpuppet/modules/apache/manifests/init.pp:

class apache2::install {
  package { 'apache2':
    ensure => present,
  }
}

それでも、 apache がインストールされているvagrant provisionvagrant reloadどうかに関係なく、インストール プロセスは開始されません。の後のログからvagrant provision、そのメッセージは私には完全に不可解に見えます。

[default] Running provisioner: puppet...
Running Puppet with init.pp...
debug: Creating default schedules
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: Puppet::Type::User::ProviderUser_role_add: file rolemod does not exist
debug: Puppet::Type::User::ProviderLdap: true value when expecting false
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Failed to load library 'ldap' for feature 'ldap'
debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/state/last_run_report.yaml]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/state/last_run_summary.yaml]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet]
debug: Finishing transaction 70208664910260
debug: Loaded state in 0.00 seconds
debug: Loaded state in 0.00 seconds
info: Applying configuration version '1389652562'
debug: /Schedule[daily]: Skipping device resources because running on a host
debug: /Schedule[monthly]: Skipping device resources because running on a host
debug: /Schedule[hourly]: Skipping device resources because running on a host
debug: /Schedule[never]: Skipping device resources because running on a host
debug: /Schedule[weekly]: Skipping device resources because running on a host
debug: /Schedule[puppet]: Skipping device resources because running on a host
debug: Finishing transaction 70208665347780
debug: Storing state
debug: Stored state in 0.00 seconds
notice: Finished catalog run in 0.05 seconds
debug: Finishing transaction 70208665012580
debug: Received report to process from localhost.localdomain
debug: Processing report from localhost.localdomain with processor Puppet::Reports::Store 
4

3 に答える 3

4

Vagrant に (Vagrant ディレクトリに関連する) でマニフェストを探す必要があること、および(指示に従って)で探すものにpuppet/manifests基づいてマシンを構成する必要があることを伝えました。つまり、Vagrant は にあるものをすべてインストールします。それは見ません(少なくとも、最初は)。init.pppuppet/manifestspuppet/manifests/init.pppuppet/modules/apache/manifests/init.pp

次のようなものを入れると、puppet/manifests/init.pp正しくインストールされるはずです。

class {'apache':}

apache モジュールに加えて、すべての依存関係 (この場合は Puppetlabs の stdlib および concat モジュール)puppet/modulesもディレクトリにインストールされていることを確認してください。

于 2014-01-14T02:04:19.017 に答える
1

Vagrant についてはわかりませんが、パペットでは、「/etc/puppet/manifests/site.pp」ファイルのノードにインストールする必要があるものについて言及する必要があります。

ですから、このようになります。

ノード 'hosts.fqdn' {

include apache2 

}

詳細については、http: //docs.puppetlabs.com/puppet/2.7/reference/lang_node_definitions.htmlを参照してください。

于 2014-01-14T01:50:05.353 に答える