def _choose_capture_side(self):
        """
        Run capture on the best candidate.

        The ideal candidate is a node who on controller server and always
        running (capture will not be cut off)

        :returns: Node where the capture should run
        """

        ALWAYS_RUNNING_NODES_TYPE = ("cloud", "nat", "ethernet_switch", "ethernet_hub")

        for node in self._nodes:
            if node["node"].compute.id == "local" and node["node"].node_type in ALWAYS_RUNNING_NODES_TYPE and node["node"].status == "started":
                return node

        for node in self._nodes:
            if node["node"].node_type in ALWAYS_RUNNING_NODES_TYPE and node["node"].status == "started":
                return node

        for node in self._nodes:
            if node["node"].compute.id == "local" and node["node"].status == "started":
                return node

        for node in self._nodes:
            if node["node"].node_type and node["node"].status == "started":
                return node

        raise aiohttp.web.HTTPConflict(text="Cannot capture because there is no running device on this link")
def _choose_capture_side ( self ) : ALWAYS_RUNNING_NODES_TYPE = ( "cloud" , "nat" , "ethernet_switch" , "ethernet_hub" ) for node in self . _nodes : if node [ "node" ] . compute . id == "local" and node [ "node" ] . node_type in ALWAYS_RUNNING_NODES_TYPE and node [ "node" ] . status == "started" : return node for node in self . _nodes : if node [ "node" ] . node_type in ALWAYS_RUNNING_NODES_TYPE and node [ "node" ] . status == "started" : return node for node in self . _nodes : if node [ "node" ] . compute . id == "local" and node [ "node" ] . status == "started" : return node for node in self . _nodes : if node [ "node" ] . node_type and node [ "node" ] . status == "started" : return node raise aiohttp . web . HTTPConflict ( text = "Cannot capture because there is no running device on this link" )
Run capture on the best candidate.

        The ideal candidate is a node who on controller server and always
        running (capture will not be cut off)

        :returns: Node where the capture should run