fifty2technology.openpbs

Opis

Ta rola instaluje i konfiguruje OpenPBS na węzłach obliczeniowych, węzłach serwerowych lub obu. Postępuje zgodnie z instrukcjami INSTALACJI z oficjalnego repozytorium GitHub.

Uwaga: Gdy rola jest zastosowana do węzła z działającą symulacją, a następuje zmiana konfiguracji, OpenPBS jest restartowany, co również restartuje symulację. Aby zapewnić bezpieczeństwo, uruchamiaj tylko na węzłach bez obciążenia.

Scenariusz Molecule testowany jest w Podman z Rockylinux 9 i wersją OpenPBS 23.06.06.

Wymagania

  • Wszystkie węzły muszą móc używać SSH między sobą (n-do-n) (dotyczy zarówno serwera OpenPBS, jak i węzłów) z pożądanym użytkownikiem MPI.
  • Grupy inwentarzowe powinny być nazwane pbsheadnode (dla węzła głównego) i mpinodes (dla węzłów obliczeniowych). Odmienne nazwy grup muszą być ustawione w domyślnych zmiennych openpbs_server_hostname, openpbs_server, openpbs_mom oraz w templates/pbs.conf.j2.
  • Obsługiwane dystrybucje systemu Linux to Debian 11, Ubuntu 18.04 i Rockylinux 8/9.
  • Działająca rezolucja nazw DNS. Obejmuje rezolucję FQDN i non-FQDN:
    • Upewnij się, że Twoje serwery DNS poprawnie rozwiązują nazwy hostów
    • Upewnij się, że /etc/resolv.conf zawiera zarówno poprawne wpisy search, jak i domain
    • Nazwy hostów muszą być w formacie non-FQDN (foo zamiast foo.example.org)
  • Dystrybucje oparte na RedHat muszą mieć włączone repozytorium PowerTools/CRB.

Zmienne roli

Wszystkie zmienne, które można nadpisać, są przechowywane w pliku defaults/main.yml, a także w poniższej tabeli.

Nazwa Wartość domyślna Opis
openpbs_version latest Wersja OpenPBS do zainstalowania. Musi być 'latest' lub odpowiadać nazwie tagu w OpenPBS (np. v20.0.1). Zobacz repozytorium GitHub: https://github.com/openpbs/openpbs/tags
openpbs_install_dir /opt/pbs Katalog instalacyjny. Zostanie również dodany do Twojego $PATH.
openpbs_build_dir /opt/build_pbs Katalog budowy
openpbs_server_hostname "{{ groups['pbsheadnode'][0] }}" Nazwa hosta serwera OpenPBS (węzeł główny). Domyślnie oparta na członkostwie w grupie inwentarzowej.
openpbs_server "{{ ( inventory_hostname in groups['pbsheadnode'] ) and not
( inventory_hostname in groups['mpinodes'] ) }}"
Decyduje, czy host jest PBS MOM, czy serwerem PBS, na podstawie przynależności do grup. Dostosuj nazwy grup w razie potrzeby, logika nie może zostać zmieniona.
openpbs_mom "{{ ( inventory_hostname in groups['mpinodes'] ) and not
( inventory_hostname in groups['pbsheadnode'] ) }}"
Decyduje, czy host jest PBS MOM, czy serwerem PBS, na podstawie przynależności do grup. Dostosuj nazwy grup w razie potrzeby, logika nie może zostać zmieniona.
openpbs_dbuser_username pbsdata Użytkownik utworzony do użytku wewnętrznego PBS, do dostępu do bazy danych. Może być przydatny, gdy aktualizacja się nie powiedzie i trzeba sprawdzić bazę danych ręcznie.
openpbs_dbuser_password plzchangeme Hasło dla powyższego konta

Zależności

Brak.

Przykładowy Playbook

Inwentarz używany w tym przykładzie:

all:
  children:
    mpinodes:
      hosts:
        ubuntumom.example.com:
        centosmom.example.com:
        debianmom.example.com:
    pbsheadnode:
      hosts:
        pbsserver.example.com:
- hosts: mpinodes,pbsheadnode
  gather_facts: true
  become: true

  roles:
    - role: openpbs
O projekcie

Install OpenPBS, an HPC workload manager and a job scheduler.

Zainstaluj
ansible-galaxy install fifty2technology.openpbs
Licencja
gpl-3.0
Pobrania
195
Właściciel