chefでyum upgrade -yするやつwww
昨日からあるサービスのためのレシピをずっと書いてたのだけれど、yum update -yをレシピに入れたら結構ハマったので、メモです。
yum upgrade -y
入っているパッケージを全部アップデートするこれですが、まあレシピに書くのは賛否両論ありそうではあります。
しかも俺はremi レポジトリもつかっている、これまた賛否両論だ。
だってレミチャンいれないと、tigもgitもhgもphp5.4もmysql5.5もない、かなりつらい。
(gitはepelだったかな?)
で?
ざっくりいうとyum::remiをおこなってmysql::server,mysql::clientのレシピを走らせると、概ね以下の様なエラーをいわれる
概念的にいえば、
こういう順番でやると*1
Recipe: mysql::client * package[mysql] action install ================================================================================ Error executing action `install` on resource 'package[mysql]' ================================================================================ Chef::Exceptions::Package ------------------------- Installed package mysql-5.5.33-1.el6.remi is newer than candidate package mysql-5.1.69-1.el6_4
こんな文句を言われる。
いや、そのままアップデートしてくれてかまわないから!っておもうのだけれど、ダメ〜って言われるので生きるのがつらい。
どうした?
まあ、順番変えれば動くだろ、ってのは容易に想像ができたので、
という順番にしたら、うごく。
正直キモいのだが(5.1の時に諸々走って、最後に5.5に上がるので)、まあ今のところ目立った弊害はないし、ちゃんと上がってるっぽいのでこれで良しとする。
うーん、あとでまたハマりそうだなー…。
yum_packageにupgrade相当のRecipeがあればいいんだけど。
あと、想像なんで、嘘かもしれませんが、flush_cache attributeあたりが怪しいなー…とかおもうけどどうなんだろうね。
でももう試す気力はゼロだ。