com.cloud.resource.ResourceManager.listHostsInClusterByStatus()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(3.7k)|赞(0)|评价(0)|浏览(85)

本文整理了Java中com.cloud.resource.ResourceManager.listHostsInClusterByStatus方法的一些代码示例,展示了ResourceManager.listHostsInClusterByStatus的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ResourceManager.listHostsInClusterByStatus方法的具体详情如下:
包路径:com.cloud.resource.ResourceManager
类名称:ResourceManager
方法名:listHostsInClusterByStatus

ResourceManager.listHostsInClusterByStatus介绍

暂无

代码示例

代码示例来源:origin: apache/cloudstack

public long[] getNeighbors(Host agent) {
  List<Long> neighbors = new ArrayList<Long>();
  List<HostVO> cluster_hosts = resourceManager.listHostsInClusterByStatus(agent.getClusterId(), Status.Up);
  for (HostVO host : cluster_hosts) {
    if (host.getId() == agent.getId() || (host.getHypervisorType() != Hypervisor.HypervisorType.KVM && host.getHypervisorType() != Hypervisor.HypervisorType.LXC)) {
      continue;
    }
    neighbors.add(host.getId());
  }
  return ArrayUtils.toPrimitive(neighbors.toArray(new Long[neighbors.size()]));
}

代码示例来源:origin: apache/cloudstack

@Override
public HashMap<String, VolumeStatsEntry> getVolumeStatistics(long clusterId, String poolUuid, StoragePoolType poolType, List<String> volumeLocator, int timeout) {
  List<HostVO> neighbors = _resourceMgr.listHostsInClusterByStatus(clusterId, Status.Up);
  for (HostVO neighbor : neighbors) {
    GetVolumeStatsCommand cmd = new GetVolumeStatsCommand(poolType, poolUuid, volumeLocator);
    if (timeout > 0) {
      cmd.setWait(timeout/1000);
    }
    Answer answer = _agentMgr.easySend(neighbor.getId(), cmd);
    if (answer instanceof GetVolumeStatsAnswer){
      GetVolumeStatsAnswer volstats = (GetVolumeStatsAnswer)answer;
      return volstats.getVolumeStats();
    }
  }
  return null;
}

代码示例来源:origin: apache/cloudstack

List<HostVO> neighbors = resourceManager.listHostsInClusterByStatus(agent.getClusterId(), Status.Up);
for (HostVO neighbor : neighbors) {
  if (neighbor.getId() == agent.getId() || (neighbor.getHypervisorType() != Hypervisor.HypervisorType.KVM && neighbor.getHypervisorType() != Hypervisor.HypervisorType.LXC)) {

代码示例来源:origin: apache/cloudstack

@Override
  public Status isAgentAlive(Host agent) {
    LOGGER.debug("isAgentAlive: " + agent.getName());
    if (agent.getHypervisorType() != Hypervisor.HypervisorType.Ovm3) {
      return null;
    }
    CheckOnHostCommand cmd = new CheckOnHostCommand(agent);
    List<HostVO> neighbors = resourceMgr.listHostsInClusterByStatus(agent.getClusterId(), Status.Up);
    for (HostVO neighbor : neighbors) {
      if (neighbor.getId() == agent.getId() || neighbor.getHypervisorType() != Hypervisor.HypervisorType.Ovm3) {
        continue;
      }
      try {
        Answer answer = agentMgr.easySend(neighbor.getId(), cmd);
        if (answer != null) {
          return answer.getResult() ? Status.Down : Status.Up;
        }
      } catch (Exception e) {
        LOGGER.error("Failed to send command to host: " + neighbor.getId(), e);
      }
    }

    return null;
  }
}

代码示例来源:origin: apache/cloudstack

@Override
  public Status isAgentAlive(Host agent) {
    if (agent.getHypervisorType() != Hypervisor.HypervisorType.Hyperv) {
      return null;
    }
    CheckOnHostCommand cmd = new CheckOnHostCommand(agent);
    List<HostVO> neighbors = _resourceMgr.listHostsInClusterByStatus(agent.getClusterId(), Status.Up);
    for (HostVO neighbor : neighbors) {
      if (neighbor.getId() == agent.getId() || neighbor.getHypervisorType() != Hypervisor.HypervisorType.Hyperv) {
        continue;
      }

      try {
        Answer answer = _agentMgr.easySend(neighbor.getId(), cmd);
        if (answer != null) {
          return answer.getResult() ? Status.Down : Status.Up;
        }
      } catch (Exception e) {
        s_logger.debug("Failed to send command to host: " + neighbor.getId(), e);
      }
    }

    return null;
  }
}

代码示例来源:origin: apache/cloudstack

List<HostVO> neighbors = _resourceMgr.listHostsInClusterByStatus(agent.getClusterId(), Status.Up);
for (HostVO neighbor : neighbors) {
  if (neighbor.getId() == agent.getId()

代码示例来源:origin: apache/cloudstack

hosts = _resourceMgr.listHostsInClusterByStatus(pool.getClusterId(), Status.Up);

代码示例来源:origin: apache/cloudstack

hosts = _resourceMgr.listHostsInClusterByStatus(pool.getClusterId(), Status.Up);

相关文章