HowTo: OpenStack CLI Tools Installation
Einführung
Diese Anleitung zeigt Ihnen, wie sie die OpenStack CLI Tools für die Betriebssysteme Windows, Linux und macOS installieren können.
WichtigUm die OpenStack CLI benutzen zu können, benötigen sie Application Credentials.
Wie sie diese erstellen können, haben wir auf dieser Seite beschrieben.
Installation unter Windows
VoraussetzungenNeben den bereits erwähnten "Application Credentials" benötigen sie zur Installation der CLI folgende Programme.
- Python 3.x - Direkter Download Link
- Visual Studio Build Tools - Direkter Download Link
- Powershell mindestens Version 5.1 - Link zum Github Repository
Das erstelle "Application Credentials" File speichern sie in einem Ordner ihrer Wahl ab und stellen sicher, dass die Dateiendung .ps1 lautet.
Wichtig: Application Credentials sicher aufbewahrenDas Application Credentials File sollte nur ihnen zugänglich sein. Achten sie bitte darauf, dass sie es nicht auf einem Share oder änlichen ablegen.
Nun editieren sie die Datei wie folgt:
$env:OS_AUTH_TYPE="v3applicationcredential"
$env:OS_AUTH_URL="https://keystone.opencloud.telemaxx.de:5000/v3"
$env:OS_IDENTITY_API_VERSION=3
$env:OS_REGION_NAME="Karlsruhe"
$env:OS_INTERFACE="public"
$env:OS_APPLICATION_CREDENTIAL_ID="xxxxxxxxx"
$env:OS_APPLICATION_CREDENTIAL_SECRET="xxxxxxxxx"Jetzt können wir mit der Installation der benötigten Software beginnen. Achten sie bei der Installation von Python darauf, dass sie die beiden Haken gesetzt haben und danach auf "Customize installation" klicken.
Die Installation kann einige Minuten dauern. Danach das Installationsprogramm schließen.
Als nächstes installieren wir einige Tools aus dem Visual Studio Universum.
Bitte beachten sie, dass der Download der benötigten Komponenten im Hintergrund geschieht und zwingend eine Internetverbindung benötigt.
Auch hier dauert die Installation einige Minuten. Danach können sie den Installer schließen.
Als nächstes starten sie die Windows Powershell als Administrator.
In diesem Powershell Fenster müssen wir nun einige Python Module installieren bzw. aktualisieren.
Mit diesem Befehl stellen sie sicher, dass das "pip" Module in der neuesten Version vorliegt.
python.exe -m pip install --upgrade pipNun installieren wir den eigentlichen OpenStack Client. Dabei werden diverse Abhängigkeiten automatisch mit installiert.
pip install python-openstackclientAm Ende sollte das Ergebniss so aussehen.
Nun sollte die Powershell Execution Policy einmal angepasst werden.
Set-ExecutionPolicy RemoteSignedJetzt können wir die "Application Credentials" Datei sourcen, um uns mit der OpenStack API zu verbinden.
Wichtig hierbei: Es darf keine Fehlermeldung kommen. Nur dann ist die Datei erfolgreich gesourced.
Als nächstes können wir die ersten Befehle gegen die API feuern.
Ein einfaches "openstack server list" liefert alle in ihrem Projekt befindlichen Server zurück
Eine Befehlsübersicht erhalten sie mittels "openstack -h". Für jeden Subbefehl kann die Hilfe erneut aufgerufen werden. Zum Beispiel "openstack server -h"
Installation unter Linux
In diesem Beispiel installieren wir die OpenStack CLI unter Debian bzw. Ubuntu
Voraussetzungen
- Neben den bereits erwähnten "Application Credentials" benötigen sie zur Installation der CLI folgende Softwarepakete.
- Python 3.x - sudo apt update && apt -y install python3 python3-pip python3-venv
Das erstellte Application Credentials File speichern sie in ihrem Home-Ordner ab und stellen sicher, dass die Dateiendung .sh lautet.
Wichtig: Application Credentials sicher aufbewahrenDas Application Credentials File sollte nur ihnen zugänglich sein. Achten sie bitte darauf, dass sie es nicht auf einem Share oder ähnlichem ablegen.
Installation der benötigten Software.
Nun gibt es zwei Möglichkeiten, die OpenStack CLI zu installieren.
- Short Track: Installation aus dem Repository der Distribution.
- Vorteil: schnell und einfach.
- Nachteil: teils deutlich veraltete Versionen.
- Manuelle Installation: Installation aus Python Package Index (PyPI).
- Vorteil: aktuelle Version, die neben der systemweiten Installation koexistieren kann.
- Nachteil: etwas mehr Aufwand. Es wird eine Virtuelle Python Environment benötigt.
Sofern sie sich für den Short Track entschieden haben, reicht ein simples "sudo apt -y install python3-openstackclient" für die Installation.
Sie können nun das Application Credentials File sourcen und danach direkt die ersten Befehle gegen die OpenStack API absetzen.
Das sourcen einer Datei ist recht einfach:
source app-cred-MyName-openrc.shEin einfaches "openstack server list" liefert alle in ihrem Projekt befindlichen Server zurück
Eine Befehlsübersicht erhalten sie mittels "openstack -h". Für jeden Subbefehl kann die Hilfe erneut aufgerufen werden. Zum Beispiel "openstack server -h"
Manuelle Installation mittels PyPI.
Für diese Art der Installation müssen wir zunächst eine Virtuelle Python Umgebung erstellen.
Dies geschieht über die folgenden Befehle:
python3 -m venv /home/sven/openstack # Python Umgebung erstellen
source /home/sven/openstack/bin/activate # Python Umgebung aktivierenZunächst stellen wir sicher, dass das Python Modul "pip" auch aktuell ist.
pip install --upgrade pipNun kann der eigentliche OpenStack Client installiert werden.
pip install python-openstackclientDie Installation wird einige Minuten dauern, es werden diverse Abhängigkeiten mit installiert. Ob alles geklappt hat, können wir überprüfen, indem wir einmal den Client mit dem vollen Pfad aufrufen. In diesem Beispiel rufen wir die systemweite Installation zusätzlich auf. Somit wissen wir, dass die beiden Versionen wie gewünscht koexistieren.
Sie können nun das Application Credentials File sourcen und danach direkt die ersten Befehle gegen die OpenStack API absetzen.
source app-cred-MyName-openrc.shJetzt kann der OpenStack Client mit dem kompletten Pfad aufgerufen werden.
Bash Alias erstellenMöchten sie nicht ständig den vollständen Pfad zum Client angeben, können sie auch einen Alias erstellen.
Dazu tragen sie folgenden Inhalt in ihre .bashrc ein.
alias o='/home/sven/openstack/bin/openstack'Danach die .bashrc einmal neu laden mittels:
source .bashrcAb sofort können sie den OpenStack Client mit dem Alias "o" aufrufen.
Installation unter macOS
Voraussetzungen
- Homebrew – Paketmanager
- OpenStack Application Credentials
Sollte der Paketmanager Homebrew noch nicht installiert sein, finden Sie hier eine Installationsanleitung.
Zunächst deinstallieren Sie – falls vorhanden – das (obsolete) Homebrew-Paket openstackclient :
brew uninstall openstackclientDamit stellen wir sicher, dass die folgende Installation konfliktfrei läuft.
Jetzt installieren wir das Paket pipx – ein Paketmanager für Python-Pakete, welcher (im Gegensatz zu pip) die Anwendung in einer eigenen virtuellen Umgebung installiert.
brew install pipxNun installieren wir die OpenStack CLI Tools wie folgt:
pipx install python-openstackclientOptional können Erweiterungen für diverse OpenStack Services nachinstalliert werden, beispielsweise:
pipx inject python-openstackclient python-octaviaclient # Octavia (Load Balancer)
pipx inject python-openstackclient python-designateclient # Designate (DNS)Zum Schluss fügen Sie den Installationspfad zu ihrer Umgebungsvariable $PATH hinzu. Dazu editieren Sie die entsprechende Konfigurationsdatei ihrer Shell in ihrem Home-Verzeichnis:
- Zsh:
~/.zshrc - Bash:
~/.bashrc
Fügen Sie ans Ende der Datei folgende Zeile hinzu:
export PATH="$PATH:$HOME/.local/bin"Wenn Sie nun ein neues Terminal-Fenster öffnen, sollte ihnen der openstack-Befehl zur Verfügung stehen.
Aktivieren Sie nun ihre Application Credentials mit dem source-Befehl, z. B.:
source ~/Downloads/app-cred-MyName-openrc.shJetzt sollten Sie bereit sein, mit ihrem OpenStack-Projekt zu interagieren. So können Sie beispielsweise mit folgendem Befehl alle Instanzen in ihrem Projekt auflisten:
openstack server listDie Ausgabe sähe dann exemplarisch so aus:
+---------------+--------------------+---------+----------------------+-----------+
| ID | Name | Status | Networks | Flavor |
+---------------+--------------------+---------+----------------------+-----------+
| dfe8f555-xxxx | demo-control-plane | ACTIVE | demo-net=172.27.1.12 | SCS-4V-8 |
| c9fc1a58-xxxx | dev-stack | SHUTOFF | dev-net=10.11.0.42 | SCS-8V-16 |
+---------------+--------------------+---------+----------------------+-----------+Updated about 15 hours ago
