Vagrand, Puppet, Guard

ええと以下なリポジトリにあるナニを試してみているのですが

どうも一度 vagrand up したソレに Puppet などでパケジ導入などをヤッてしまうと、導入したパケジは以降そのまんまになっちゃうらしい。当たり前っちゃ当たり前ですが。
で、今 vagrant package して雛形を作り、それを元に box add とかしてやれ、と思っているのですが、試験を kickoff する度に Guard あたりが setup/teardown な処理として vagrant box add/remove してくれないかなぁ、と。

もうひとつ

なエントリにもある通り、試験をパスするためには apt-get update を実行しなければ、Puppet が apache2 を導入することができないようです。
こちらも Puppet 方面から何とかならないか、と試行錯誤した結果、puppet-repo/modules に aptsetup/manifest というディレクトリを掘って init.pp というファイル名で以下な情報を投入して

class aptsetup {
  exec { subscribe-echo:
    command   => "/usr/bin/apt-get update",
    logoutput => true
  }
}

あとは modules/truth/manifests/enforcer.pp に include aptsetup を追加すれば guard の中で apt-get update していることを確認してます。以下に一部のみ引用。

class truth::enforcer {
  group { "puppet":
    ensure => "present",
  }

  include aptsetup

  if has_role("webserver") {

vagrant 云々な問題はありますが、これでようやくスタート地点に立てた模様。とりあえず、apt-get update なナニは commit を作って pull request 投げてみようかな。
# 作法を知らんのだけど大丈夫かな

追記

上記の方法だと vagrant up した時に apt-get update が動くみたい。困ったなぁ。