2016-06-20 6 views
0

Chef provisioningを提供しており、シェフでマシンやインフラストラクチャを一元的に作成するためのライブラリを提供しています。シェフは食器洗い機

driver for using Vagrantもあります。

私は、いくつかの変更を加えて、ローカルのノートパソコンで作業する簡単な例を得ることができました。以下のコードをRubyファイルvagrant_linux.rbに置き、chef-client -z vagrant_linux.rbで実行します。

require 'chef/provisioning/vagrant_driver' 
with_driver 'vagrant' 

with_machine_options :vagrant_options => { 
    'vm.box' => 'ubuntu/trusty64'#, 
},:vagrant_config => <<EOF 
    config.vm.provider 'virtualbox' do |v| 
     v.memory = 4096 
     v.cpus = 2 
    end 
EOF 
machine 'mario' do 
    converge true 
end 

私はこの例に基づいて、シェフのレシピを作成すると、私のシェフサーバにそれをアップロードし、そのノードに適用されますが、これは一貫し

[2016-06-20T20:16:36+02:00] ERROR: machine[mario] (ok-test::default line 99) had an error: RuntimeError: vagrant up mario --provider virtualbox failed! 
STDOUT: 
STDERR:Vagrant failed to initialize at a very early stage: 

Vagrant is attempting to interface with the UI in a way that requires 
a TTY. Most actions in Vagrant that require a TTY have configuration 
switches to disable this requirement. Please do that or run Vagrant 
with TTY. 

Google検索は、これが一般的であることを示しているメッセージで失敗します問題は良い/作業の修正や回避策ではないようです。

これは、私がサポートしていないし、もっと良い方法があるので、私がしてはいけないことをしようとしているのだろうかと思います。

もちろん、地元のラップトップで実行されるツールです。通常、サーバー上では使用されません。

サーバ上で簡単なVirtualBoxマシンのプロビジョニングを行うにはどうすればよいですか?

+1

実際には 'test-kitchen'がうまく動作します。私が料理本をテストしていなくても、プロビジョニングされたスクラッチVMを取得するために使用します。 –

答えて

1

シェフのプロビジョニングは、もはやプロジェクトに基づいているはずです。詳しくはhttps://coderanger.net/provisioning/を参照してください。コメントに記載されているように、Test Kitchenは、Vagrantを介してローカルでVMをテストしたり、さまざまなクラウドプラグインのいずれかを使用してVMをテストしたりテストしたりするのに適したツールです。