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) impinodes
(dla węzłów obliczeniowych). Odmienne nazwy grup muszą być ustawione w domyślnych zmiennychopenpbs_server_hostname
,openpbs_server
,openpbs_mom
oraz wtemplates/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 wpisysearch
, jak idomain
- Nazwy hostów muszą być w formacie non-FQDN (
foo
zamiastfoo.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
Zainstaluj
ansible-galaxy install fifty2technology.openpbs
Licencja
gpl-3.0
Pobrania
195
Właściciel