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 Muschweck

Autor: Vanessa Muschweck

Vanessa ist unser Head of Finance und somit mit ihrem Team für das Geld, Controlling und Personalverwaltung zuständig. Außerhalb des Büros ist sie sportlich unterwegs und widmet sich neben Tennis hauptsächlich dem professionellem Yoga. Hier macht sie gerade die offizielle Trainer-Ausbildung und kann dann die älter werdende Belegschaft bei NETWAYS ertüchtigen.

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

Autor: Tim Albert

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, wobei seine Tätigkeit als Werkstudent bei IDS Scheer seinen Schwenk von Lehramt zur IT erheblich beeinflusst hat. Neben dem Studium hat Tim sich außerdem noch bei einer Werkskundendienstfirma im User-Support verdingt. Blerim und Sebastian haben ihn Anfang 2016 zu uns ins Managed Services Team geholt, wo er sich nun insbesondere um Infrastrukturthemen kümmert. 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 einsatzbereit. Ansonsten kocht er sehr gerne – alles außer Hase!

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

Autor: Tim Albert

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, wobei seine Tätigkeit als Werkstudent bei IDS Scheer seinen Schwenk von Lehramt zur IT erheblich beeinflusst hat. Neben dem Studium hat Tim sich außerdem noch bei einer Werkskundendienstfirma im User-Support verdingt. Blerim und Sebastian haben ihn Anfang 2016 zu uns ins Managed Services Team geholt, wo er sich nun insbesondere um Infrastrukturthemen kümmert. 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 einsatzbereit. Ansonsten kocht er sehr gerne – alles außer Hase!

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 Muschweck

Autor: Vanessa Muschweck

Vanessa ist unser Head of Finance und somit mit ihrem Team für das Geld, Controlling und Personalverwaltung zuständig. Außerhalb des Büros ist sie sportlich unterwegs und widmet sich neben Tennis hauptsächlich dem professionellem Yoga. Hier macht sie gerade die offizielle Trainer-Ausbildung und kann dann die älter werdende Belegschaft bei NETWAYS ertüchtigen.

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!

Kay Probst

Autor: Kay Probst

Nachdem ihm sein Praktikum bei uns gefallen hat, kam Kay im September 2015 zu NETWAYS, um seine Ausbildung zum Fachinformatiker für Systemintegration zu beginnen. Er kann es schon jetzt kaum abwarten, bald an eigenen Projekten arbeiten zu dürfen. Auch privat beschäftigt er sich mit dem Computer und versetzt sich bei diversen Computerspielen gerne in andere Charaktere hinein.

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

Autor: Pamela Drescher

Pamela hat im Dezember 2015 das Marketing bei NETWAYS übernommen. Sie ist daher speziell für die Corporate Identity unserer Veranstaltungen sowie von NETWAYS insgesamt verantwortlich. Die enge Zusammenarbeit mit Events ergibt sich aus dem Umstand heraus, dass sie vor ein paar Jahren mit Markus zusammen die Eventsabteilung geleitet hat und diese äußerst vorzügliche Zusammenarbeit nun auch die Bereiche Events und Marketing noch enger verknüpft. Privat ist sie Anführerin einer vier Mitglieder starken Katzenhorde, was ihr den absolut schmeichelhaften Vergleich mit einer gewissen "Crazy Cat Lady" eingebracht hat...