You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

 

UNICORE Commandline Client

UNICORE Commandline Client jest tekstowym klientem systemu UNICORE.

Instalacja i konfiguracja

Klient UCC pobrany może zostać ze strony projektu http://www.unicore.eu/download/unicore6/. Ściągnięta paczka może zostać rozpakowana w dowolnej lokalizacji.

Aby skonfigurować dostęp do Gridu najlepiej skorzystać z profilu konfiguracji klienta, który m.in. doinstaluje certyfikaty zaufanych CA oraz określi rejestry. W tym celu należy:

  • utworzyć katalog $HOME/.ucc/ ($HOME oznacza katalog domowy użytkownika);
  • wykonać polecenie ($UCC to katalog z rozpakowanym tekstowym klientem systemu UNICORE):
    $UCC/bin/ucc download-config -c $UCC/conf/preferences https://unicore.grid.icm.edu.pl:8443/ccm/plgrid-profile-icm.xml 20:3E:60:DE:4A:FF:6D:47:91:BB:87:E7:D3:DD:33:FA:6B:49:DD:C9
  • skopiować plik $UCC/conf/preferences do katalogu $HOME/.ucc/;
  • skopiować plik $UCC/certs/user-keystore.jks do katalogu $HOME/.ucc/ ($UCC to katalog z rozpakowanym tekstowym klientem systemu UNICORE);
  • w pliku $HOME/.ucc/preferences:
  • w wierszu keystore = ../certs/user-keystore.jks zamienić podaną ścieżkę na na ścieżkę dostępu do paczki PKCS12;
  • usunąć hasło, czyli skasować albo zakomentować wiersz: password=the!user;
  • odkomentować (usunąć znak #) wiersz: storetype=pkcs12;'
  • odkomentowac wiersz trustostore=… i zamienić wielokropek na ścieżkę: user-keystore.jks
  • odkomentowac wiersz trustostorePassword=… i zamienić wielokropek na hasło the!user
  • z wiersza rozpoczynającego się od registry= usunąć pierwszy z adresów (https://localhost:8080/DEMO-SITE/services/Registry?res=default_registry);

Sposób uruchomienia programu oraz jego przykładowe użycie pokazane są w szkoleniach zdalnych UNICORE, na które zapisać się można za pośrednictwem Portalu.

UNICORE Commandlie Client na serwerach dostępowych

Użytkownik może wykorzystać gotową instalację tekstowego klienta systemu UNICORE (UCC) dostępnego UI: ICM, WCSS, Cyfronet, PCSS, TASK. W tym celu należy jednak, oprócz aplikacji o globalny dostęp do systemu UNICORE, wystąpić o dostęp do wybranych UI.

Instalacja i konfiguracja

Aby móc korzystać z zainstalowanego klienta UCC użytkownik powinien:

  • aplikować o dostęp i zalogować się do UI wybranego ośrodka (klient UCC zainstalowany jest we wszystkich ośrodkach: ICM, WCSS, Cyfronet, PCSS, TASK) zgodnie z opisem dostępnym w rozdziale dostep lokalny;
  • wpisać polecenie ucc, które spowoduje przygotowanie plików konfiguracyjnych użytkownika;
  • wgrać na konto swój certyfikat i klucz prywatny (metody przegrywania plików pomiędzy maszynami opisane są w rozdziale dostep lokalny); w przypadku posiadania certyfikatu podpisanego przez Simple CA, czyli gotowej paczki w formacie PKCS12, należy przegrać na konto jedynie plik z rozszerzeniem .p12;
  • jeżeli użytkownik nie dysponuje paczką kluczy w formacie PKCS12 należy, zgodnie z opisem umieszczonym w rozdziale Konwersja certyfikatu, dokonać konwersji posiadanych certyfikatów na ten format;
  • w pliku ~/.ucc/preferences:
    • zmienić ścieżkę ../certs/user-keystore.jks na ścieżkę do certyfikatu;
    • usunąć hasło, czyli skasować albo zakomentować wiersz: password=the!user;
    • odkomentować (usunąć znak #) wiersz: storetype=pkcs12;

Przykładowe użycie programu pokazane jest w szkoleniach zdalnych UNICORE, na które zapisać się można za pośrednictwem Portalu.

Polecenia UNICORE Commandline Client

Połączenie z Gridem

Aby połączyć się z Gridem, należy wykonać polecenie ucc connect. Pomoc można uzyskać za pomocą polecenia ucc z opcją -h:

$ ucc connect
$ ucc -h

Jeżeli hasło użytkownika nie jest zapisane w pliku preferences, wówczas będzie on pytany o nie przy każdym wywołaniu UCC. Aby tego uniknąć wykorzystać można tryb interaktywny wpisując: ucc shell. Tryb ten nie wymaga pisania ucc przed poleceniami. Oferuje ponadto rozwijanie poleceń.

Zasoby

Aby sprawdzić listę dostępnych systemów docelowych, magazynów (stoarge) bądź aplikacji, użytkownik wykonać powinien następujące polecenia:

$ ucc list-sites
$ ucc list-storages
$ ucc list-applications

Opis zadania

UNICORE Commandline Client wykorzystuje opis zadań w formacie JSON pozwalając na wskazanie uruchamianego programu, argumentów, ustawień środowiska oraz przesyłanych plików. Przykład opisu zadania przedstawiony został poniżej. Może on zostać skopiowany do pliku date.u.

# simple job: run Date
{
   ApplicationName: Date,
   ApplicationVersion: 1.0,
}

Uruchamianie zadania

Aby uruchomić zadanie, użytkownik powinien wpisać polecenie:

$ ucc run date.u -v

Standardowym wyjściem może być np. plik 1bc1bb08-7737-4fb1-854e-5d89ba18d7f0.stdout. Opcja -v pozwala wyświetlić szczegółowe wyniki. Użytkownik może również użyć opcji -b, która zwraca skrócone nazwy plików (bez hasha).

Opcja -a pozwala na uruchomienie zadania w sposób asynchroniczny: pliki wejściowe są wysyłane na zdalny system, gdzie zadanie jest zatwierdzane do uruchomienia, jednak wyniki mogą zostać pobrane w późniejszym terminie za pomocą polecenia get-output. Aby uzyskać status zadania, użyć należy komendy get-status. Jako argument podać można plik zadania uzyskany w wyniku polecenia run -a bądź też End Point Reference (EPR) otrzymany z listy zadań (list-jobs):

$ ucc run -a date.u -v -b
$ ucc list-jobs
$ ucc get-status job
$ ucc get-output jo

Import/Export plików

Aby importować pliki z lokalnego komputera do katalogu zadania (lub eksportować z katalogu zadania do lokalnego komputera), użytkownik powinien wskazać w skrypcie pliki źródłowe i docelowe:
{
    Imports: [
       { From: "u6://StorageName/fileName", To: "remoteFileName" },
    ]
   Exports: [
        { From: "remoteFileName", To:"u6://StorageName/fileName" },  
    ]
}

Plik może również zostać wysłany na Stoarge i pobrany z niego za pomocą poleceń ucc put-file oraz ucc get-file. Komenda ls pozwala na wypisanie wszystkich plików z katalogu:

$ ucc put-file -s fileName -t u6://StorageName/fileName
$ ucc get-file -s u6://StorageName/fileName -t newFileName
$ ucc ls u6://StorageName/fileName

Zasoby

W części Resourcesskryptu opisującego zadanie użytkownik może określić zasoby, z którymi zadanie zostanie uruchomione na zdalnym systemie. Sekcja ta może wyglądać następująco:
Resources: {
    Memory: 128000000,
    Nodes: 1,
    CPUs: 8 ,
}

Przykład

W poniższym przykładzie plik localScript.sh jest skryptem wypisującym do pliku o nazwie newFile słowo Hello:

 

echo "Hello" >> newFile

Użytkownik może utworzyć plik localScript.sh na lokalnym komputerze. Aby wysłać go na Storage powinien najpierw sprawdzić nazwę dostępnych Storage'y (tutaj: SHARE-ACK). Po przesłaniu pliku można wyświetlić znajdujące się w nim pliki:

$ ucc list-storages
$ ucc put-file -s localScript.sh -t u6://SHARE-ACK/storageScript.sh
$ ucc ls u6://SHARE-ACK/Home

Plik bash.u jest skryptem importującym storageScript.sh z Home Stoarge do katalogu zadania i zmieniającym jego nazwę na remoteScript.sh. Skrypt tworzy plik newFile, który następnie jest pobierany na komputer użytkownika jako localNewFile. Plik ten jest również eksportowany do Home Storage systemu UNICORE.

 

{
 ApplicationName: "Bash shell",
 Environment: [
                "SOURCE=remoteScript.sh",
        ],
         Imports: [
                { From: "u6://SHARE-ACK/storageScript.sh", To: "remoteScript.sh"}
        ],
        Exports: [
                { From: "newFile", To: "localNewFile"},
                { From:"newFile", To: "u6://SHARE-ACK/storageNewFile"}
        ],
 Resources: {
        CPUs: 1 ,
 }
}

Zadanie bash.u może zostać uruchomione poleceniem ucc run. Na komputerze użytkownika powinien zostać utworzony plik localNewFile.

$ ucc run bash.u -v
$ ucc ls u6://SHARE-ACK

  • No labels