Abbild teilen

Abbildhersteller und Konsumenten sind sowohl OpenStack-Nutzer als auch Projekte. Abbildhersteller erstellen und teilen Abbilder mit Abbildkonsumenten, so dass die Verbraucher das geteilte Abbild beim Booten eines Servers nutzen können. Der Produzent teilt ein Abbild mit dem Verbraucher, indem er den Verbraucher als Mitglied dieses Abbildes macht. Der Verbraucher akzeptiert oder lehnt das Abbild ab, indem er den Status des Abbildmitglieds ändert. Nachdem es angenommen wurde, erscheint das Abbild in der Abbildliste des Verbrauchers. Solange der Verbraucher ein Mitglied des Abbildes ist, kann der Verbraucher das Abbild verwenden, unabhängig vom Status des Abbildmitglieds, wenn der Verbraucher die Abbild-ID kennt.

Bemerkung

In der OpenStack Image API dient der Image Member Status drei Zwecke:

  • Der Status des Mitglieds steuert, ob das Abbild in der Abbildliste des Verbrauchers erscheint. Wenn der Abbildmitgliedstatus accepted ist, erscheint das Abbild in der Abbildliste des Verbrauchers. Andernfalls erscheint das Abbild nicht in der Abbildliste. Das Abbild kann noch verwendet werden, solange der Verbraucher die Abbild-ID kennt.

  • Der Status des Mitglieds kann verwendet werden, um die Abbildliste des Verbrauchers zu filtern.

  • Der Mitgliedsstatus lässt den Hersteller wissen, ob der Verbraucher das geteilte Abbild gesehen und gehandelt hat. Wenn der Status accepted oder rejected ist, hat der Verbraucher das geteilte Abbild definitiv gesehen. Wenn der Status pending ist, kann der Verbraucher nicht wissen, dass ein Abbild geteilt wurde.

Abbildhersteller und Konsumenten haben unterschiedliche Fähigkeiten und Verantwortlichkeiten bezüglich der Abbildverteilung, die die folgende Liste zeigt.

  • Abbildhersteller fügen Mitglieder zu Abbildern hinzu oder entfernen Mitglieder aus Abbildern, aber sie dürfen den Mitgliedsstatus eines Abbildmitglieds nicht ändern.

  • Abbildhersteller und Konsumenten sehen den Status der Abbildmitglieder an. Bei der Auflistung der Abbildmitglieder sehen die Produzenten alle Abbildmitglieder, und die Konsumenten sehen nur sich selbst.

  • Abbildverbraucher ändern ihren eigenen Status, aber sie dürfen sich nicht als Abbildmitglied hinzufügen oder entfernen.

  • Abbildverbraucher können von jedem Abbild, das vom Abbildhersteller geteilt wird, unabhängig vom Status des Mitglieds booten, solange der Verbraucher die Abbild-ID kennt.

Ein Abbild teilen

Das folgende Verfahren ist ein Workflow für die Abbildfreigabe nach der Abbilderstellung.

Die Kommunikation zwischen dem Abbildhersteller und dem Verbraucher, wie sie in diesem Beispiel beschrieben ist, muss unabhängig von der OpenStack Image API angeordnet sein. Der Verbraucher und Produzent können Benachrichtigungen per Email, Telefon, Twitter oder anderen Kanälen senden.

  1. Der Produzent platziert die Verfügbarkeit von spezifischen Abbildern für die Verbraucher zur Überprüfung.

  2. Ein potentieller Verbraucher stellt dem Produzenten die Projekt-ID des Verbrauchers zur Verfügung. Optional kann der Hersteller die E-Mail-Adresse des Verbrauchers zur Benachrichtigung anfordern, aber dies liegt außerhalb des Geltungsbereichs der API.

  3. Der Produzent teilt das Abbild mit dem Verbraucher, indem er die Create image member API-Operation verwendet.

  4. Optional informiert der Hersteller dem Verbraucher, dass das Abbild geteilt wurde und die ID des Abbildes (UUID) zur Verfügung stellt.

  5. Wenn der Verbraucher das Abbild in der Abbildliste erscheinen möchte, verwendet der Verbraucher die OpenStack Image API, um den Status des Abbildmitglieds auf accepted zu ändern, indem er die Update image member API-Operation verwendet.

  6. Wenn der Verbraucher danach das Abbild verbergen will, verwendet der Verbraucher die OpenStack Image API, um den Status des Imagemitglieds auf rejected zu ändern. Wenn der Verbraucher das Abbild verbergen will, ist es aber offen für die Möglichkeit, vom Produzenten daran erinnert zu werden, dass das Abbild verfügbar ist. Der Verbraucher nutzt die OpenStack Image API, um den Status des Abbildmitglieds wieder auf pending zu ändern das Update Image Member API Operation.