package com.sequenceiq.cloudbreak.orchestrator.swarm.mantest; import java.util.HashSet; import java.util.Set; import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.sequenceiq.cloudbreak.orchestrator.executor.ParallelOrchestratorComponentRunner; import com.sequenceiq.cloudbreak.orchestrator.model.GatewayConfig; import com.sequenceiq.cloudbreak.orchestrator.model.Node; import com.sequenceiq.cloudbreak.orchestrator.state.ExitCriteria; import com.sequenceiq.cloudbreak.orchestrator.state.ExitCriteriaModel; import com.sequenceiq.cloudbreak.orchestrator.swarm.SwarmContainerOrchestrator; public class BootstrapManTest { private static final Logger LOGGER = LoggerFactory.getLogger(BootstrapManTest.class); private static final int PARALLELISM = 1; private static final int CONSUL_SERVER_SIZE = 1; private static final int LOOP_SIZE = 10; private Set<Node> nodes = new HashSet<>(); public static void main(String[] args) { BootstrapManTest t = new BootstrapManTest(); t.build(); } public void build() { SwarmContainerOrchestrator o = new SwarmContainerOrchestrator(); o.init(new SingleContainerRunner(), new NoExit()); GatewayConfig gatewayConfig = new GatewayConfig("104.41.154.195", "104.41.154.195", "10.0.0.8", 8443, "/Users/akanto/prj/cbd-test/certs/stack-4100", false); add("10.0.0.8", "104.41.154.195", "cbgateway-3-geza2-20150817160005"); /*add("10.0.0.7", "23.96.84.101", "hostgroupclient1-2-geza2-20150817155818"); add("10.0.0.9", "137.135.76.82", "hostgroupmaster1-4-geza2-20150817160217"); add("10.0.0.10", "137.135.77.218", "hostgroupmaster2-5-geza2-20150817160343"); add("10.0.0.6", "191.237.28.52", "hostgroupmaster3-1-geza2-20150817155642"); add("10.0.0.5", "191.236.56.236", "hostgroupslave1-0-geza2-20150817155532");*/ /*GatewayConfig gatewayConfig = new GatewayConfig("137.117.166.188", "10.0.0.6", "/Users/akanto/prj/cbd-test/certs/stack-4200"); add("10.0.0.6", "137.117.166.188", "cbgateway-1-d2minimal-20150818120046"); add("10.0.0.5", "137.117.167.157", "master-0-d2minimal-20150818115910"); add("10.0.0.7", "137.117.161.31", "slave1-2-d2minimal-20150818120226"); add("10.0.0.8", "23.97.219.211", "slave1-3-d2minimal-20150818120400"); add("10.0.0.9", "168.63.108.25", "slave1-4-d2minimal-20150818120547"); add("10.0.0.10", "65.52.139.9", "slave1-5-d2minimal-20150818120736");*/ //o.bootstrap(gatewayConfig, nodes, CONSUL_SERVER_SIZE, "/hadoopfs/fs1", new NoExitModel()); //if(true) return; /*ContainerOrchestratorCluster cluster = new ContainerOrchestratorCluster(gatewayConfig, nodes); o.startRegistrator(cluster, new ContainerConfig("sequenceiq/registrator", "v5.2"), new NoExitModel()); for (int i = 0; i < LOOP_SIZE; i++) { LOGGER.info("Iteration: {}", i); o.startConsulWatches(cluster, new ContainerConfig("sequenceiq/docker-consul-watch-plugn", "2.0.0-consul"), new LogVolumePath("/hadoopfs/fs1", "/hadoopfs/fs1"), new NoExitModel()); }*/ LOGGER.info("FINISHED"); } private void add(String privateIp, String publicIp, String hostname) { Set<String> volumes = new HashSet<>(); volumes.add("/hadoopfs/fs1"); Node n = new Node(privateIp, publicIp, hostname, volumes); nodes.add(n); } private static class NoExit implements ExitCriteria { @Override public boolean isExitNeeded(ExitCriteriaModel exitCriteriaModel) { return false; } @Override public String exitMessage() { return "NO EXIT"; } } private static class NoExitModel extends ExitCriteriaModel { } private static class SingleContainerRunner implements ParallelOrchestratorComponentRunner { private ExecutorService es = Executors.newFixedThreadPool(PARALLELISM); @Override public Future<Boolean> submit(Callable<Boolean> callable) { return es.submit(callable); } } }