vagrantでcentos6.5の環境を構築し、chefDKをinstallしてopscodeからソースを取得しようとしたら題名のエラーが発生した。
環境
- box centos6.5 on vagrant 1.6.5
- windows7 & mac Yosemite
- chefDK 0.3.0
原因はconnection.rbファイルのopen_timeoutの設定時間が短すぎること。どうやらwindowsやmac上のvagrantで実行していると名前解決に時間がかかってしまうらしい。
対処方法は、connection.rbを書き換えるしかないようです。ということでLet's hacking。
find /. -name connection.rb // result... /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/berkshelf-api-client-1.2.0/lib/berkshelf/api_client/connection.rb
発見。このconnection.rbを書き換える。
before
def initialize(url, options = {}) options = options.reverse_merge(retries: 3, retry_interval: 0.5, open_timeout: 3, timeout: 30)
after
def initialize(url, options = {}) options = options.reverse_merge(retries: 3, retry_interval: 0.5, open_timeout: 30, timeout: 30)
保存したらいつものようにberks installをすれば上手くいくはずです。
以上
参考サイト
0 件のコメント:
コメントを投稿