in gridengine/src/gridengine/driver.py [0:0]
def do_decrement(self, node: Node) -> bool:
current_hostgroups = get_node_hostgroups(self.config, node)
node_hostgroups = set(current_hostgroups or [self.hostgroup.name])
hg_intersect = self.hostgroup.name in node_hostgroups
if not hg_intersect:
raise AssertionError(
"{} does not intersect {}".format(node_hostgroups, self.hostgroup.name)
)
assert node.placement_group in [
None,
self.placement_group,
], "placement group %s != %s" % (node.placement_group, self.placement_group)
if node.exists:
assert (
node.placement_group == self.placement_group
), "placement group %s != %s" % (node.placement_group, self.placement_group)
else:
assert node.placement_group in [None, self.placement_group]
node.placement_group = self.placement_group
if self.hostgroup.name not in current_hostgroups:
add_node_to_hostgroup(node, self.hostgroup)
# hostgroup.constraints should not actually decrement anything
# they are minimums
# for child in self.hostgroup.constraints:
# assert child.do_decrement(node)
if self.child_constraint:
return self.child_constraint.do_decrement(node)
return True