in community/modules/scheduler/schedmd-slurm-gcp-v6-controller/modules/slurm_files/scripts/resume.py [0:0]
def instance_properties(nodeset: NSDict, model:str, placement_group:Optional[str], labels:Optional[dict], job_id:Optional[int]):
props = NSDict()
if labels: # merge in extra labels on instance and disks
template = lookup().node_template(model)
template_info = lookup().template_info(template)
props.labels = {**template_info.labels, **labels}
for disk in template_info.disks:
if disk.initializeParams.get("diskType", "local-ssd") == "local-ssd":
continue # do not label local ssd
disk.initializeParams.labels.update(labels)
props.disks = template_info.disks
if placement_group:
props.resourcePolicies = [placement_group]
if reservation := lookup().nodeset_reservation(nodeset):
update_reservation_props(reservation, props, placement_group, reservation.calendar)
if (fr := lookup().future_reservation(nodeset)) and fr.specific:
assert fr.active_reservation
update_reservation_props(fr.active_reservation, props, placement_group, fr.calendar)
if props.resourcePolicies:
props.scheduling.onHostMaintenance = "TERMINATE"
if nodeset.maintenance_interval:
props.scheduling.maintenanceInterval = nodeset.maintenance_interval
if nodeset.dws_flex.enabled and nodeset.dws_flex.use_bulk_insert:
update_props_dws(props, nodeset.dws_flex, job_id)
# Override with properties explicit specified in the nodeset
props.update(nodeset.get("instance_properties") or {})
return props