in gridengine/src/gridengine/hostgroup.py [0:0]
def read_hostgroups(autoscale_config: Dict, qbin: QBin) -> List[Hostgroup]:
# map each host (lowercase) to its set of hostgroups
ret: List[Hostgroup] = []
hg_config = autoscale_config.get("gridengine", {}).get("hostgroups", {})
for hg_name in qbin.qconf(["-shgrpl"]).split():
members = qbin.qconf(["-shgrp_resolved", hg_name]).split()
members = [h.split(".")[0].lower() for h in members]
constraints = hg_config.get(hg_name, {}).get("constraints", []) or []
if not isinstance(constraints, list):
constraints = [constraints]
parsed_constraints = constraintslib.get_constraints(constraints)
hostgroup = Hostgroup(hg_name, parsed_constraints, members)
ret.append(hostgroup)
return ret