package com.sequenceiq.cloudbreak.core.bootstrap.service.container;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import com.sequenceiq.cloudbreak.core.bootstrap.service.container.context.ContainerOrchestratorClusterContext;
import com.sequenceiq.cloudbreak.service.StackBasedStatusCheckerTask;
@Component
public class ContainerClusterAvailabilityCheckerTask extends StackBasedStatusCheckerTask<ContainerOrchestratorClusterContext> {
private static final Logger LOGGER = LoggerFactory.getLogger(ContainerClusterAvailabilityCheckerTask.class);
@Override
public boolean checkStatus(ContainerOrchestratorClusterContext context) {
List<String> missingNodes = context.getContainerOrchestrator().getMissingNodes(context.getGatewayConfig(), context.getNodes());
LOGGER.debug("Missing nodes from orchestrator cluster: {}", missingNodes);
return missingNodes.isEmpty();
}
@Override
public void handleTimeout(ContainerOrchestratorClusterContext t) {
}
@Override
public String successMessage(ContainerOrchestratorClusterContext t) {
return "Container orchestration API is available and the agents are registered.";
}
}