Seite wählen

Ergebnisse für " opennebula "

Monthly Snap June: Icinga2, Training, Foreman, GitLab, Icinga director, OpenNebula

Martin presented in June our new book about Icinga 2 written by our very own Lennart Betz and Thomas Widhalm.
Julia announced the official Foreman training material and Michael recommended the new DEV-Trainings: Git and Jenkins.weekly snap
Tim explained how to use OpenNebula ACLs and Foreman in Part 1 and Part 2 while Florian showed us how to animate vector graphics with CSS.
Julia gave us a nice update of our new training facility – the „Kesselhaus“.
Dirk announced that the Foreman Project will be 7 years at the 21st of July – so safe the date and visit us at the German Foreman birthday event that will take place in our event room „Kesselhaus“.
Enrico shared some tips and tricks about how to work with GitLab web hooks and Thomas Gelf showed us the new and shiny Icinga director 1.10.

Vanessa Erk
Vanessa Erk
Head of Finance & Administration

Vanessa ist unsere Leiterin des Finanzbereichs. Zusammen mit ihrem Team verantwortet sie das Controlling, den Cashflow sowie die Personalangelegenheiten in der Unternehmensgruppe. Abseits des Büros taucht sie leidenschaftlich gerne in die Welt des Yogas ein – vor allem im Bereich Frauen und Kinder. Durch zahlreiche Weiterbildungen hat sie ihr Fachwissen dazu vertieft und ist Expertin in ihrem Gebiet. Als Mutter von 2 Kindern kümmert sie sich liebevoll um ihre Tochter und ihren Sohn. In ihrer Freizeit liebt sie es, mit ihrer Familie zu reisen und neue Orte zu erkunden. Dabei genießt sie besonders die Zeit in der Natur und unternimmt...

OpenNebula ACLs und Foreman Teil 2 von 2

Dies ist die Fortsetzung von OpenNebula ACLs und Foreman Teil 1 von 2
Vorab eine kurze Zusammenfassung:
Wir haben in OpenNebula einen User angelegt, der durch ACL-Einträge auf bestimmte Ressourcen beschränkt wurde und bereits in der Lage ist, VMs in OpenNebula anzulegen. Über die bestehende Integration von Foreman und OpenNebula soll dieser User nun durch Foreman virtuelle Maschinen anlegen. Dazu müssen jedoch in Foreman noch einige Voraussetzungen erfüllt werden, wie im folgenden Artikel dargestellt werden soll.
(Wir verwenden hier Foreman in der Version 1.11.2 in einer gepatchten Version.)
Als ersten Schritt legen wir auch in Foreman einen Benutzer an:
Bildschirmfoto 2016-06-08 um 14.20.39
Damit dieser User auf OpenNebula zugreifen kann, muss ein neuer Eintrag in den „Compute resources“ mit den Credentials des vorher angelegten OpenNebula-Benutzers angelegt werden:
Screen Shot 2016-06-22 at 10.05.49
(Um zu verdeutlichen, dass es sich hierbei nicht um den Foreman-User handelt, habe ich den User-Namen leicht verdreht)
Für den Zugriff auf die Ressourcen, braucht der User eine Rolle. Diese wird eingerichtet und beschränkt:
Bildschirmfoto 2016-06-08 um 14.33.04
Die Einschränkungen erreicht man über das Setzen von ACL, in Foreman „Filtern“. In unserem Fall kommen hier viele Einträge zusammen, da wir den User auf einige wenige Ressourcen beschränken wollen.
Bildschirmfoto 2016-06-08 um 14.33.15
Bildschirmfoto 2016-06-08 um 14.33.26
Dieser Blogpost dient nur als schnelle Übersicht. Wer tiefer in diese Materie einsteigen möchte, klickt hier.
Nachdem die Filter gesetzt wurden, muss dem User natürlich auch diese Rolle zugewiesen werden:Bildschirmfoto 2016-06-08 um 14.34.32
Hier unbedingt den Haken bei „Administrator“ entfernen! Ein Nutzer mit dieser Eigenschaft wird in Foreman durch keinen Filter eingeschränkt.
Fazit:
Wir haben nun zwei User, einen in OpenNebula, einen in Foreman. Beide sind durch ACL/“Filter“ in ihren Aktionen beschränkt und können somit nur in einem fest zugewiesenen Bereich agieren.Durch die feine Granulierung der Einschränkungen können Benutzer für unterschiedlichste Szenarien angelegt werden, ohne dass andere Benutzer betroffen sind.
Wer sich durch diesen Anriss motiviert fühlt, mehr über dieses Thema zu erfahren: Tiefer ins Detail gehen die Kollegen Christian Stein und Dirk Götz in einem Webinar am 26.07.
 
 

Tim Albert
Tim Albert
Senior Systems Engineer

Tim kommt aus einem kleinen Ort zwischen Nürnberg und Ansbach, an der malerischen B14 gelegen. Er hat in Erlangen Lehramt und in Koblenz Informationsmanagement studiert. Seit Anfang 2016 ist er bei uns tätig. Zuerst im Managed Services Team, dort kümmerte Tim sich um Infrastrukturthemen und den internen Support, um dann 2019 - zusammen mit Marius - Gründungsmitglied der ITSM Abteilung zu werden. In seiner Freizeit engagiert sich Tim in der Freiwilligen Feuerwehr – als Maschinist und Atemschutzgeräteträger -, spielt im Laientheater Bauernschwänke und ist auch handwerklich ein absolutes Allroundtalent. Angefangen von Mauern hochziehen bis hin zur KNX-Verkabelung ist er jederzeit...

OpenNebula ACLs und Foreman Teil 1 von 2

Wer nicht, wie von Kay dargestellt, die OpenNebula API nutzen möchte, sondern per Foreman in OpenNebula Virtuelle Maschinen erstellen will, hat einige Klippen zu umschiffen.
Dieser Post soll einen kurzen Einblick in unser Vorgehen, hier bei Netways bieten. Aufgrund der verwendeten Software schwankt die hier verwendete Sprache zwischen Deutsch und Englisch, ich versuche aber, mit Screenshots den Ablauf darzulegen. Falls dennoch Unklarheiten auftreten, freue ich mich über ein kleinen Kommentar. Da wir bereits über eine bestehende Integration zwischen Foreman und ONE verfügen, deren Einrichtung den Rahmen sprengen würde, wird diese als gegeben angenommen. Folgendes Ziel: Es wird ein generischer Nutzer angelegt, der mit möglichst wenigen Berechtigungen dennoch funktional arbeiten soll.
Im zweiten Teil werde ich darlegen, welche Schritte in Foreman nötig sind.
OpenNebula: Nutzer, Group, ACL (das Erstellen von VDC, Templates und VLAN entfällt bei unserem eingeschränktem User)
Beginnen wir an der Basis, in OpenNebula
ONE User anlegen
Da der User sich „lokal“ gegen ONE authentifiziert, ist die Methode „Core“
Bildschirmfoto 2016-06-07 um 09.36.57
Zugehörige Gruppe anlegen
Die Views beeinflussen nur das Webinterface (Sunstone), Admin bei einem eingeschränkten Account einfach auslassen, bei den Permissions muss mindestens ein Wert gesetzt werden.
Der mit dem geringsten Impact ist hier „VMs anlegen“
Bildschirmfoto 2016-06-07 um 09.39.20
ACLs anlegen, hier auf folgendes achten:

  • ob der User oder die Gruppe betroffen ist
  • in welcher Zone die Regel greift
  • für jede Ressource eine eigene ACL erstellen
  • die verwendeten IDs sind selbstverständlich systemspezifisch

Bildschirmfoto 2016-06-07 um 09.43.37
 
Achtung bei den VLANs und den Templates. Hier nicht Name des Netzwerks und seine ID durcheinander bringen.
Bildschirmfoto 2016-06-07 um 09.46.02
Bildschirmfoto 2016-06-07 um 09.53.39
Bildschirmfoto 2016-06-07 um 09.44.20
Bildschirmfoto 2016-06-07 um 09.47.27
Bildschirmfoto 2016-06-07 um 09.44.48
 
In Summe sollte das Endergebnis so aussehen:
Bildschirmfoto 2016-06-07 um 09.54.15
Man sieht, dass Resource IDs nur in der Zone „OpenNebula“ gelten und ACL 495 die ACL 491 bedingt
Dieser User kann nun bereits VMs im VLAN 0815 mit dem Template 0815 in OpenNebula erstellen, ein erstes Teilziel ist also erreicht.
Im nächsten Teil kommen wir zu Foreman:
User anlegen
Role anlegen
Compute Resources anlegen
Verknüpfung untereinander und mit ONE herstellen und Erstellen der ersten VM
Edit 1: Manche Screenshots wurden nicht angezeigt, Danke an @gethash (15:00, 08.06.16)
 

Tim Albert
Tim Albert
Senior Systems Engineer

Tim kommt aus einem kleinen Ort zwischen Nürnberg und Ansbach, an der malerischen B14 gelegen. Er hat in Erlangen Lehramt und in Koblenz Informationsmanagement studiert. Seit Anfang 2016 ist er bei uns tätig. Zuerst im Managed Services Team, dort kümmerte Tim sich um Infrastrukturthemen und den internen Support, um dann 2019 - zusammen mit Marius - Gründungsmitglied der ITSM Abteilung zu werden. In seiner Freizeit engagiert sich Tim in der Freiwilligen Feuerwehr – als Maschinist und Atemschutzgeräteträger -, spielt im Laientheater Bauernschwänke und ist auch handwerklich ein absolutes Allroundtalent. Angefangen von Mauern hochziehen bis hin zur KNX-Verkabelung ist er jederzeit...

Monthly Snap May: Docker, Graphite, Opennebula and Beijing

May started with Simons blog post on monitoring custom applications. 
Blerim gave us an insight into Graphite – the history of a data point. Kai, one of our trainees explained what he learned at NETWAYS.
weekly snap
Tobias explained Debugging with Docker and Michael told us something about Docker on OSX.
Kay explained on how to get started with the Opennebula API.
Finally, Christoph told us about his Consulting journey to Beijing.

Vanessa Erk
Vanessa Erk
Head of Finance & Administration

Vanessa ist unsere Leiterin des Finanzbereichs. Zusammen mit ihrem Team verantwortet sie das Controlling, den Cashflow sowie die Personalangelegenheiten in der Unternehmensgruppe. Abseits des Büros taucht sie leidenschaftlich gerne in die Welt des Yogas ein – vor allem im Bereich Frauen und Kinder. Durch zahlreiche Weiterbildungen hat sie ihr Fachwissen dazu vertieft und ist Expertin in ihrem Gebiet. Als Mutter von 2 Kindern kümmert sie sich liebevoll um ihre Tochter und ihren Sohn. In ihrer Freizeit liebt sie es, mit ihrer Familie zu reisen und neue Orte zu erkunden. Dabei genießt sie besonders die Zeit in der Natur und unternimmt...

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!