Essex Series Release Notes

Release Übersicht

Horizon wurde währen des Essex Releasezyklus signifikant intern überarbeitet, um Erweiterungen und Anpassung zu erlauben. Es wurde eine beträchtliche Anzahl von Features hinzugefügt und die Stabilität bei allen Interaktion mit den darunterliegenden Komponenten erhöht.

Schwerpunkte

Erweiterbarkeit

Erweiterbarkeit von Horizon für third-party Entwickler war eines der Ziele des Essex Releasezyklus. Große Schritte wurden gemacht um neue Plug-in Komponenten hinzuzufügen sowie der Anpassung des OpenStack Dashboards.

Zur Unterstützung der Erweiterbarkeit sind alle Komponenten zum Aufbau auf das Horizon Interface jetzt modular und wiederverwendbar. Horizons eigene Dashboards verwenden diese Komponenten und sie wurden alle im Hinblick auf Third Party Entwickler entworfen. Einige der Hauptkomponenten sind unten aufgelistet.

Dashboards und Paneele

Horizons Struktur wurde in logische Gruppen mit den Namen Dashboards und Paneele geteilt. Horizons Klassen, die diese Konzepte repräsentieren, behandeln all die strukturellen Anliegen, die zum Bau eines kompletten Userinterfaces notwendig sind (Navigation, Zugrifffskontrolle, URL Struktur, etc.).

Datentabellen

Eine der häufigsten Aktivitäten in einem Dashboard ist die Anzeige einer Liste von Ressourcen oder Daten, so dass der Benutzer Aktionen damit ausführen kann. Die Gemeinsamkeiten dieser Aufgabe sind in Horizon in einen Satz wiederverwendbarer Klassen abstrahiert , so dass Entwickler programmatisch mit minimalem Aufwand Anzeigen und Interaktionen erstellen können, ganz ohne Boilerplate Code.

Tabs und Tab-Gruppen

Ein weiteres weit verbreitetes Benutzeroberflächenelement ist die Verwendung von „Tabs“, um Gruppen von Elementen in überschaubare Teile zu zerlegen. Da diese Registerkarten häufig sehr unterschiedliche Elemente umfassen, möglicherweise völlig unterschiedliche Zugriffsbeschränkungen aufweisen und manchmal dynamisch hinzugeladen werden, enthält Horizon Tab- und Tabgruppenklassen, um diese Schnittstellen elegant und ohne Vorkenntnisse in HTML, CSS oder JavaScript zu erstellen.

Nova Eigenschaften

Unterstützung der Nova-Eigenschaften wurde in Essex erheblich verbessert:

  • Unterstützung für Nova-Datenträger, einschließlich:

    • Datenträgererstellung und -management.

    • Datenträger-Schattenkopien

    • Echtzeit AJAX-Aktualisierung für Datenträger im Übergangszustand.

  • Verbesserte Nova-Instanzanzeige und Interaktionen, einschließlich:

    • Starten von Instanzen von Datenträgern.

    • Pausieren / Aussetzen von Instanzen.

    • Anzeige der Instanz-Leistungszustände.

    • Echtzeit AJAX Aktualisierung für Instanzen in Übergangszuständen.

  • Unterstützung für das Management von Floating IP Pools.

  • Neue Detailansichten für Instanzen und Datenträger.

Einstellungen

Eine neuer „Einstellungen“ Bereich wurde hinzugefügt, der einige nützliche Funktionen bereitstellt:

  • Herunterladen der EC2 Legitimation.

  • Herunterladen der OpenStack RC-Datei.

  • Benutzerspezifische Spracheinstellung.

User Experience Verbesserungen

  • Unterstützung für Stapelaktionen an multiplen Ressourcen (z.B. multiple Instanzen gleichzeitig beenden).

  • Modale Interaktionen in der gesamten Benutzeroberfläche.

  • AJAX Formularübertragung zur in-place Validierung.

  • Verbesserte Kontexthilfe für Formulare (Tooltips und Validierungsnachrichen).

Community

  • Erstellung und Veröffentlichung einer Sammlung von Human Interface Guidelines (HIG).

  • Große Mengen von Dokumentation für Entwickler.

Unter der Haube

  • Internationalisierung vollständig ermöglicht, alle Zeichenketten zur Übersetzung markiert.

  • Änderungen der Klientenbibliothek:

    • Vollständige Migration zum python-novaclient von der veralteten openstackx Bibliothek.

    • Migration zum python-keystoneclient von dem veralteten keystone Anteil der python-novaclient Bibliothek.

  • Klientenseitige Vorlagenmöglichkeiten um einfacher dynamische Interaktionen zu erstellen.

  • Frontend zur Verwendung des Bootstrap CSS/JS Frameworks überholt.

  • Zentralisierte Fehlerbehandlung zur deutlich verbesserten Stabilität/Zuverlässigkeit der APIs/Klienten.

  • Komplett überarbeitete Testsuite mit umfangreichen Testdaten.

  • Vorwärtskompatibilität mit Django 1.4 und die Option auf Cookie-basierte Sitzungen.

Bekannte Probleme und Limitierungen

Quantum

Quantum Unterstützung wurde für das Essex Release aus Horizon entfernt. Die Unterstützung wird in Folsom wiederhergestellt, zusammen mit dem ersten Release von Quantum als Core OpenStack Projekt.

Keystone

Aufgrund der Mechanismen, mit denen Keystone die „admin“ -Zugehörigkeit für einen Benutzer bestimmt, kann ein Administrator, der mit dem Dashboard des Projekts interagiert, einige inkonsistente Verhaltensweisen feststellen, wie etwa alle aufgelisteten Ressourcen, anstatt nur diejenigen, die zu diesem Projekt gehören, oder nur der Zugriff zum Dashboard „Admin“, während Sie auf bestimmte Projekte zugreifen.

Ausnahmen während der Anpassung

Eine ausgelöste Exception beim Überschreiben des in Horizon eingebauten Verhaltens mittels „customization_module“ Einstellung kann einen Bug in der Fehlerbehandlung auslösen, welcher die originäre Exception verbirgt.

Abwärtskompatibilität

Die Essex Horizon Version ist nur teilweise rückwärtskompatibel mit Diablo OpenStack Komponenten. Obwohl es weitgehend möglich ist, sich einzuloggen und zu interagieren, änderten sich viele Funktionen in Nova, Glance und Keystone zu sehr in Essex, um volle Kompatibilität zu gewährleisten.