Skip to content

Commit

Permalink
add fields to the AR_Type required for
Browse files Browse the repository at this point in the history
- fixing CS-430
- adding the -scope switch to qrsub
  • Loading branch information
jgabler-hpc committed Sep 13, 2024
1 parent 71e9222 commit 04d568c
Show file tree
Hide file tree
Showing 3 changed files with 189 additions and 117 deletions.
139 changes: 82 additions & 57 deletions source/libs/sgeobj/cull/sge_advance_reservation_AR_L.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,93 +28,112 @@
#include "sgeobj/cull/sge_boundaries.h"

/**
* @brief @todo add summary
* @brief Advance Reservation
*
* @todo add description
* An object of this type represents an advance reservation.
* An advance reservation reserves (consumable) resources for a certain time period.
* Jobs which are submitted into the AR can use these resources.
* See also man pages qrsub.1, qrstat.1, and qrdel.1
*
* SGE_ULONG(AR_id) - @todo add summary
* @todo add description
* SGE_ULONG(AR_id) - AR Id
* A unique identifier for the advance reservation, similar to the job id.
*
* SGE_STRING(AR_name) - @todo add summary
* @todo add description
* SGE_STRING(AR_name) - AR Name
* A name for the advance reservation.
*
* SGE_STRING(AR_account) - @todo add summary
* @todo add description
* SGE_STRING(AR_account) - Account
* The account to which the advance reservation is charged.
*
* SGE_STRING(AR_owner) - @todo add summary
* @todo add description
* SGE_STRING(AR_owner) - Owner
* The owner of the advance reservation (the user who submitted the AR).
*
* SGE_STRING(AR_group) - @todo add summary
* @todo add description
* SGE_STRING(AR_group) - Group
* The UNIX group of the advance reservation owner.
*
* SGE_ULONG64(AR_submission_time) - @todo add summary
* ... microseconds since epoch
* SGE_ULONG64(AR_submission_time) - Submission Time
* The time when the AR was submitted in microseconds since epoch.
*
* SGE_ULONG64(AR_start_time) - @todo add summary
* ... microseconds since epoch
* SGE_ULONG64(AR_start_time) - Start Time
* The start time of the AR in microseconds since epoch
*
* SGE_ULONG64(AR_end_time) - @todo add summary
* ... microseconds since epoch
* SGE_ULONG64(AR_end_time) - End Time
* The end time of the AR in microseconds since epoch
*
* SGE_ULONG64(AR_duration) - @todo add summary
* ... microseconds
* SGE_ULONG64(AR_duration) - Duration
* The duration of the AR in microseconds
*
* SGE_ULONG(AR_verify) - @todo add summary
* @todo add description
* SGE_ULONG(AR_verify) - Verify
* From qrsub -w v|e.
*
* SGE_ULONG(AR_error_handling) - @todo add summary
* @todo add description
* SGE_ULONG(AR_error_handling) - Error Handling
* From qrsub -he yes/no.
*
* SGE_ULONG(AR_state) - @todo add summary
* @todo add description
* SGE_ULONG(AR_state) - State
* The state of the advance reservation.
*
* SGE_STRING(AR_checkpoint_name) - @todo add summary
* @todo add description
* SGE_STRING(AR_checkpoint_name) - Checkpoint Name
* Checkpointing environment jobs running in the AR can use.
*
* SGE_LIST(AR_resource_list) - @todo add summary
* @todo add description
* SGE_LIST(AR_resource_list) - Resource List
* The list of resources requested by the advance reservation (qrsub -l).
* Just one hard resource list. @todo The -scope feature is still missing.
*
* SGE_LIST(AR_resource_utilization) - @todo add summary
* @todo add description
* SGE_LIST(AR_resource_utilization) - Resource Utilization
* The utilization of resources by jobs running in the AR.
*
* SGE_LIST(AR_queue_list) - @todo add summary
* @todo add description
* SGE_LIST(AR_queue_list) - Queue List
* The list of queues requested by the advance reservation (qrsub -q).
* Just one hard queue list. @todo The -scope feature is still missing.
*
* SGE_LIST(AR_granted_slots) - @todo add summary
* @todo add description
* The list of queues and the number of slots which are reserved for the advance reservation.
* Equivalent to the JAT_granted_destin_identifier_list in running jobs/array tasks.
*
* SGE_LIST(AR_reserved_queues) - @todo add summary
* @todo add description
* SGE_LIST(AR_reserved_hosts) - Reserved Hosts
* Will hold the list of hosts which are reserved for the advance reservation
* together with the amount of granted consumables in EH_consumable_resources.
* @todo not yet implemented, see CS-430
*
* SGE_ULONG(AR_mail_options) - @todo add summary
* @todo add description
* SGE_LIST(AR_reserved_queues) - Reserved Queues
* Holds the list of queues which are reserved for the advance reservation
* together with the amount of granted consumables in QU_consumable_resources.
*
* SGE_LIST(AR_mail_list) - @todo add summary
* @todo add description
* SGE_ULONG(AR_mail_options) - Mail Options
* Mail options for the advance reservation from qrsub -m.
*
* SGE_STRING(AR_pe) - @todo add summary
* @todo add description
* SGE_LIST(AR_mail_list) - Mail List
* Mail list for the advance reservation from qrsub -M.
*
* SGE_LIST(AR_pe_range) - @todo add summary
* @todo add description
* SGE_STRING(AR_pe) - Parallel Environment
* The parallel environment which is requested by the advance reservation from qrsub -pe.
*
* SGE_STRING(AR_granted_pe) - @todo add summary
* @todo add description
* SGE_LIST(AR_pe_range) - PE Range
* The number of slots (can be a range) which are requested for the advance reservation.
*
* SGE_LIST(AR_master_queue_list) - @todo add summary
* @todo add description
* SGE_STRING(AR_granted_pe) - Granted PE
* The parallel environment which was granted to the advance reservation based on the pe request.
*
* SGE_LIST(AR_acl_list) - @todo add summary
* @todo add description
* SGE_LIST(AR_master_queue_list) - Master Queue List
* The list of possible master queues requested by the advance reservation (qrsub -masterq).
*
* SGE_LIST(AR_xacl_list) - @todo add summary
* @todo add description
* SGE_LIST(AR_acl_list) - ACL List
* The acl_list defines which users may use the advance reservation.
*
* SGE_ULONG(AR_type) - @todo add summary
* @todo add description
* SGE_LIST(AR_xacl_list) - XACL List
* The xacl_list defines which users may not use the advance reservation.
*
* SGE_ULONG(AR_qi_errors) - @todo add summary
* @todo add description
* SGE_ULONG(AR_type) - Type
* Holds the information from the qrsub -now option (immediate or batch).
*
* SGE_ULONG(AR_qi_errors) - QI Errors
* Number of queue instances which are in some error state.
*
* SGE_LIST(AR_request_set_list) - Request Set List
* @todo placeholder for implementing the -scope switch
* List of request sets. 0 .. 3 request sets can exist: global, master, slave.
* Sequential ARs can have a single job request set, the global one.
* Parallel ARs can have up to 3 request sets: global requests,
* requests for the master task, requests for the slave tasks.
*
* SGE_LIST(AR_joker) - Joker
* Placeholder which can be used for arbitrary data.
Expand All @@ -141,6 +160,7 @@ enum {
AR_resource_utilization,
AR_queue_list,
AR_granted_slots,
AR_reserved_hosts,
AR_reserved_queues,
AR_mail_options,
AR_mail_list,
Expand All @@ -152,6 +172,7 @@ enum {
AR_xacl_list,
AR_type,
AR_qi_errors,
AR_request_set_list,
AR_joker
};

Expand All @@ -173,6 +194,7 @@ LISTDEF(AR_Type)
SGE_LIST(AR_resource_utilization, RUE_Type, CULL_DEFAULT)
SGE_LIST(AR_queue_list, QR_Type, CULL_SPOOL)
SGE_LIST(AR_granted_slots, JG_Type, CULL_SPOOL)
SGE_LIST(AR_reserved_hosts, EH_Type, CULL_SPOOL)
SGE_LIST(AR_reserved_queues, QU_Type, CULL_SPOOL)
SGE_ULONG(AR_mail_options, CULL_SPOOL)
SGE_LIST(AR_mail_list, MR_Type, CULL_SPOOL)
Expand All @@ -184,6 +206,7 @@ LISTDEF(AR_Type)
SGE_LIST(AR_xacl_list, ARA_Type, CULL_SPOOL)
SGE_ULONG(AR_type, CULL_SPOOL)
SGE_ULONG(AR_qi_errors, CULL_DEFAULT)
SGE_LIST(AR_request_set_list, JRS_Type, CULL_SPOOL)
SGE_LIST(AR_joker, VA_Type, CULL_SPOOL)
LISTEND

Expand All @@ -205,6 +228,7 @@ NAMEDEF(ARN)
NAME("AR_resource_utilization")
NAME("AR_queue_list")
NAME("AR_granted_slots")
NAME("AR_reserved_hosts")
NAME("AR_reserved_queues")
NAME("AR_mail_options")
NAME("AR_mail_list")
Expand All @@ -216,6 +240,7 @@ NAMEDEF(ARN)
NAME("AR_xacl_list")
NAME("AR_type")
NAME("AR_qi_errors")
NAME("AR_request_set_list")
NAME("AR_joker")
NAMEEND

Expand Down
6 changes: 6 additions & 0 deletions source/libs/sgeobj/cull/sge_sub_object.cc
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,9 @@ object_get_subtype(int nm)
case AR_granted_slots:
ret = JG_Type;
break;
case AR_reserved_hosts:
ret = EH_Type;
break;
case AR_reserved_queues:
ret = QU_Type;
break;
Expand All @@ -616,6 +619,9 @@ object_get_subtype(int nm)
case AR_xacl_list:
ret = ARA_Type;
break;
case AR_request_set_list:
ret = JRS_Type;
break;
case AR_joker:
ret = VA_Type;
break;
Expand Down
Loading

0 comments on commit 04d568c

Please sign in to comment.