Installation der OpenStack CLI
Die OpenStack CLI ermöglicht programmatischen Zugriff auf viele Funktionen der NETWAYS Cloud, die auf OpenStack aufbaut.
Egal ob administrative Aufgaben, wiederkehrende Tasks oder "Aufräumarbeiten", bietet die OpenStack CLI die Möglichkeit, mit der NETWAYS Cloud aus Scripts, Pipelines oder sogar eigenen Anwendungen heraus zu interagieren.
Voraussetzungen
Für die Nutzung der OpenStack CLI wird Python in einer Version >=3.8 benötigt.
Installation
Die OpenStack CLI ist wie OpenStack selbst in Python geschrieben. Die für die CLI benötigten Pakete können
deswegen mit Pythons Paketmanager pip von PyPi installiert werden:
pip install python-openstackclient \
python-barbicanclient \
python-cinderclient \
python-designateclient \
python-glanceclient \
python-heatclient \
python-magnumclient \
python-neutronclient \
python-novaclient \
python-octaviaclient \
gnocchiclient
Anzahl an Clients
Das OpenStack-Projekt besteht aus einer Vielzahl an Microservices, die zusammenarbeiten (Barbican, Cinder, Designate, Glance, etc.). Für die Interaktion mit jedem dieser Services existiert ein dedizierter Client, der für die Interaktion mit diesem genutzt wird.
Aus diesem Grund besteht auch die Installation der OpenStack CLI aus mehreren Paketen
Konfiguration
Im Kontext der NETWAYS Cloud kann die OpenStack CLI auf zwei Arten konfiguriert werden:
- direkter Zugriff auf ein spezifisches Projekt mittels der in OpenStacks Webinterface Horizon downloadbaren OpenstackRC-Datei.
- allgemeiner Zugriff auf alle möglichen Projekte mittels der NWS ID.
Im Folgenden findest Du die Abläufe für beide Varianten
Konfiguration mittels OpenStackRC.sh
Die Konfiguration der OpenStack CLI für ein spezifisches Projekt erfolgt über ein Bashscript namens openrc.sh.
Dieses kann aus OpenStacks Webinterface Horizon heruntergeladen werden.
-
Login im OpenStack-Projekt via cloud.netways.de mit dem Projektnutzer.

Projektnutzer
Der Projektnutzer kann im MyNWS-Portal angelegt und aktiviert werden.
Mehr Informationen finden sich in der Dokumentation unter Einrichtung des OpenStack Projektnutzers
-
Nach erfolgreichem Login kanns im Reiter API Access mittels Klick auf Download OpenStack RC File die benötigte Datei heruntergeladen werden.

-
Die gedownloadete Datei ist nach dem Schema
<projekt-id>-openrc.shbenannt und muss nun gesourced werden. Im Anschluss ist erneut die Eingabe des Passworts für den Projektnutzer notwendig:source ~/Downloads/20631-openstack-04223-openrc.sh Please enter your OpenStack Password for project 20631-openstack-04223 as user 20631-openstack-04223:Ist das eingegebene Passwort korrekt, erfolgt keine weitere Ausgabe durch das Skript.
-
Nun kann die OpenStack CLI genutzt werden, bspw. um vorhandene
Networksim OpenStack-Projekt aufzulisten:openstack network list +--------------------------------------+-----------------------+---------------------------------------------------------------------------+ | ID | Name | Subnets | +--------------------------------------+-----------------------+---------------------------------------------------------------------------+ | 210e26d7-942f-4e17-89b2-571eee87d7e4 | public-network | 06d6f5ba-c2fd-4025-a877-000edf58bea1, 220b5e2f-e086-4c00-8ddb- | | | | fbbd539da3ce, 68adf345-73c8-42f6-ae65-bc705bf35651, cd9abbed- | | | | fe5b-40a4-b53c-1d42d2732594, d4a4d8cf-a140-46f1-95bd-d213128aa541, | | | | ec7b7b20-0bcb-4dc9-87cf-11249689bfd5 | | 62c630db-fd44-40e5-a9be-b89b8ffeb079 | ExtNetwork | 0593b5ff-0ac2-410a-ac0e-0d74f1e8e7dc | | ded593e8-8159-4919-a6d3-44c8751dbf3b | 20631-openstack-04223 | 17f3dce1-7ff2-4248-89f4-9331d476238c | +--------------------------------------+-----------------------+---------------------------------------------------------------------------+
Sourcen der OpenStack RC Datei
Die OpenStackRC-Datei muss für jede Terminalsitzung erneut gesourced werden, um benötigte Variablen für die OpenStack CLI bereitzustellen und den Login an der OpenStack API vorzunehmen.
Konfiguration mittels NWS-ID
Die Konfiguration der OpenStack CLI für alle für einen Nutzer freigegebenen Projekte über die NWS-ID erfodert ebenfalls eine OpenStackRC-Datei. Diese kann allerdings bereits vorkonfiguriert aus dem MyNWS-Portal heruntergeladen werden:
-
Download der vorkonfigurierten OpenStackRC-Datei aus dem OpenStack-Reites im MyNWS-Portal.

-
Installation der
kubeloginCLI für Login mit der NWS-ID. Mehr Informationen finden sich in der Dokumentation unter Installation der kubelogin CLI. -
Die OpenStackRC-Datei muss nun gesourced werden. Ist die
kubeloginCLI installiert, öffnet sich ein Browserfenster für den Login mit der NWS-ID. Andernfalls erfolgt der Login durch Eingabe der Zugangsdaten im Terminal. -
Nach erfolgreichem Login im Browser oder Terminal kann das gewünschte Projekt für die aktuelle und weitere Sessions ausgewählt werden.
-
Im Anschluss ist das Arbeiten mit der OpenStack CLI möglich:
openstack network list +--------------------------------------+-----------------------+---------------------------------------------------------------------------+ | ID | Name | Subnets | +--------------------------------------+-----------------------+---------------------------------------------------------------------------+ | 210e26d7-942f-4e17-89b2-571eee87d7e4 | public-network | 06d6f5ba-c2fd-4025-a877-000edf58bea1, 220b5e2f-e086-4c00-8ddb- | | | | fbbd539da3ce, 68adf345-73c8-42f6-ae65-bc705bf35651, cd9abbed- | | | | fe5b-40a4-b53c-1d42d2732594, d4a4d8cf-a140-46f1-95bd-d213128aa541, | | | | ec7b7b20-0bcb-4dc9-87cf-11249689bfd5 | | 62c630db-fd44-40e5-a9be-b89b8ffeb079 | ExtNetwork | 0593b5ff-0ac2-410a-ac0e-0d74f1e8e7dc | | ded593e8-8159-4919-a6d3-44c8751dbf3b | 20631-openstack-04223 | 17f3dce1-7ff2-4248-89f4-9331d476238c | +--------------------------------------+-----------------------+---------------------------------------------------------------------------+