問題点 #8172

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

Added by ナカエ - over 5 years ago. Updated almost 5 years ago.

Status:終了Start date:
Priority:通常Due date:
Assignee:-% Done:

0%

Category:その他
Target version:3.0.8

Description

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

情報求厶。

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


History

#1 Updated by - nojimage over 5 years ago

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

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

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

環境:
OS X Mavericks 10.9.4
VirtualBox 4.3.18
Vagrant 1.6.3

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

#2 Updated by ナカエ - over 5 years ago

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 Updated by ナカエ - over 5 years ago

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

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

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

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

#4 Updated by - nojimage over 5 years ago

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

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

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

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

#5 Updated by 権藤 隆行 almost 5 years ago

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

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

#6 Updated by ナカエ - almost 5 years ago

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

#7 Updated by 江頭 竜二 almost 5 years ago

  • Target version set to 3.0.8

#8 Updated by 江頭 竜二 almost 5 years ago

  • Status changed from 担当 to 終了

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

Also available in: Atom PDF