puppet でダウングレード

puppet を使った際、upgradeは package: ensure => latest で自動化できそうなのだが、ではダウングレードはどうやるのだろか。

基本的にはダウングレードはあまり必要にならないが、アップグレードした結果上手く動作しなくなることも実際のところよくある.(セキュリティの制限が加わった場合等)

このような場合にはpuppet で(というか yumで)実施できるとありがたいのだが、実際のところどうなのだろうか。

一応 package: ensure ではバージョン番号を指定できるようなのでこれでいけるのかもしれないが、見る限り puppetの中身である yum にはダウングレード用のコマンドが無い.

一応rpmコマンドでもhttpアクセスが出きること + rpmには、--oldpackage オプション があることを考えると、
rpm -Uvh --oldpackage http://yumserver.example.or.jp/myrepo/thunderbird-x.x.x.rpm
などをpuppet exec で実施すればよいのだが、依存性のあるパッケージ数が多いと辛いことは間違いないwww