Vagrand, Puppet, Guard (2)

v6 方面は無理っぽいというか当分こちら方面で頭が一杯なので、ということで。

$ guard|tee guard.txt

みたいな事して出力を確保してるので順に確認しつつ、ということで。

最初らへん

以下な出力。

role::webserver
  should include Class[apache]
  should create Package[httpd]

Finished in 1.39 seconds
2 examples, 0 failures

find-grep で見てみるに puppet-repo/modules/role/rspec/classes/ にある role_webserver_spec.rb がまず動いている模様。定義が以下。

require "#{File.join(File.dirname(__FILE__),'..','spec_helper')}"

describe 'role::webserver', :type => :class do
  let(:facts) {{:server_tags => 'role:webserver=true', :operatingsystem => 'Ubuntu'}}
  it { should include_class('apache') }
  it { should contain_package('httpd').with_ensure('present') }
end

どうやら Rspec は仮想ホストが動いてなくても OK らしい (ってそれは vm が動かない不具合の時に分かってはいたのですが)。ということは何を試験しているか、というと

  • let(:facts) が若干謎ですが
    • /data/etc/server_tags が role:webserver=true を定義してる
    • OS は Ubuntu
  • apache というクラスを include していること
    • これは role::webserver なソレで include されてます
  • httpd という package をナニしてて ensure 属性は present であること
    • これは apache な manifest に記述があります

ええと、多分 role_webserver_spec.rb って試験が足りてない気がしますがここはとりあえずスルー。

とはいえ

なんとなくへろへろなのでこのあたりの確認は明日、ってことで今日は失礼します。