Usługa rimrock jest dostępna pod następującymi adresami:

https://submit.plgrid.pl lub https://zlecaj.plgrid.pl

Krótki opis usługi

Usługa rimrock pozwala na zarządzanie procesami i zadaniami na infrastrukturze obliczeniowej za pomocą interfejsów REST. Może być wykorzystana przez dostawców usług dziedzinowych lub zaawansowanych użytkowników do uruchamiania i monitorowania procesów lub zadań na infrastrukturze poprzez delegację certyfikatu proxy użytkownika. Certyfikat proxy można otrzymać z ramach uwierzytelnienia z serwerem OpenID lub wygenerować ręcznie (np. za pomocą polecenia voms-proxy-init). Udostępniane metody REST obejmują:

  • Zarządzanie procesami (szczegóły) dostarcza pojedynczą metodę za pomocą której możemy uruchamiać proste polecenia na wybranej maszynie dostępowej. Przykładowo, chcąc dowiedzieć się jakie moduły oprogramowania są dostępne na maszynie zeus.cyfronet.pl należy uruchomić polecenie module available. Można to zrobić logując się na maszynę za pomocą ssh i wykonać wspomniane polecenie. Dzięki rimrock zadanie to można wykonać za pomocą metody REST przekazując nazwę hosta, polecenie oraz certyfikat proxy użytkownika na rzecz którego polecenie zostanie wykonane. Rezultat działania wybranego polecenia zostanie zwrócony wraz z odpowiedzią na żądanie wykonania polecenia.
  • Zarządzanie interaktywnymi procesami (szczegóły) umożliwia uruchomienie interaktywnego procesu na zdalnej maszynie dostępowej i systematyczne dosyłanie interpretowanego kodu jednocześnie pobierając rezultaty działania procesu. Przykładowym interaktywnym procesem może być interpreter pythona. Ten tryb w odróżnieniu od zarządzania procesami opisanym w poprzednim punkcie pozwala na wykonanie wielu poleceń przez ten sam proces.
  • Zarządzanie zadaniami (szczegóły) pozwala na zarządzanie pełnym cyklem zadań urychamianych na infrastrukturze obliczeniowej. Możemy więc zlecić zadanie, obserwować status jego wykonania lub je anulować. Można też pobrać status wszyskich zadań danego użytkownika jednocześnie.

Szczegóły dotyczące adresów oraz formatu wiadomości interfejsów REST znajdują się na dedykowanych stronach usługi, a linki do tych stron znajdują się w każdym z powyższych punktów.

Aktywowanie usługi

Usługa rimrock wymaga aktywacji (wymagane jest posiadanie konta infrastruktury PLGrid). Aby aktywować usługę, postępuj zgodnie z instrukcjami zawartymi w Katalogu Aplikacji i Usług po uprzednim wyszukaniu usługi.

Dodatkowo, w zależności od maszyny na której wykorzystywana będzie usługa, należy aktywować jedną z usług Dostęp do UI oraz w celu zlecania zadań jedną z usług Dostęp do klastra (przykładowo w celu zlecania zadań w Cyfronecie należy aktywować Dostęp do UI - Cyfronet oraz Dostęp do klastra ZEUS). Dla zarządzania procesami interaktywnymi i zadaniami wymagane jest również aktywowanie usługi PLG-Data.

Ograniczenia w korzystaniu

Należy pamiętać, iż procesy oraz procesy interaktywne uruchamiane w ramach zadządzania procesami i zarządzania procesami interaktywnymi nie mogą być intensywne obliczeniowo ponieważ są uruchamiane na maszynie dostępowej (UI), z której korzystają też inni użytkownicy.

Pierwsze kroki

W poniższym przykładzie wykorzystamy zarządzanie procesami usługi rimrock do uruchomienia polecenia date na maszynie dostępowej zeus.cyfronet.pl. Wykorzystamy w tym celu powłokę systemu Linux (bash) oraz narzędzie curl. W pierwszej kolejności należy wygenerować certyfikat proxy użytkownika. Możemy to zrobić logując się na maszynę zeus.cyfronet.pl i za pomocą polecenia grid-proxy-init wygenerować certyfikat proxy. Następnie za pomocą poniższego polecenia odpowiednio przygotowujemy certyfikat i zapisujemy w zmiennej środowiskowej proxy.

proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`"

Fragment {path-to-proxy-file} należy zamienić ścieżką do pliku z certyfikatem proxy (ścieżkę można odczytać po wykonaniu polecenia grid-proxy-info). Następnie wywołujemy jedną z metod usługi rimrock za pomocą następującego polecenia:

curl -k -X POST --data '{"host": "zeus.cyfronet.pl", "command": "date"}' --header "Content-Type:application/json" --header "PROXY:$proxy" https://submit.plgrid.pl/api/process

Polecenie zawiera wiadomość w formacie JSON zawierającą nazwę hosta (zeus.cyfronet.pl) na którym zostanie wykonane komenda date oraz definicję niezbędnych nagłówków i adres odpowiedniej metody. W rezultacie powinniśmy otrzymać odpowiedź podobną do tej poniżej.

{"status":"OK","exit_code":0,"standard_output":"Tue Dec  9 11:44:52 CET 2014","error_output":"","error_message":null}

Oprócz samego rezultatu działania polecenia date wiadomość zawiera kod wyjścia uruchomionego polecenia, a w przypadku wystąpienia błędu stosowne pola będą zawierać komunikaty z błędami.

Gdzie szukać dalszych informacji?

Szczegółowe informacje na temat poszczególnych zestawów operacji REST usługi rimrock można znaleźć na stronie samej usługi.

  • No labels