Tutorial: OpenStack CLI auf eigenem Server installieren & nutzen

Da die Openstack-eigene Horizon-Oberfläche z.B. nicht ermöglicht, Snapshots selbst herunterzuladen, gibt es die Möglichkeit, die OpenStack CLI auf einem eigenen Server zu installieren und diese mit unserer API zu verbinden.

1. Schritt: API Zugang Aktivieren

Um den API Zugang zu aktivieren, müssen Sie ein Passwort für diesen anlegen.

Afstack api activate.png

  1. Ihr API-Username.
  2. Ihr API-Passwort.
  3. Ihre Konfigurationsdatei, um auf die API zuzugreifen.
    Hinweis: Diese wird aber nicht für die CLI verwendet. Stattdessen wird die Konfigurationsdatei in der Openstack-Oberfläche genutzt. Dazu in den nächsten Schritten mehr.
  4. Hiermit aktivieren Sie den API-Zugang.

2. Schritt: Konfigurationsdatei herunterladen

Hierzu müssen Sie sich zuerst in die Horizon-Oberfläche mit dem in Schritt 1 aktivierten API-Zugang einloggen: Openstack login.png Danach müssen Sie einmal oben rechts auf Ihren Benutzernamen (1) und im aufgegangenen Menü auf "Openstack RC Datei"(2) klicken, um die Datei herunterzuladen:

Openstackrc.png

Diese Datei können Sie erstmal zwischenlagern. Diese wird nämlich im Installationsschritt benötigt.

3. Schritt: Openstack auf einem Gerät installieren

  • Verzeichnis für die Openstack CLI anlegen
 mkdir openstack && cd openstack
  • Virtual Environment mit venv erzeugen und aktivieren
 python3 -m venv venv
 source venv/bin/activate
  • pip updaten
pip install --upgrade pip
  • Pakete installieren
pip install python-openstackclient python-barbicanclient python-cinderclient python-designateclient python-glanceclient python-heatclient python-neutronclient python-novaclient python-octaviaclient
  • Die openrc-Datei, die in Schritt 2 heruntergeladen wurde, in das openstack-Verzeichnis kopieren.
  • openrc laden
source $openrc_dateiname

Danach kommt die Ausgabe, bei der Sie das Passwort Ihres API-Zugangs eingeben müssen:

Please enter your OpenStack Password for project stack12345 as user a12345:
  • Serverliste zum Prüfen, ob alles korrekt lief:
openstack server list
+-------------------+-------------------+--------+-------------------+-------------------+---------+
| ID                | Name              | Status | Networks          | Image             | Flavor  |
+-------------------+-------------------+--------+-------------------+-------------------+---------+
| d1234c23-1234-123 | supportwiki       | ACTIVE | shared-public-net | N/A (booted from  | a1.xs   |
| 2-abcd-artfiles11 |                   |        | work=123.12.3.12, | volume)           |         |
| cd                |                   |        | 123.12.123.123, 1 |                   |         |
|                   |                   |        | 230:1234:c:12::12 |                   |         |
+-------------------+-------------------+--------+-------------------+-------------------+---------+
  • Und nun können Sie die OpenStack CLI auf Ihrem Server verwenden.


Beispiel: Wie lade ich ein Snapshot herunter?

  • Dies erzeugt aus einer VM per Snapshot ein Image
nova image-create $instance_name $image_name
# $instance_name ist der Name des Servers, von dem ein Snapshot als Image erstellt werden soll
# $image_name ist der Name der neu erstellten Imagedatei, diesen kann man frei wählen.
  • Hiermit wird das Image heruntergeladen
glance image-download $image_id --file snapshot_name.qcow2
    1. $image_id
  • Die Image-ID können Sie sich über die Imageliste anzeigen:
openstack image list
+--------------------------------------+--------------------------------------+--------+
| ID                                   | Name                                 | Status |
+--------------------------------------+--------------------------------------+--------+
| 123456cc-d123-12df-a3cb-d1234567c1bb | test                                 | active |
+--------------------------------------+--------------------------------------+--------+