2016-06-20 16 views
0

Chef provisioning bietet eine Bibliothek für die Erstellung von Maschinen und Infrastrukturen in Chef Ipefently.Chef Provisioning mit Vagrant

Es gibt auch eine driver for using Vagrant.

Mit ein paar Änderungen habe ich ein einfaches Beispiel auf meinem lokalen Laptop bekommen. Ich habe den folgenden Code in Ruby-Datei vagrant_linux.rb eingegeben und dann mit chef-client -z vagrant_linux.rb ausgeführt.

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 

Wenn ich ein Chef Rezept erstellen auf diesem Beispiel basieren, laden die Server zu meinem Chef und dann zu einem Knoten anwenden, dies nicht gelingt durchweg mit Meldung

[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-Suche zeigt, dass dies üblich ist Problem, für das es keinen guten/Arbeits-Fix oder Workaround zu geben scheint.

Das lässt mich fragen, ob ich versuche, etwas zu tun, was ich nicht sollte, weil es nicht unterstützt wird und es gibt einen besseren Weg, es zu tun.

Vagrant ist natürlich ein Werkzeug, das auf lokalen Laptop läuft. Es wird normalerweise nicht auf einem Server verwendet.

Was sollte ich für die Bereitstellung von einfachen VirtualBox-Rechnern auf einem Server verwenden?

+1

'Test-Küche' funktioniert eigentlich gut dafür, und es ist, was ich verwende, um eine bereitgestellte Scratch-VM zu bekommen, auch wenn ich kein Kochbuch teste. –

Antwort

1

Chef Provisioning ist nicht länger ein Projekt, mit dem Sie wahrscheinlich neue Arbeit beginnen sollten, siehe https://coderanger.net/provisioning/ für Details. Wie in einem Kommentar erwähnt, ist Test Kitchen das richtige Tool, um VMs entweder lokal über Vagrant oder mit einem der verschiedenen Cloud-Plugins zu entwickeln und zu testen.