Select Page

NETWAYS Blog

Getting started Opennebula API

In wenigen Tagen starten die OpenNebula Techdays welche von Netways gesponsort werden. Da auf diesen einige interessante Dinge gezeigt werden gibt es hier jetzt eine kleine Einführung in die API.
Wenn man die API von OpenNebula benutzen möchte, gibt es zwei Möglichkeiten. Einmal “RPC XML” und zweitens mit einem Ruby Binding. In meinem Beispiel werde ich mich auf das Ruby Binding beziehen.
Um mit der API rumspielen zu können benötigen wir erstmal eine passende OpenNebula Umgebung. Hierfür können wir uns ganz einfach eine vorinstallierte VM als VirtualBox image herunterladen.
Um nun auch auf die API zugreifen zu können, muss man noch eine Portweiterleitung für den Port “26330” einrichten (Port 9869 ist optional, sollte man auch auf das Web-interface zugreifen wollen). Die Weiterleitung kann unter Setting > Network > Advanced > Port Forwarding eingerichtet werden.
Jetzt kann man anfangen sich gegen die API zu connecten. Als erstes fügt man die benötigten Ruby Gems hinzu. Dies wird mit

require 'opennebula'
include OpenNebula

gemacht.
Danach erstellt man Variablen für die login credentials und den Endpoint. Ich benutze dafür die default Username und Passwort Kombination.

CREDENTIALS = "oneadmin:opennebula"
ENDPOINT    = "http://<DeineVBoxIP>:26330/RPC2"

 
Nachdem dies erledigt ist, kann man eine Verbindung zur API festlegen. Hierfür legt man wieder eine Variable fest. (Bitte beachtet, das die credentials und endpoint variablen genauso heißen, wie oben festgelegt!)

client = Client.new(CREDENTIALS, ENDPOINT)

 
Als nächstes initialisiert man den Virtual Maschine Pool. Dafür wird die Variable vm_pool angelegt.

vm_pool = VirtualMaschinePool.new(client, -1)

 
Um mögliche Fehler abzufangen kann man eine kurze Fehlerabfrage einrichten. Diese gibt uns, im Falle eines Fehlers, gleich den richtigen Fehler Code zurück.

rc = vm_pool.info
if OpenNebula.is_error?(rc)
     puts rc.message
     exit -1
end

 
Damit jetzt jede Virtuelle Maschine gestoppt wird, richtet man eine kleine Schleife ein die uns pro VM, die sich im vm_pool befindet, eine Funktion ausführt.

vm_pool.each do |vm|
     rc = vm.shutdown
end

 
Mit der oben eingerichteten Fehlerabfrage kann man sich hier auch gleich noch den aktuellen Status bzw eine Success oder Fehlermeldung ausgeben lassen. Dafür fügt man ein paar Zeilen zu seiner Schleife hinzu.

vm_pool.each do |vm|
     rc = vm.shutdown
     if OpenNebula.is_error?(rc)
          puts "Virtual Machine #{vm.id}: #{rc.message}"
     else
          puts "Virtual Machine #{vm.id}: Shutting down"
     end
end

 
Das ganze noch mit einem sauberen

exit 0

abschließen und das erste Script ist fertig!
 
Um das Endprodukt testen zu können, muss man noch eine VM in OpenNebula erstellen. Hierfür kann man ein schon vorgefertigte Template nutzen.
OpenNebula API
Dieses einfach instantiieren und warten bis die VM hochgefahren ist. (Meist ca 10 Sekunden).
Wenn man jetzt das Ruby Script ausführt sollten man folgende Ausgabe erhalten:

Virtual Machine 1: Shutting down

 
Wie man an diesem Beispiel sehen kann, ist es sehr einfach eigene Scripte für Opennebula zu schreiben. Noch mehr spannende Dinge gibt es auf den diesjährigen TechDays!

Monthly Snap January: Dev Tools, Clusters & Events and Trainings

January offered tips for cluster admins, programmers and technophiles, plus news on the events front. weekly snap
Pamela counted 13 weeks to the OSDC and introduced the thematic focuse of the conference. She went on to announce our participation and sponsorship of the OpenNebula TechDay in June. Daniela, meanwhile, explained how to become a Puppet expert in just 5 days.
Micheal shared tips to work with the git subtree and MarkusW then showed how to generate pdf´s with Showoff.
On clusters, Blerim looked at distributed containers with CoreOS, while Johannes introduced Bottle, a web-framework for Python.
Lastly, MariusH presented building automation systems as Cornelius presented the Raspberry Pi Touch Display.

Stephanie Kotilge
Stephanie Kotilge
Accountant

Steffi ist seit 2011 bei NETWAYS. Sie fing als Office Managerin an und unterstützt seit 2017 als Accountant das Finance & Administration Team in allen buchhalterischen Belangen. In ihrer Freizeit ist sie mit ihrem Sohn immer auf der Suche nach den schönsten Spielplätzen in Nürnberg oder plant den nächsten Familientrip.

NETWAYS sponsors The OpenNebula TechDay on June 2, 2016

opennebula
 
Basic CMYKThe Event
The OpenNebula TechDay is a full day event to learn about OpenNebula with a hands-on cloud installation and operation workshop, as well as presentations from community members and users. The event is targeted at cloud architects, data center admins, systems admins, systems integrators, DevOps architects, and solutions architects. The emphasis is to find local speakers and users to come together and talk about things that they care about most, and to share stories from their experiences using OpenNebula.
The number of seats is limited to ensure there is plenty of opportunity for everyone to interact. We encourage everyone to register as early as possible.
Call for Papers
You would like to give a talk and you are interested in

  • Sharing cloud use cases and deployment experiences,
  • Introducing new integrations and ecosystem developments,
  • Describing other related cloud open-source projects and tools?

Then send your proposal at events@opennebula.org or events@netways.de.
Registration
Participation is free of charge! Please sign up for attendance since the number of seats is limited.
Sponsor and Location
NETWAYS will host the event and take care of the organization on-site.
The TechDay will be held at
NETWAYS GmbH
Deutschherrnstr. 15-19
90429 Nuremberg
Germany

Further Information
To learn more about OpenNebula TechDays, get detailed information on agenda, speakers, workshops, etc., visit: opennebula.org.

Pamela Drescher
Pamela Drescher
Head of Marketing

Seit Dezember 2015 ist Pamela Anführerin des Marketing Teams. Mit ihrer stetig wachsenden Mannschaft arbeitet sie daran, NETWAYS nicht nur erfolgreicher, sondern auch immer schöner zu machen. Privat ist sie Dompteurin einer Horde von drei Kindern, zwei Pferden, drei Katzen und einem Hund. Für Langeweile bleibt also keine Zeit!

Reminder für unser Webinar "Das Open Source Rechenzentrum"

netwaysAm Mittwoch starten wir auch wieder in 2015 mit unseren Webinaren durch – angefangen mit unserem Open Source Rechenzentrum. Neben unseren Dienstleistungen rund um Icinga, Icinga 2, Puppet und vielen weiteren Open Source Lösungen, sind wird auch im Hosting-Bereich aktiv. Dabei setzen wir unter anderem auf OpenNebula, Puppet, Foreman, Ceph und viele andere Tools um einen hochverfügbaren Betrieb unserer Kundenumgebungen sicherzustellen.
Im Rahmen des Webinars wollen wir einige Themen davon ansprechen und einen besseren Überblick verschaffen, wie unsere Infrastruktur aussieht.
Das Webinar findet am 11. Februar um 10:30 Uhr statt. Wer teilnehmen möchte, kann sich natürlich gerne noch registrieren! In unserem Webinar-Archiv finden sich bis dahin viele weitere Webinare, um die Wartezeit zu verkürzen.
Bis Mittwoch!

Christian Stein
Christian Stein
Manager Sales

Christian kommt ursprünglich aus der Personalberatungsbranche, wo er aber schon immer auf den IT Bereich spezialisiert war. Bei NETWAYS arbeitet er als Manager Sales 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".

OpenNebula Conf 2014: Thank you!

OpenNebula_430_101_res150We already prepared an Oscar-worthy speech to thank a whole bunch of people, but somewhere between eating tons of Currywurst and buying a bazillon Donuts for the way back to Nuremberg, we must have lost the notes we prepared.
So let’s improvise a bit: This year we would like to thank the Linux Magazine again, for supporting us with media coverage. And OF COURSE… *drum roll*… OpenNebula Systems (formaly known as C12G Labs) for being our partner in crime 🙂
And yes, we would like also to thank everybody who was there! 🙂
The plans for next years Conf are in development and we will come back to you with more information as soon as possible.
Linux_Magazine_Logo_Web_200x85