イメージの共有

イメージ提供者と利用者はどちらも OpenStack ユーザーやプロジェクトです。イメージ提供者はイメージの作成と共有を行い、イメージ利用者がサーバーの起動時に共有されたイメージを使用できるようにします。提供者が利用者にイメージを共有するには、利用者をイメージのメンバーにします。次に、利用者は、イメージのメンバーステータスを変更し、イメージの受理もしくは拒否を行います。受理されると、イメージは利用者のイメージ一覧に表示されます。利用者がイメージのメンバーであれば、イメージのメンバーステータスに関わらず、利用者はそのイメージを使用できます。ただし、利用者がそのイメージの ID を知っている必要があります。

注釈

OpenStack Image API では、イメージのメンバーステータスは 3 つの役割を果たします。

  • メンバーステータスにより、イメージが利用者のイメージ一覧に表示されるかが決まります。イメージのメンバーステータスが accepted の場合、そのイメージは利用者のイメージ一覧に表示されます。それ以外の場合、そのイメージはイメージ一覧に表示されません。この場合でも、利用者がイメージの ID を知っていれば、そのイメージを使用できます。

  • 利用者のイメージ一覧のフィルタリングに、メンバーステータスを使用できます。

  • メンバーステータスにより、提供者は利用者が共有されたイメージを見たかや応答したかが分かります。ステータスが acceptedrejected の場合、利用者はその共有されたイメージを確実に見ています。ステータスが pending の場合、利用者はそのイメージが共有されたことに気づいていないかもしれません。

イメージ提供者と利用者は、イメージ共有に関して異なる権限と責任があります。

  • イメージ利用者は、イメージにメンバーを追加したり、イメージからメンバーを削除したりしますが、イメージメンバーのメンバーステータスを変更することはできません。

  • イメージ提供者と利用者は、イメージのメンバーステータスを参照できます。イメージメンバーを一覧表示すると、提供者ではすべてのイメージメンバーが表示され、利用者では自分自身だけが表示されます。

  • イメージ利用者は自分のメンバーステータスを変更できますが、イメージメンバーとして自分を追加したり削除したりはできません。

  • イメージ利用者は、イメージの ID を知っていれば、メンバーステータスの値に関わらず、イメージ提供者から共有されたイメージからサーバーを起動できます。

イメージの共有手順

以下は、イメージ作成後にイメージの共有を行う流れです。

OpenStack Image API とは別に、イメージ提供者と利用者の間で、この例で述べるような内容を連絡を取り合う必要があります。提供者と利用者の連絡には、電子メール、電話、Twitter などのいろいろな方法が使用できることでしょう。

  1. 提供者は、あるイメージが利用可能になったことを利用者に伝えてレビューしてもらいます。

  2. 利用希望者は提供者に自分のプロジェクト ID を伝えます。また、提供者が利用者に通知用にメールアドレスを提供してもらうよう依頼するのもよいでしょう。ただし、これは API とは無関係のことです。

  3. Create image member API 操作を使って、提供者は利用者とイメージを共有します。

  4. 追加で、提供者は、利用者にイメージが共有されたことを通知し、イメージの ID (UUID) を伝えることもできます。

  5. 利用者がそのイメージがイメージ一覧に表示されるようにしたい場合は、利用者は OpenStack Image API を使ってイメージのメンバーステータスを accepted に変更します。 Update image member API 操作を使います。

  6. あとで利用者がそのイメージをイメージ一覧では隠しておきたくなった場合は、利用者は OpenStack Image API を使ってイメージのメンバーステータスを rejected に変更します。利用者がイメージは隠したいが、イメージが利用可能になったという提供者からの通知がある状態にしておきたい場合は、 OpenStack Image API を使ってイメージのメンバーステータスを pending に戻します。 Update image member API 操作を使います。