Entwicklung

Get into the Flow

Fallstricke und Besonderheiten bei der Migration auf HPE Operations Orchestration 10.

Warum auf HPE Operations Orchestration 10 (OO10) wechseln? OO10 bietet die Möglichkeit, ein eigenes Versionskontrollsystem (inklusive git) zu nutzen. Damit kann es in ein bestehendes System eingepflegt werden. Mit dem neuen Release-System können stabile Entwicklungsstände markiert werden, damit der Central stets eine stabile Version zur Verfügung hat.

Weiter bietet OO10 Neuerungen für die Entwickler: Das Studio ist nun übersichtlicher und kann mit weniger Klicks bedient werden. Außerdem sind in OO10 die "Current Runs" und "flow Execution" zusammengeführt, sodass auch head runs genauer verfolgt werden können. Remote debugging flows erschienen nun auch im Central. Des Weiteren haben OO10 runs weniger Ressourcenhunger als runs in OO9. OO10 läuft nun auf der nativen Java-SDK, damit geht eine höhere Sicherheit und Nachrüstbarkeit einher.

Um die Vorteile von HPE Operations Orchestration 10 (OO10) zu nutzen ist es nötig, den Content von OO9 zu portieren. Dazu wird aus OO9 das Repository mit den Flows, die portiert werden sollen, exportiert. Anschließend dieses Repo mit dem Upgrade Tool upgraden (unter …/studio/bin/upgrade-content.bat). Das upgrade-content Script ist selbsterklärend. Es führt durch die nötigen Schritte und am Ende erhalten Sie zwei OO10-Projekte, die in die Version OO10 geladen werden können. Diese heißen "RepoName" und "RepoName-invalid". Das "…-invalid"-Projekt beinhaltet alle Flows, die nicht validiert werden können, also noch Fehler enthalten. Diese müssen dann gelöst, und die Projekte zusammengefügt werden. Danach muss ein Content-Pack erstellt und auf den OO10 Central hochgeladen werden. Es sind einige Fallstricke zu beachten, um die Migration nicht in einem Meer aus Handarbeit enden zu lassen:

  • Evaluators evaluieren!
    Bei den Evaluators kann nach dem Upgrade ghosting auftreten. Das heißt es sind Evaluators vorhanden, tauchen im OO10 Studio aber nicht auf. Um dies zu lösen, müssen Sie die Evaluators löschen und neu erstellen, falls nötig. Die Fehler werden erst beim Import in den OO10 Central sichtbar.

  • Benutzen Sie Locks?
    Wenn die Locks genutzt werden sollen, muss darauf geachtet werden, dass sowohl lockId als auch LockId auf den gleichen Wert gesetzt werden. Dies kann mittels XML-Bearbeitung behoben werden.

  • Rechnen im Flow?
    Die Operators von Addition, Subtraktion, Multiplikation und Division müssen nachträglich gesetzt werden, da sie in OO9 nicht als Inputs existierten. Auch hier ist das Benutzen von XML-Bearbeitung angezeigt.

  • Prompt User?
    Wenn eine Input-Variable in OO9 auf Otherwise: Failed gesetzt ist, wird dies in Prompt User geändert. Damit folgt ein weiteres Problem: Das Prompt User resultiert in headless runs nicht wie in OO9 in einem „Failed to execute“, sondern das Prompt Fenster erscheint im OO10 Central. Der Flow wartet dann und liefert keine Fehlermeldung. Die Lösung könnte das Umstellen auf Use Constant mit einem Default-Wert sein, dann können die Prompt User-Fehler umgangen werden.

  • Viel zu tun am Do Nothing!
    Wenn Do Nothing genutzt wird, muss darauf geachtet werden, dass die Resultate "Field 1" bis "Field 4" nicht mehr existieren. Diese sollten durch die Felder "Input: Field 1" ersetzt werden. Das heißt an allen Stellen, wo ein "Do Nothing" benutzt wird, muss das richtige Resultat eingestellt werden. Dies kann am einfachsten über eine Bearbeitung der Flow-XMLs geschehen.

  • Länge 0 oder Fehler?
    Es gibt noch eine Veränderung in der Verarbeitung von Listenlängen. Wenn die Länge einer Liste bestimmt werden soll und diese ist leer, dann wurde in OO9 ein Fehler ausgegeben. In OO10 wird die Länge einfach als 0 angegeben. Hier müssen alle Stellen, an denen Listenlängen berechnet werden, überarbeitet werden um diesem Verhalten Rechnung zu tragen.

  • System Accounts Referenzen missing!
    System Accounts Referenzen können nach dem Upgrade von OO9 auf OO10 verloren gehen.

  • Scriptlets can’t get no sleep
    Es ist zu beachten, dass die Sleep Funktionen im Scriptlet nicht mehr funktionieren. Hier sollte auf den Sleep Flow zurückgegriffen werden.

  • Das kleinere Prompt User
    Wenn Prompt User benutzt wird, muss beachtet werden, dass die maximale Länge der Eingaben dort auf 255 Zeichen geschrumpft ist.

  • CSA relevante Probleme
    Es kann passieren, dass die OO Engines mit OO9 und OO10 einander behindern können. Wenn ein Flow in beiden Systemen an gleicher Stelle in der Library zu finden ist, kann es passieren, dass der falsche Flow gestartet wird. Diese Vermischung basiert auf der Art wie Flow-Referenzen in CSA gespeichert werden.

Benötigen Sie Unterstützung bei der Migration von HPE OO 9 auf HPE OO10? Wir stehen Ihnen mit kompetenten Lösungen und der effektiven Umsetzung gern zur Verfügung. Sprechen Sie uns an!

Autor

Paul Markwart Associate IT-Consultant
Paul Markwart

Dresden