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