Reminder für das morgige Foreman / OpenNebula Webinar

opennebula_foreman Ich möchte noch einmal alle auf das morgige Webinar zum Thema Foreman: OpenNebula orchestrieren aufmerksam machen. Dabei wollen wir neben dem von NETWAYS entwickelten Modul Foreman-One auch auf Foreman und OpenNebula eingehen.
Ziel wird es aber sein zu demonstrieren, wie über das Foreman-Webinterface eine virtuelle Maschine erzeugt werden kann.
Wer sich für das Webinar noch registrieren will hat bis morgen Früh um 10:30 Uhr noch Gelegenheit dazu. In unserem Webinar-Archiv finden sich bereits einige Webinare zum Thema OpenNebula und Foreman (im Zusammenspiel mit Puppet).
Bis morgen früh um 10:30 Uhr!

Christian Stein
Christian Stein
Lead Senior Account Manager

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Senior Sales Engineer und berät unsere Kunden in der vertrieblichen Phase rund um das Thema Monitoring. Gemeinsam mit Georg hat er sich Mitte 2012 auch an unserem Hardware-Shop "vergangen".

Foreman, Fog und OpenNebula

Jeder der hin und wieder einen Blick in unseren Blog wirft hat vermutlich festgestellt, dass Foreman das bevorzugte Tool zur Verwaltung unserer IT-Infrastruktur ist und uns in Sachen Provisionierung und Configuration Management viel Arbeit abnimmt. Zur Verwaltung unserer virtuellen Maschinen setzen wir auf OpenNebula, welches mit eigener Oberfläche, CLI und XML-RPC alle Möglichkeiten zum Erstellen und Verwalten von virtuelle Maschinen bietet. Schön wäre es natürlich wenn Foreman über die OpenNebula API virtuelle Maschinen anlegen und löschen kann, so dass man zur Provisionierung neuer VMs nur noch im Foreman klicken muss. Hier kommt Fog ins Spiel. Foreman verwendet die Fog Bibliothek um andere Provider wie libvirt, ovirt etc. anzusteuern. Für uns war das eine gute Ausgangslage um Foreman und OpenNebula zusammenzuführen und einen eigenen OpenNebula Fog Provider zu schreiben welcher dann von unserem Foreman-One Plugin verwendet.
Das Ergebnis habt ihr ja schon letzte Woche im VideoBlog gesehen. Aber wie installiert man das Ganze jetzt?
Als erstes holt man sich die aktuellen stabilen Foreman Sourcen, fügt noch unser foreman-one Plugin hinzu und installiert Foreman wie in der Doku beschrieben:

git clone https://github.com/theforeman/foreman.git
cd foreman
git co -b 1.5-stable origin/1.5-stable

Um im Foreman ein Plugin zu installieren fügt man seiner lokalen Gemfile folgende Zeile hinzu:

$ cat bundler.d/Gemfile.local.rb
gem 'foreman_one',  :git => "https://github.com/netways/foreman-one.git", :branch => "master"
gem "fog", :git => "https://github.com/fog/fog.git", :branch => "master"

Die zweite Zeile stellt sicher, dass unsere Fog Version verwendet wird. Dies ist solange nötig bis das Fog Projekt unseren OpenNebula Provider mit aufnimmt. Damit bundle beim nächsten Schritt keinen Konflikt erkennt muss man folgende Zeile aus bundler.d/fog.rb entfernen:

gem 'fog', '~> 1.21.0'

Von jetzt an folgt man nur noch der offiziellen Foreman Dokumentation zum installieren einer Testumgebung:

cp config/settings.yaml.example config/settings.yaml
cp config/database.yml.example config/database.yml
gem install bundler
bundle install
rake db:migrate
rake db:seed assets:precompile locale:pack
rails server

Auf http://localhost:3000 (admin/changeme) findet man jetzt die neue Foreman Version und unter Infrastruktur -> Computer Resources klickt man ohne große Mühen seine OpenNebula Instanz hinzu. Das seht ihr aber besser im VideoBlog.
Ich würde mich über Feedback jeder Art freuen! Bitte probiert den OpenNebula Provider aus und haltet euch mit Kritik nicht zurück! Auch würde uns interessieren wie ihr eure VMs mit OpenNebula und Foreman provisioniert und welche Features hier aktuell noch fehlen, die euch das Leben leichter machen würden!
Infos und den aktuellen Stand findet ihr an verschiedenen Stellen. Der Quelltext ist natürlich am einfachsten aus dem Netways GitHub Repo zu bekommen. Neuerungen und Beispiele wie man den Fog OpenNebula Provider verwendet gibt es natürlich hier im Blog und in den Readme Dateien.
Weiter Information findet ihr auch noch auf den Mailinglisten, Bugtrackern etc.

Achim Ledermüller
Achim Ledermüller
Lead Senior Systems Engineer

Der Exil Regensburger kam 2012 zu NETWAYS, nachdem er dort sein Wirtschaftsinformatik Studium beendet hatte. In der Managed Services Abteilung ist unter anderem für die Automatisierung des RZ-Betriebs und der Evaluierung und Einführung neuer Technologien zuständig.