Zum Hauptinhalt springen

OpenStack Client

Der Python OpenStack Client (python-openstackclient) ist das offizielle Kommandozeilen-Tool für die Verwaltung von OpenStack-Umgebungen.

Installation (Linux / Mac)

Erstellen sie eine Umgebung für den OpenStack Client unter ~/.openstack-env

python3 -m venv ~/.openstack-env

Aktivieren sie die soeben erstellte Umgebung

source ~/.openstack-env/bin/activate

Installieren sie python-openstackclient per pip

python3 -m pip install python-openstackclient

Testen sie, ob der Client aufrufbar ist

openstack --version

Verbindung mit clouds.yaml

Die Zugänge zu einer OpenStack Cloud werden durch eine Konfigurationsdatei, der clouds.yaml definiert. Diese wird wird im Verzeichnis ~/.config/openstack/ abgelegt.

Erstellen sie das Verzeichnis - falls dieses noch nicht existiert

~/.config/openstack/

Erstellen sie dort eine Datei mit dem Namen clouds.yaml und folgendem Inhalt

  • Bei Verwendung eines lokalen Keystone-Users mit Password
  project_a:
auth:
auth_url: <keystone_endpoint>
username: <username>
project_id: <project_id>
project_name: <project_name>
user_domain_name: <user_domain_name>
password: <password>
region_name: RegionOne
interface: public
identity_api_version: 3
  • Bei Verwendung eines Application Credentials mit Secret
  project_b:
auth_type: v3applicationcredential
auth:
auth_url: <keystone_endpoint>
application_credential_id: <application_credential_id>
application_credential_secret: <application_credential_secret>
region_name: RegionOne
interface: public
identity_api_version: 3
info

Ersetzen sie die Platzhalter durch die eigentlichen Werte, welche sie aus ihren Zugangsdaten entnehmen. Den Keystone Endpoint sowie die Project-ID finden sie im Horizon unter Project -> API Access.

Nun können sie die Verbindung testen, indem sie alle Server in ihrem Projekt auflisten

openstack server list --os-project project_a

Mit dem Parameter --os-project wählen sie das Projekt aus ihrer clouds.yaml aus. Alternativ können sie dies auch mit einer Umgebungsvariable festlegen.

export OS_PROJECT=project_b

Sicherheitshinweis

Die clouds.yaml enthält sensible Zugangsdaten, welche wie ein Passwort zu behandeln sind. Bitte setzen sie die Berechtigungen der Datei möglichst restriktiv, beispielweise 0600.

Alternativ kann das Passwort bzw. Application Credential Secret auch weggelassen werden. In diesem Fall wird der Wert beim Ausführen von Befehlen abgefragt, oder kann mittels Umgebungsvariablen wie folgt temporär gesetzt werden:

 export OS_PASSWORD=mein-geheimes-password