Reservation

Reservation API functions via PyLoadL


SYNOPSIS


  #
  # Reservation API
  #

  rc, errObj = ll_bind(res_id, job_list, bind_op)

  rc, errObj = ll_remove_reservation(res_id_list, res_user_list, res_host_list, res_group_list)

  rc, errObj = ll_make_reservation(start_date, period, res_type, res_data, users_list, groups_list, group_owner)

  rc, errObj = ll_change_reservation( res_IDs, param_dict )


DESCRIPTION

The LoadLeveler Reservation API via PyLoadL has the following functions:

ll_bind

The ll_bind routine enables you to bind job steps to a reservation. The ll_bind routine can also be used to unbind a list of job steps from the reservations to which they are currently bound to, or whichever reservation they have requested to bind to in the event that the bind has not yet occurred.

  rc = ll_bind( res_id, job_list, bind_op )

Parameters

  1. res_id

    String : Reservation id in form host.rid.

  2. job_list

    List : Users to perform control operation on.

  3. bind_op

    Constant : 1 to unbind and 0 to bind jobs to reservation.

ll_remove_reservation

Function to enable you to cancel one or more reservations.

rc, errObj = ll_remove_reservation( res_id_list, res_user_list, res_host_list, res_group_list )

Parameters

  1. res_id_list

    List : Reservation IDs in format: "host.rid.r".

  2. res_users

    List : Reservation owners.

  3. res_host_list

    List : Machine names.

  4. res_group_list

    List : Loadleveler groups.

ll_make_reservation

Function to enable you to create a reservations.

rc, errObj = ll_make_reservation( start_date, period, res_type, res_data, users_list, groups_list, group_owner )

Parameters

  1. start_date

    String : Start time of reservation in the format of "[mm/dd[/[cc]yy] ]HH:MM".

  2. period

    Int : Duration of reservation in minutes.

  3. res_type

    Constant : Indicates how the nodes should be reserved.

    1. RESERVATION_BY_NODE

      number of nodes.

    2. RESERVATION_BY_HOSTLIST

      specifying a hostlist.

    3. RESERVATION_BY_JOBSTEP

      specifying a jobstep.

    4. RESERVATION_BY_JCF

      by job command file.

  4. res_data

    Specifies options that control characteristics of the reservation. The follow values can be OR'ed together to set this parameter

    1. RESERVATION_SHARED

      Selects the SHARED option for the reservation. For a SHARED reservation, after all bound job steps which can run on the reserved nodes are scheduled to run, the remaining resources can be used to run job steps not bound to the reservation. Only bound job steps can be scheduled to run on a reservation that is not shared.

    2. RESERVATION_REMOVE_ON_IDLE

      Selects the REMOVE_ON_IDLE option for the reservation. For a REMOVE_ON_IDLE reservation, if all bound job steps are finished or if all bound job steps are Idle and none can run on the reserved nodes, the reservation will be removed (canceled) automatically by LoadLeveler. If this option is not set, the reservation will remain, regardless of being used or not.

  5. users_list

    List : Users to use reservation.

  6. groups_list

    List : Loadleveler groups to use reservation.

  7. group_owner

    String : Loadleveler group owner.

ll_change_reservation

Function to enable you to change the attribute of a reservation.

rc, errObj = ll_change_reservation( res_IDs, param_dict )

Parameters

  1. res_IDs

    List : Reservation IDs in format: "host.rid.r"

  2. param_dict

    Dict : { RES_OP:OP_VALUE, ....}

    1. RESERVATION_START_TIME

      String

    2. RESERVATION_ADD_START_TIME

      Int: Add minutes to start time

    3. RESERVATION_DURATION

      Int : Duration in reservation

    4. RESERVATION_ADD_DURATION

      Int : Add minutes to duration

    5. RESERVATION_BY_NODE

      Int : Number of node

    6. RESERVATION_ADD_NODE_NUM

      Int : number of addition nodes to add

    7. RESERVATION_BY_HOSTLIST

      List : Hostnames

    8. RESERVATION_ADD_HOSTS

      List : Additional hostnames

    9. RESERVATION_DEL_HOSTS

      List : Remove hostnames

    10. RESERVATION_BY_JOBSTEP

      List : Valid jobsteps

    11. RESERVATION_USERLIST

      List : Valid users

    12. RESERVATION_ADD_USERS

      List : Additional users

    13. RESERVATION_DEL_USERS

      List : Remove users

    14. RESERVATION_GROUPLIST

      List : Valid groups

    15. RESERVATION_ADD_GROUPS

      List :Additional groups

    16. RESERVATION_DEL_GROUPS

      List : Remove groups

    17. RESERVATION_MODE_SHARED

      Int : 0 - not shared, 1 - shared

    18. RESERVATION_MODE_REMOVE_ON_IDLE

      Int : 0 - Do not remove, 1 - Remove

    19. RESERVATION_OWNER

      String : Owner of reservation

    20. RESERVATION_GROUP

      String : Group reservation owner


SEE ALSO

the LoadLeveler page the DataAccess page the Error Handling page

IBM LoadLeveler for AIX 5L: Using and Administering