LoginSignup
18
18

More than 5 years have passed since last update.

WEB+DB Press 75号と76号のEmerging Web Technology研究室を手元で再現しようとしてハマった話

Last updated at Posted at 2013-10-27

顛末

伊藤直也さんの「ChefとVagrantによるインフラのコード化」と「serverspecによるテスト駆動インフラ構築」を続けて手元で試した。

「serverspecによるテスト駆動インフラ構築」の122ページ、nginxの「テストを実行する」ステップで、テストが赤のままFailureした。WEB+DBの記述によれば、ここですべて通るはずなのに。

何度試してもテストは通らない。よくログを見ると、そもそも

$ knife solo cook webdb

でnginxをインストールしようとしても

package[nginx] action install (up to date)

となっている。すでにup to dateだからインストールする必要はないとのこと。しかしvagrant sshで実際に見てみるとrake specの結果どおり、インストールはされていない。

原因

Vagrantで作った仮想サーバのホスト名が両方ともwebdbだったからだよ!!!!!!!!

どういうことかというと

knife-soloやserverspecはsshでサーバに入ってシェルスクリプトを実行するだけのもの。なので、

ssh webdb

でwebdbと名前をつけたサーバに入れるように設定しておく必要がある。

そのため~/.ssh/configにwebdbというサーバ名でsshログインできるように設定を書いておく。のだが、~/.ssh/configにWEB+DB Press 75号で作ったwebdbの設定が残っていた。つまり

~/.ssh/config
Host webdb
# 以下省略

Host webdb
# 以下省略

と、webdbと名づけたホストが2つ入っていた。ssh wedbしても、75号で作ったほうにsshしてしまう。なのでchefが目的のホストでなく75号のホストで動いていた。

結論

ホスト名は webdb75ewtl のような間違えない名前にしよう。

18
18
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
18