All Products
Search
Document Center

Elastic High Performance Computing:Common API operations related to scheduler plug-ins

Last Updated:Nov 30, 2022

This topic describes the scheduler plug-in features that you need to enable when you call the common API operations of Elastic High Performance Computing (E-HPC). This helps you deploy your services.

Background information

This topic applies to the scenarios where only scheduler plug-ins are configured. If you need to configure domain account plug-ins at the same time, you must enable domain account features.

AddNodes

Description

If you call the AddNodes operation to scale out a cluster, the following plug-in features must be set to true: SchedServiceCheck, NodeJoinCheck, and NodeAdd. In addition, you must configure corresponding functions.

Process

  1. After you call the AddNodes operation, E-HPC starts to configure resources, such as hardware and software for compute nodes.

  2. During scheduler installation, the system periodically calls the service check feature (SchedServiceCheck) to check whether the scheduler is installed. If the installation is still in progress, wait until the scheduler is installed. If the scheduler is installed, proceed to the next step.

  3. The node check feature (NodeJoinCheck) is called to check whether the compute nodes are added to the scheduler. If the compute nodes are not added to the scheduler, the scheduling node starts to add the compute nodes to the scheduler (NodeAdd). If the compute nodes are already added to the scheduler, they are in the Running state.

Plug-in features

Note

This section describes only the plug-in features that you need to enable.

    • SchedServiceCheck

      • Functionality: checks whether the scheduling service is running as expected on specified nodes. You need to enable this feature based on the node type.

      • Required configurations:

        • Source file: pluginschedulercheck.py

        • Function: sched_service_check()

      • Example: Run the systemctl status pbs command to check whether the PBS scheduling service is running as expected on specified nodes.

    • NodeJoinCheck

      • Functionality: checks whether one or more compute nodes are added to the scheduler.

      • Required configurations:

        • Source file: pluginschedulercheck.py

        • Function: node_join_check()

      • Example: Run the pbsnodes command to check whether the compute nodes reside in the scheduler.

    • NodeAdd

      • Functionality: adds one or more compute nodes to the scheduler on the scheduling node.

      • Required configurations:

        • Source file: pluginnodeoperation.py

        • Function: node_add()

      • Example: Run the qmgr command to add the compute nodes to the scheduler.

DeleteNodes

Description

If you call the DeleteNodes operation to scale in a cluster, the following plug-in feature must be set to true: NodeDel. In addition, you must configure corresponding functions.

Process

After you call the DeleteNodes operation, E-HPC starts to release compute node resources. At the same time, the scheduling node calls the NodeDel feature to delete compute nodes from the scheduler.

Plug-in features

Note

This section describes only the plug-in features that you need to enable.

NodeDel

  • Functionality: deletes one or more compute nodes from the scheduler on the scheduling node.

  • Required configurations:

    • Source file: pluginnodeoperation.py

    • Function: functionnode_del()

  • Example: Run the qmgr command to delete the compute nodes from the PBS scheduler.