package com.sequenceiq.cloudbreak.core.bootstrap.service;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Set;
import com.sequenceiq.cloudbreak.orchestrator.container.ContainerOrchestrator;
import com.sequenceiq.cloudbreak.orchestrator.exception.CloudbreakOrchestratorCancelledException;
import com.sequenceiq.cloudbreak.orchestrator.exception.CloudbreakOrchestratorException;
import com.sequenceiq.cloudbreak.orchestrator.exception.CloudbreakOrchestratorFailedException;
import com.sequenceiq.cloudbreak.orchestrator.executor.ParallelOrchestratorComponentRunner;
import com.sequenceiq.cloudbreak.orchestrator.model.ContainerConfig;
import com.sequenceiq.cloudbreak.orchestrator.model.ContainerConstraint;
import com.sequenceiq.cloudbreak.orchestrator.model.ContainerInfo;
import com.sequenceiq.cloudbreak.orchestrator.model.GatewayConfig;
import com.sequenceiq.cloudbreak.orchestrator.model.Node;
import com.sequenceiq.cloudbreak.orchestrator.model.OrchestrationCredential;
import com.sequenceiq.cloudbreak.orchestrator.state.ExitCriteria;
import com.sequenceiq.cloudbreak.orchestrator.state.ExitCriteriaModel;
public class MockContainerOrchestrator implements ContainerOrchestrator {
@Override
public String name() {
return "mock";
}
@Override
public void init(ParallelOrchestratorComponentRunner parallelOrchestratorComponentRunner, ExitCriteria exitCriteria) {
}
@Override
public void bootstrap(GatewayConfig gatewayConfig, ContainerConfig config, Set<Node> nodes, int consulServerCount, ExitCriteriaModel exitCriteriaModel)
throws CloudbreakOrchestratorCancelledException, CloudbreakOrchestratorFailedException {
}
@Override
public void bootstrapNewNodes(GatewayConfig gatewayConfig, ContainerConfig containerConfig, Set<Node> nodes, ExitCriteriaModel exitCriteriaModel)
throws CloudbreakOrchestratorCancelledException, CloudbreakOrchestratorFailedException {
}
@Override
public void validateApiEndpoint(OrchestrationCredential cred) throws CloudbreakOrchestratorException {
}
@Override
public List<ContainerInfo> runContainer(ContainerConfig config, OrchestrationCredential cred, ContainerConstraint constraint,
ExitCriteriaModel exitCriteriaModel) throws CloudbreakOrchestratorException {
return null;
}
@Override
public void startContainer(List<ContainerInfo> info, OrchestrationCredential cred) {
}
@Override
public void stopContainer(List<ContainerInfo> info, OrchestrationCredential cred) {
}
@Override
public void deleteContainer(List<ContainerInfo> containerInfos, OrchestrationCredential cred) throws CloudbreakOrchestratorException {
}
@Override
public List<String> getMissingNodes(GatewayConfig gatewayConfig, Set<Node> nodes) {
return Collections.emptyList();
}
@Override
public List<String> getAvailableNodes(GatewayConfig gatewayConfig, Set<Node> nodes) {
return Collections.emptyList();
}
@Override
public String ambariServerContainer(Optional<String> name) {
return "server";
}
@Override
public String ambariClientContainer(Optional<String> name) {
return "client";
}
@Override
public String ambariDbContainer(Optional<String> name) {
return "db";
}
@Override
public boolean isBootstrapApiAvailable(GatewayConfig gatewayConfig) {
return false;
}
@Override
public int getMaxBootstrapNodes() {
return 100;
}
}