@Override
    public String downDescription() {
        StringBuilder description = new StringBuilder();

        Set<HostName> suspended = servicesNotInGroup.stream()
                .map(ServiceInstance::hostName)
                .filter(hostName -> hostStatus(hostName).isSuspended())
                .collect(Collectors.toSet());

        if (suspended.size() > 0) {
            description.append(" ");

            final int nodeLimit = 3;
            description.append(suspended.stream().sorted().distinct().limit(nodeLimit).toList().toString());
            if (suspended.size() > nodeLimit) {
                description.append(" and " + (suspended.size() - nodeLimit) + " others");
            }
            description.append(" " + isOrAre(suspended.size()) + " suspended.");
        }

        Set<ServiceInstance> downElsewhere = servicesDownAndNotInGroup().stream()
                .filter(serviceInstance -> !suspended.contains(serviceInstance.hostName()))
                .collect(Collectors.toSet());

        final int downElsewhereTotal = downElsewhere.size() + missingServices;
        if (downElsewhereTotal > 0) {
            description.append(" ");

            final int serviceLimit = 2; // services info is verbose
            description.append(Stream.concat(
                    downElsewhere.stream().map(ServiceInstance::toString).sorted(),
                    missingServices > 0 ? Stream.of(descriptionOfMissingServices) : Stream.of())
                    .limit(serviceLimit)
                    .toList()
                    .toString());

            if (downElsewhereTotal > serviceLimit) {
                description.append(" and " + (downElsewhereTotal - serviceLimit) + " others");
            }
            description.append(" " + isOrAre(downElsewhereTotal) + " down.");
        }

        return description.toString();
    }
A description of the hosts outside the group that are allowed to be down,
and a description of the services outside the group and outside of the allowed services
that are down.
orchestrator/src/main/java/com/yahoo/vespa/orchestrator/model/ClusterApiImpl.java