Dies ist ein Update zu meinen beiden Beiträgen “Virtuelle Images mit VeeWee erstellen” und “Virtuelle Maschinen-Automatisierung mit Vagrant”. Das letzte Mal, als ich “meine eigenen” Vagrant-Boxen erstellt habe, liegt ziemlich lange zurück, und die Dinge haben sich seitdem geändert.

Anstatt VeeWee habe ich die Kombination aus Bento und Packer ausprobiert, wie in diesem Beitrag beschrieben, da ich zwei frische OS X 10.9.1-Systeme hatte, auf denen ich die Prozedur ausprobieren konnte, plus eine ältere 10.8.x-Maschine.

Vom ISO zur virtuellen Maschine in 7 Schritten

Schritt 1: VirtualBox installieren

Lade VirtualBox von ihrer Seite herunter und installiere es.

Schritt 2: Homebrew installieren

Führe in deinem Terminal diesen Einzeiler aus:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"

Schritt 3: Vagrant installieren

Lade Vagrant von hier herunter und installiere es.

Schritt 4: Packer installieren

Zurück in deinem Terminal, führe aus:

brew tap homebrew/binary
brew install packer

Schritt 5: Bento holen

Wechsle in dein Projekt- oder Arbeitsverzeichnis und hole Bento:

git clone https://github.com/opscode/bento.git.

Schritt 6: CentOS bauen

Zeit, die Box mit den folgenden Befehlen zu bauen:

cd bento/packer
packer build -only=virtualbox-iso centos-6.5-x86_64.json

Fehlerbehebung

Als ich das auf meinem alten MacBook Pro mit OS X 10.8.x machte (ich konnte mich nicht an die genaue Version erinnern), stieß ich auf zwei Probleme.

Auf meinen neueren MacBook Pros hatte ich überhaupt keine Probleme - es lief ziemlich glatt.

Problem 1

Das erste Problem sah so aus:

Failed to parse template: 1 error(s) occurred:
Unknown root level key in template: 'variables'

Ich löste es mit:

brew link --overwrite packer
Problem 2

Ein weiterer Fehler bezüglich VirtualBox:

virtualbox-iso: Error sending boot command: VBoxManage error: 	VBoxManage: error: Guest not running

Der wurde durch Reparieren der Festplattenberechtigungen in OS X’s Festplattendienstprogramm gelöst.

Schritt 7: Das Vagrant-Zeug machen

Schließlich die Box zum Laufen bringen:

vagrant box add my_centos_65../builds/virtualbox/opscode_centos-6.5_chef-provisionerless.box
vagrant init my_centos_65
vagrant up
vagrant ssh

Genieße deine neue Box.

Fazit

Im Vergleich zu meinen ersten Sitzungen mit VeeWee und Vagrant bereitete mir die Kombination aus Vagrant, Packer und Bento weniger Schwierigkeiten beim Erstellen einer VM. Die Probleme, auf die ich diesmal stieß, lagen nur an meiner älteren Maschine. Wie oben erwähnt, lief auf den beiden neueren MacBook Pros alles reibungslos.

Wenn du dich über Vagrant einlesen möchtest, gibt es jetzt das Vagrant Cookbook. Ich habe es noch nicht gelesen; wenn du es hast, lass mich wissen, was du davon hältst.

Fertig für heute!