openpbs

Описание

Эта роль устанавливает и настраивает OpenPBS на вычислительных узлах, серверных узлах или на обоих. Она следует инструкциям INSTALL из официального репозитория GitHub.

Примечание: Если применить изменения конфигурации на узле с запущенной симуляцией, OpenPBS будет перезапущен, в результате чего симуляция также перезапустится. Чтобы избежать проблем, запускайте только на неактивных узлах.

Сценарий Molecule тестируется в Podman с Rockylinux 9 и версией OpenPBS 23.06.06.

Требования

  • Все узлы должны иметь возможность использовать SSH между собой (n-to-n) (включает сервер OpenPBS и узлы) с желаемым пользователем MPI.
  • Группы инвентаря должны называться pbsheadnode (для основного узла) и mpinodes (для вычислительных узлов). Отклоняющиеся названия групп должны быть установлены в переменных по умолчанию openpbs_server_hostname, openpbs_server, openpbs_mom и в templates/pbs.conf.j2.
  • Поддерживаемые дистрибутивы Linux включают Debian 11, Ubuntu 18.04 и Rockylinux 8/9.
  • Рабочее разрешение имен DNS. Включает разрешение FQDN и не-FQDN:
    • Убедитесь, что ваши DNS-серверы правильно разрешают имена хостов.
    • Убедитесь, что файл /etc/resolv.conf содержит правильные записи search и domain.
    • Имена хостов должны быть в формате не-FQDN (foo, а не foo.example.org).
  • Дистрибутивы, основанные на RedHat, должны иметь включенный репозиторий PowerTools/CRB.

Переменные роли

Все переменные, которые могут быть переопределены, хранятся в файле defaults/main.yml, а также в таблице ниже.

Имя Значение по умолчанию Описание
openpbs_version latest Версия OpenPBS для установки. Должна быть 'latest' или соответствовать имени тега в OpenPBS (например, v20.0.1). Смотрите репозиторий GitHub: https://github.com/openpbs/openpbs/tags
openpbs_install_dir /opt/pbs Директория установки. Также будет добавлена в ваш $PATH.
openpbs_build_dir /opt/build_pbs Директория сборки
openpbs_server_hostname "{{ groups['pbsheadnode'][0] }}" Имя хоста сервера OpenPBS (основного узла). По умолчанию основано на членстве в группе инвентаря.
openpbs_server "{{ ( inventory_hostname in groups['pbsheadnode'] ) and not ( inventory_hostname in groups['mpinodes'] ) }}" Определяет, является ли хост MOM PBS или сервером PBS, на основе его членства в группах. При необходимости адаптируйте названия групп, логика должна оставаться неизменной.
openpbs_mom "{{ ( inventory_hostname in groups['mpinodes'] ) and not ( inventory_hostname in groups['pbsheadnode'] ) }}" Определяет, является ли хост MOM PBS или сервером PBS, на основе его членства в группах. При необходимости адаптируйте названия групп, логика должна оставаться неизменной.
openpbs_dbuser_username pbsdata Пользователь, созданный для внутреннего использования PBS, для доступа к базе данных. Может быть полезен в случае, если обновление нарушится и вам нужно будет вручную проверить БД.
openpbs_dbuser_password plzchangeme Пароль для вышеуказанного имени аккаунта

Зависимости

Отсутствуют.

Пример плейбука

Инвентарь, используемый в этом примере:

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
О проекте

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

Установить
ansible-galaxy install FIFTY2Technology/ansible-role-openpbs
Лицензия
gpl-3.0
Загрузки
186
Владелец