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
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