public static void main(final String... args) { try { final MasterMain main = new MasterMain(args); main.startAsync().awaitRunning(); main.awaitTerminated(); } catch (Throwable e) { log.error("Uncaught exception", e); System.exit(1); } // Ensure we exit even if there's lingering non-daemon threads System.exit(0); } }
protected MasterMain startMaster(final String... args) throws Exception { final MasterMain main = new MasterMain(args); main.startAsync().awaitRunning(); services.add(main); return main; }
@Override protected void startUp() throws Exception { service = new MasterService(masterConfig, createEnvironment("helios-master"), curatorClientFactory ); service.startAsync().awaitRunning(); }
@Test public void testRollingUpdateCoordination() throws Exception { // stop the default master master.stopAsync().awaitTerminated(); // start a bunch of masters and agents final Map<String, MasterMain> masters = startDefaultMasters(3); final Map<String, AgentMain> agents = Maps.newLinkedHashMap(); for (int i = 0; i < 20; i++) { final String name = TEST_HOST + i; agents.put(name, startDefaultAgent(name, "--labels", TEST_LABEL)); } // create a deployment group and start rolling out cli("create-deployment-group", "--json", TEST_GROUP, TEST_LABEL); final JobId jobId = createJob(testJobName, testJobVersion, BUSYBOX, IDLE_COMMAND); cli("rolling-update", "--async", "--par", String.valueOf(agents.size()), testJobNameAndVersion, TEST_GROUP); // wait until the task is running on the final agent awaitTaskState(jobId, getLast(agents.keySet()), TaskStatus.State.RUNNING); // ensure that all masters were involved final Set<String> deployingMasters = Sets.newHashSet(); final Map<String, HostStatus> hostStatuses = defaultClient().hostStatuses( Lists.newArrayList(agents.keySet())).get(); for (final HostStatus status : hostStatuses.values()) { for (final Deployment deployment : status.getJobs().values()) { deployingMasters.add(deployment.getDeployerMaster()); } } assertEquals(masters.size(), deployingMasters.size()); }
MasterMain startMaster(final CuratorClientFactory curatorClientFactory, final String... args) throws Exception { final MasterMain main = new MasterMain(curatorClientFactory, args); main.startAsync().awaitRunning(); services.add(main); return main; }
@Override protected void startUp() throws Exception { service = new MasterService(masterConfig, createEnvironment("helios-master"), curatorClientFactory); service.startAsync().awaitRunning(); }
public static void main(final String... args) { try { final MasterMain main = new MasterMain(args); main.startAsync().awaitRunning(); main.awaitTerminated(); } catch (Throwable e) { log.error("Uncaught exception", e); System.exit(1); } // Ensure we exit even if there's lingering non-daemon threads System.exit(0); } }