OpenStack では、 Python を使って OpenStack API と通信する方法として 4 つの異なる方法が提供されています。それぞれ対象とするユーザーが少しずつ異なります。
また、以下に精通している必要があります。
OpenStack Python ソフトウェア開発キット (SDK) を使って、 OpenStack クラウドのリソースの作成や管理を行う Python の自動化スクリプトを作成できます。 SDK は OpenStack API の Python バインディングを実装しています。これを使うことで、 Python による自動化タスクの実行を、 REST を直接呼び出しではなく、 Python オブジェクトに対する呼び出しで実現できます。
初めてのユーザーは、まずは OpenStack SDK を使ってコーディングを行うとよいでしょう。
shade は、OpenStack クラウド間の実装上の差分を隠蔽することを主眼にした抽象化ライブラリーです。 OpenStack SDK は裏で呼び出される REST API に対するそのままのオブジェクトインターフェースを提供するのに対して、 shade は REST API の詳細を隠蔽した方がメリットがある場合には積極的に隠蔽します。たくさんの OpenStack クラウドに対し同じ Python プログラムを実行しようと思っている場合、 share を使おうと思うかもしれません。ただし、クラウドの本質である抽象化マッピングを持たない、あるクラウドの特定の機能を使う必要がある場合には、 shade を使ってそのようなことはできません。
各 OpenStack プロジェクトは、自身のプロジェクトの REST API を呼び出すクライアントライブラリーを持っています。何らかの理由で他に選択肢がない場合を除き、プロジェクト毎のライブラリーを使うのは避けるべきです。
すべての OpenStack の API はその実体は REST API です。 keystoneauth ライブラリーは、 Python の requests ライブラリーの Session オブジェクトによく似たオブジェクトを提供し、このオブジェクトは認証をすべて処理してくれます。 REST を直接扱う方がよい場合や、お使いのクラウドで他のライブラリーではまだサポートされていない機能が実装されている場合は、このオプションを使います。
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.