def do_decrement()

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