Seite wählen

NETWAYS Blog

Weekly Snap: PHP SPL Heaps, OpenNebula Fog Provider & RPM Packaging

weekly snap30 June – 4 July offered tips for the PHP developer, cloud operator and sys admin.
Eva started the week by counting 148 days down to OSMC, with Oliver Tatzmann’s talk on “Target Group Oriented IT Service Monitoring”.
Meanwhile, Marius showed how to sort heaps of data with PHP SPL and Dirk started a new blog series on RPM packaging, beginning with the source code.
Lastly, Georg added new Argon 100 bundles to our hardware store range as Achim added our Fog provider for OpenNebula to the upstream master.

Fog OpenNebula Provider im Upstream

Unser Fog Provider für OpenNebula ist mittlerweile auch im Upstream Master angekommen und ist somit im nächsten Release von Fog enthalten. Unsere aktuellen Erweiterungen des Providers sind weiterhin im Netways GitHub Repository zu finden und werden natürlich regelmäßig an den Upstream weitergereicht.

Achim Ledermüller
Achim Ledermüller
Senior Manager Cloud

Der Exil Regensburger kam 2012 zu NETWAYS, nachdem er dort sein Wirtschaftsinformatik Studium beendet hatte. In der Managed Services Abteilung ist er für den Betrieb und die Weiterentwicklung unserer Cloud-Plattform verantwortlich.

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
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 Fog Provider

Letzte Woche habe ich unser Foreman OpenNebula Plugin vorgestellt. Die Kommunikation zwischen beiden Systemen übernimmt der OpenNebula Fog Provider. Natürlich kann man den Provider auch unabhängig von Foreman benutzen. Im kurzem Beispiel unten wird eine Verbindung zur One-RPC Schnittstelle aufgebaut, ein neues VM Gerüst erstelle und mit einem Template aus OpenNebula befüllt und erweitert. Und am Ende wird die VM natürlich noch gestartet.
Zuerst müssen wir aber natürlich die Source holen und die benötigten Ruby gems installieren. Das erledigt git und bundler für uns (apt-get install git bundler).

$ git clone https://github.com/netways
$ cd fog
$ bundle install

Zum testen starten wir eine interaktive Ruby Konsole (irb) und binden die Fog Bibliothek mit ein.

$ irb
> require './lib/fog.rb'

Die folgenden Befehle werden alle in der irb Konsole ausgeführt!
Innerhalb der irb öffnen wir eine Verbindung zu OpenNebula und lassen uns die vorhanden Templates (Flavors) geben.

# connect to your one rpc
con = Fog::Compute.new(
    {
      :provider => 'OpenNebula',
      :opennebula_username => 'user',
      :opennebula_password => 'password',
      :opennebula_endpoint => 'http://oned.domain:2633/RPC2'
    }
  )

servers.new erstellt ein neues Gerüst einer VM. Dieses enthält die verschiedenen Attribute der VM.

# create a new vm (creates the object, the vm is not instantiated yet)
newvm = con.servers.new

Die VM enthält auch ein Attribut flavor, in dem ein OpenNebula Template gespeichert werden kann. In diesem Beispiel wir das Template mit der ID 4 verwendet.

# set the flavor of the vm
newvm.flavor = con.flavors.get 4
# set the name of the vm
newvm.name = "MyVM"

Attribute aus dem Template können überschrieben werden, bzw. müssen gesetzt werden, falls diese im Template nicht definiert wurden.

# set cores and memory (MB)
newvm.flavor.vcpu = 2
newvm.flavor.memory = 256

Im OpenNebula muss ein Interface einem Netzwerk zugewiesen werden. Zuerst wird ein vorhandenes OpenNebula Netzwerk geholt und an ein neu erstelltes Interface zugewiesen.

# create a new network interface attached to the network with id 1 and virtio as driver/model
network = client.networks.get(1)
nic = con.interfaces.new({ :vnet => network, :model => "virtio"})

Das neu erstellte Interface wird dem VM-Gerüst hinzugefügt und mit der Methode save wird die VM gespeichert, d.h. gestartet.

# Attach the new nic to our vm
newvm.flavor.nic = [ nic ]
# instantiate the new vm
newvm.save
Achim Ledermüller
Achim Ledermüller
Senior Manager Cloud

Der Exil Regensburger kam 2012 zu NETWAYS, nachdem er dort sein Wirtschaftsinformatik Studium beendet hatte. In der Managed Services Abteilung ist er für den Betrieb und die Weiterentwicklung unserer Cloud-Plattform verantwortlich.

Weekly Snap: OpenNebula Conf & Puppet, Foreman & Fog

weekly snap19 – 23 May turned the spotlight on OpenNebula, and offered new hardware alongside tips for users of Puppet and its related tools.
Georg began the week with a new product in our hardware store: CEP CT63 USB Powered, ideal for SMS alerts in combination with Icinga / Nagios.
Eva then announced the OpenNebula Conf 2014 Call for Papers, and Achim showed how to use Foreman and Fog to automate VM provisioning in OpenNebula.
Lennart too had his configuration fun, fiddling with a Tomcat XML file using Puppet.
Finally, the team at Netways treated Bernd to a burger-cooking (and eating) course.