def _update_static_nodes_in_replacement()

in src/slurm_plugin/clustermgtd.py [0:0]


    def _update_static_nodes_in_replacement(self, slurm_nodes):
        """Update self.static_nodes_in_replacement by removing nodes that finished replacement and is up."""
        nodename_to_slurm_nodes_map = {node.name: node for node in slurm_nodes}
        nodes_still_in_replacement = set()
        for nodename in self._static_nodes_in_replacement:
            node = nodename_to_slurm_nodes_map.get(nodename)
            # Remove nodename from static_nodes_in_replacement if node is no longer an active node or node is up
            if node and not node.is_up():
                nodes_still_in_replacement.add(nodename)
        self._static_nodes_in_replacement = nodes_still_in_replacement
        for node in slurm_nodes:
            node.is_static_nodes_in_replacement = node.name in self._static_nodes_in_replacement
            node._is_being_replaced = self._is_node_being_replaced(node)
            node._is_replacement_timeout = self._is_node_replacement_timeout(node)