Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Info
titleUwaga!

Ze względu na wycofwanie usługi Cloud 2.0, platforma HyperFlow jest dostępna w formie właściwej aplikacji dostępnej w repozytorium: https://github.com/hyperflow-wms która może zostać uruchomiona w ramach Cloudu 3.0 lub dowolnego z klastrów obliczeniowych. Repozytorium kodu zawiera obcenie dostępne skrypty, wspomagające automatyzację uruchomienia platformy HyperFlow. Poniższy przykładowy opis uruchomienia platformy w ramach Zeusa nie jest już preferowaną metodą korzystania z HyperFlow.

Krótki opis usługi

Plantforma Platforma HyperFlow jest usługą przeznaczoną zarówno dla zaawansowanych developerów deweloperów jak i naukowców dziedzinowych, pracujących nad rozwojem aplikacji reprezentowanych przez workflowy. Gotowe workflowy korzystające z platformy mogą być wykorzystywane przez zwykłego użytkownika infrastruktury PLGrid.

Usługa oferuje "platformę", czyli bazę narzędziową służącą do rozwoju aplikacji typu workflow. Developer powinien rozpoznać dostarczone narzędzia, dostosować je do swoich potrzeb i zdefiniowac zdefiniować aplikację w postaci workflowu. Poszczególne narzędzia oferują funkcjonalności typowe dla swojej roli, czyli np. automatyczny transfer plików wejścia wyjścia, zlecanie zdań na zdalne maszyny, delegacja uprawień itd. Baza zawiera gotowe elementy systemu, które można wykorzystać podczas budowania swojej aplikacji. Gotowe elementy to między innymi:

...

Korzystając z w/w komponentów możliwe jest skonstruowanie aplikacji, która będzie zdefiniowana poprzez workflow a jej środowisko wykonawcze będzie dynamicznie tworzone w cloudzie plgrid. Schemat działania platformy został przedstawiony na następującym obrazku:

Aktywowanie usługi

Aktywacja usługi odbywa się poprzez Portal PLGridAby aktywować usługę "Platforma HyperFlow", postępuj zgodnie z instrukcjami zawartymi w Katalogu Aplikacji i Usług po uprzednim wyszukaniu usługi. Przed zaaplikowaniem o tą usługę konieczne jest posiadanie certyfikatu gridowego, wystawionego przez SimpleCA i następujących usług:

  • Dostęp do platformy Cloud Computng - Cloud 2.0
  • Dostęp do klastra ZEUS

...

  • .

Pierwsze kroki

Poniższy przykład prowadzi użytkownika poprzez podstawowy scenariusz użycia platformy. Przykład pozwala na skorzystaine skorzystanie ze wszystkich komponentów.

We wszystkich przykładach należy zastąworkflow.jsonpić zastąpić login swoim loginem, wygenerowane URLe będą się różnić od przykładowych.

...

Należy utworzyć w swoim katalogu domowym plik 'workflow.json' o następującej zawartości:

...



{
    "name": "hello_task",
    "processes": [ {
        "name": "process",
        "type": "dataflow",
        "function": "amqpCommand",
        "config" : {
            "executor" : {
                "executable": "/bin/cat",
                "args": "input.txt > output.txt",
                "options": {
                    "prefix": "gsiftp://zeus.cyfronet.pl/people/plglogin"
                }
            }
        },
        "ins":  [ 0 ],
        "outs": [ 1 ]
    } ],
    "signals": [ {
        "name": "input.txt",
        "data": "1"
    }, {
        "name": "output.txt"
    } ],
    "ins":  [ 0 ],
    "outs": [ 1 ]
}
 


lub pobrać gotowy plik:

workflow.json

Przygotowanie pliku wejściowego:

...


[plglogin@zeus ~]$ echo "input" > input.txt
 


Setup środowiska:


 

[plglogin@zeus ~]$ module
add test
load plgrid/tools/hflowclient
 


[plglogin@zeus ~]$ grid-proxy-init
(...)
[plglogin@zeus ~]$ hflowc setup
Appliance set hfworkflow created successfully!
WfMain created successfully!
waiting for wfMain to start..............wfMain is active!
Found port mapping 1032->443, hfmain endoint: http://149.156.11.4:1032
starting wfworker_0
Workers created
 


Notujemy "hfmain endpoint", po zakończeniu wykonania polecenia należy odczekać jeszcze 1-2 minuty aby wszystkie usługi się podniosły. W miedzyczasie możemy obserwować tworzenie się maszyn w interfejsie webowym cloudu, dostępnym pod adresem: https://cloud.plgrid.pl w zakładce "Workflows". Na tym etapie, w cloudzie powstało środowisko uruchomieniowe.

Uruchomienie workflowu:

...


[plglogin@zeus ~]$ hflowc runwf http://149.156.11.4:1032 workflow.json

W tym momencie workflow zostanie przesłany do maszyny zawierającej silnik HyperFlow i uruchomiony. Wynikiem działania workflowu będą informacje znajdujące się w pliku wyjściowym.

Sprawdzenie wyników:

...


W następujący sposób sprawdzamy zawartość pliku wynikowego, który został stworzony na "workerze" w trakcie wykonania workflowu a następnie skopiowany jako "output" do katalogu zdefiniowanego w workflole.


 


[plglogin@zeus ~]$ cat output.txt
hello world


Warning



 

Usunięcie środowiska uruchomieniowego workflow:

...

Zaawansowane użycie

Zaawansowane użyce użycie sprowadza się do zmodyfikowania obrazów, tak aby zawierały narzędzia potrzebne do wkonania zadań z workflowu (konkretne aplikacje np. montage), zapisanie ich i modyfikacja konfiguracji klienta, tak aby nowo tworzone środowiska były budowane z uwzględnieniem własnych obrazów.

Nazapki

Podczas korzystania z klienta otrzymuję komunikat podobny do:

[Error: error getting appliance sets: 400, Bad Request]

 Należy się upewnić, że korzystamy z proxy od SimpleCA stworzonego za pomocą komendy grid-proxy-init lub voms-proxy-init -rfc lub proxy pobranego z PLGridowego OpenId (format: RFC 3820 compliant impersonation proxy).

Gdzie szukać dalszych informacji?

...