Softlayer - список серверов, которые включены - PullRequest
0 голосов
/ 07 марта 2019

В следующем коде Java перечислены все «голые железные» серверы в программном слое для конкретной учетной записи SL и фильтры для серверов, которые включены (например, powerState = 'on'.

    public void listServers(Account.Service service, ApiClient client) throws Exception {

    service.withMask().hardware().fullyQualifiedDomainName().primaryIpAddress();
    service.withMask().hardware().hardwareStatus();
    service.withMask().hardware().id();

    Account account = service.getObject();

    //
    //  list of softlayer servers for the client account
    //
    for (Hardware hardware : account.getHardware()) {
        String hostname = hardware.getFullyQualifiedDomainName();

        String hardwareStatus = (hardware.getHardwareStatus() == null) ? null : hardware.getHardwareStatus().getStatus();
        Long serverId = hardware.getId();
        String powerState = null;

        if (serverId != null) {
            Hardware.Service hardwareService = Hardware.service(client, serverId);
            hardwareService.setMask("mask[serverPowerState");
            try {
                powerState = hardwareService.getServerPowerState();
            } catch (Exception ex) {
                System.out.println("Error, cannot get powerState, hostname=" + hostname + ", msg=" + ex.getMessage());
            }
        }
        System.out.println("Hostname=" + hostname + ", hwStatus=" + hardwareStatus + ", powerState=" + powerState);
    }
}

Кажется, что код работает, но по крайней мере для одного из серверов происходит сбой при вызове hardwareService.getServerPowerState ()

«Невозможно установить IPMI v2 / RMCP + сеанс».

Есть идеи, почему это не удается?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...