問題点 #8172

Vagrantのプロビジョニングが失敗することがある

ナカエ -2年以上前に追加. 約2年前に更新.

ステータス:終了開始日:
優先度:通常期日:
担当者:-進捗率:

0%

カテゴリ:その他
対象バージョン:3.0.8

説明

たまにプロビジョニングが失敗します。
yumとネットーク絡みだと睨んでますが、再現率が低く詳しい条件は未解明です。

情報求厶。

log.zip - ログ等 (21.854 KB) - nojimage, 2015/03/19 10:42


履歴

#1 - nojimage2年以上前に更新

昨日新規にVagrantファイルから立ち上げてみました。

プロビジョニング中(yumアップデート処理中)に仮想マシンがいきなり落ちてしまいました。
パッケージの依存性が壊れたため、chefではプロビジョニング出来ず、手動でyumのアップデートをやり直しプロビジョニングを再開しました。

仮想マシンが落ちたときの原因についてはログからは判別できませんでした。
(痕跡なし

環境:
OS X Mavericks 10.9.4
VirtualBox 4.3.18
Vagrant 1.6.3

関係しそうなのはVirtualbox Guest Additionsのバージョンなどでしょうか。

#2 ナカエ -2年以上前に更新

Vagrantのログの頭のほうでVirtualbox Guest Additionsをアップデートしているのは
vagrant-vbguestプラグインの挙動ですよね。

最初にインストールしたパッケージと、
後でremiとepelのリポジトリを追加してからインストールしたパッケージが重複して
yum -y updateが失敗しているみたいですね。

yum-utilsでも使ってパッケージの重複を事前に解決するように
レシピを変更すれば対症療法にはなりますかねえ。

--------------------------------------
> default: You could try using --skip-broken to work around the problem
> default: ** Found 7 pre-existing rpmdb problem(s), 'yum check' output follows:
> default: centos-release-6-6.el6.centos.12.2.x86_64 is a duplicate with centos-release-6-4.el6.centos.10.x86_64
> default: glibc-common-2.12-1.149.el6_6.5.x86_64 is a duplicate with glibc-common-2.12-1.107.el6_4.2.x86_64
==> default: glibc-common-2.12-1.149.el6_6.5.x86_64 has missing requires of glibc = ('0', '2.12', '1.149.el6_6.5')
> default: kernel-firmware-2.6.32-504.12.2.el6.noarch is a duplicate with kernel-firmware-2.6.32-358.el6.noarch
> default: kernel-headers-2.6.32-504.12.2.el6.x86_64 is a duplicate with kernel-headers-2.6.32-358.14.1.el6.x86_64
> default: setup-2.8.14-20.el6_4.1.noarch is a duplicate with setup-2.8.14-20.el6.noarch
> default: tzdata-2015a-1.el6.noarch is a duplicate with tzdata-2012j-1.el6.noarch
> default: STDERR: There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
> default: The program yum-complete-transaction is found in the yum-utils package.
> default: Error: Package: glibc-common-2.12-1.107.el6_4.2.x86_64 (@updates)
> default: Requires: glibc = 2.12-1.107.el6_4.2
> default: Removing: glibc-2.12-1.107.el6_4.2.x86_64 (@updates)
> default: glibc = 2.12-1.107.el6_4.2
> default: Updated By: glibc-2.12-1.149.el6_6.5.x86_64 (updates)
> default: glibc = 2.12-1.149.el6_6.5
> default: Available: glibc-2.12-1.149.el6.i686 (base)
> default: glibc = 2.12-1.149.el6
> default: Available: glibc-2.12-1.149.el6_6.4.i686 (updates)
> default: glibc = 2.12-1.149.el6_6.4
> default: ---- End output of yum y update ---
> default: Ran yum y update returned 1
------------------------------------------

僕がたまに遭遇していたものとは別のバグかもしれません。
手元でvagrant-vbguestを入れて実験してみます。

#3 ナカエ -2年以上前に更新

vagrant-vbguest入れてみても再現しないですね。

僕の理解が間違ってたみたいですが、

  • yum updateが失敗したのは仮想マシンがyum実行中に落ちてyumのトランザクションが意図せず終わったため
  • 一度目に仮想マシンが落ちた原因を究明しないとどうにもならないが手掛かりなし

ということなんですね。
うーん。これは困った。

#4 - nojimage2年以上前に更新

はい、私の現象は解明困難かと。。今はVirtualBoxとかバージョンのせいってことにしておきます。

ChefSoloによるプロビジョンについて関係ないかもですが、こんな話もあるようです。(詳しく読んでない

Problem reloading Chef shared folders · Issue #5199 · mitchellh/vagrant https://github.com/mitchellh/vagrant/issues/5199

キャッシュの話なので、初回は関係ないのかな。

#5 権藤 隆行約2年前に更新

Vagrantfile.default[Line: 19-20] の この部分ですが、該当のboxファイルがないようです。 # boxes at https://atlas.hashicorp.com/search.
config.vm.box = "chef/centos-6.6"

共有のため追記しておきます。

#6 ナカエ -約2年前に更新

最近、chefがVagrantBoxのベンダー名を変えたみたいですね。
bento/centos-6.7が代わりに使えます。

#7 江頭 竜二約2年前に更新

  • 対象バージョン3.0.8 にセット

#8 江頭 竜二約2年前に更新

  • ステータス担当 から 終了 に変更

こちらのチケットでベンダー名は変更していますので、こちらは一旦クローズにします。
http://project.e-catchup.jp/issues/9959

他の形式にエクスポート: Atom PDF