Esempio n. 1
0
    def _get_nodes(self):
        consul_api = ConsulAPI()
        # Get all PetaSAN nodes[management or storage].
        node_list = consul_api.get_node_list()
        # Get online nodes from consul.
        consul_members = consul_api.get_consul_members()
        petasan_node_list = []
        for i in node_list:
            if not i.is_iscsi:
                continue
            if i.name in consul_members:
                petasan_node_list.append(i.name)

        return petasan_node_list
Esempio n. 2
0
 def __get_down_node_list(self):
     down_node_list = []
     try:
         con_api = ConsulAPI()
         node_list = con_api.get_node_list()
         consul_members = con_api.get_consul_members()
         for i in node_list:
             if i.name not in consul_members:
                 i.status = NodeStatus.down
                 down_node_list.append(i.name)
         return down_node_list
     except Exception as e:
         logger.exception("error get down node list")
         return down_node_list
    def get_node_list(self):
        consul_api = ConsulAPI()
        # Get all PetaSAN nodes[management or storage].
        node_list = consul_api.get_node_list()
        # Get online nodes from consul.
        consul_members = consul_api.get_consul_members()
        petasan_node_list = []
        for i in node_list:
            if i.name in consul_members:
                i.status = NodeStatus.up
            else:
                i.status = NodeStatus.down
            petasan_node_list.append(i)

        return petasan_node_list