return files.apply().withPlacementPolicy() .add(yarnDeploymentPolicy, YARN_RUNNABLE_NAME) .anyOrder().build();
@Override public TwillSpecification configure() { return TwillSpecification.Builder.with() .setName("PlacementPolicyApplication") .withRunnable() .add("hostRunnable", new EchoServer(), resource).noLocalFiles() .add("hostRackRunnable", new EchoServer(), resource).noLocalFiles() .add("distributedRunnable", new EchoServer(), twoInstancesResource).noLocalFiles() .withPlacementPolicy() .add(Hosts.of(nodeReports.get(0).getHttpAddress()), "hostRunnable") .add(Hosts.of(nodeReports.get(1).getHttpAddress()), Racks.of("/default-rack"), "hostRackRunnable") .add(TwillSpecification.PlacementPolicy.Type.DISTRIBUTED, "distributedRunnable") .anyOrder() .build(); } }
@Override public TwillSpecification configure() { return TwillSpecification.Builder.with() .setName("BadApplication") .withRunnable() .add("Hermione", new EchoServer(), resource).noLocalFiles() .add("Harry", new EchoServer(), resource).noLocalFiles() .add("Ron", new EchoServer(), resource).noLocalFiles() .withPlacementPolicy() .add(TwillSpecification.PlacementPolicy.Type.DEFAULT, "Hermione", "Harry") .add(TwillSpecification.PlacementPolicy.Type.DISTRIBUTED, "Hermione", "Ron") .anyOrder() .build(); } }
@Override public TwillSpecification configure() { return TwillSpecification.Builder.with() .setName("FaultyApplication") .withRunnable() .add("Hermione", new EchoServer(), resource).noLocalFiles() .add("Harry", new EchoServer(), resource).noLocalFiles() .add("Ron", new EchoServer(), resource).noLocalFiles() .withPlacementPolicy() .add(TwillSpecification.PlacementPolicy.Type.DEFAULT, "Hermione", "Ron") .add(TwillSpecification.PlacementPolicy.Type.DISTRIBUTED, "Draco", "Harry") .anyOrder() .build(); } }
@Override public TwillSpecification configure() { return TwillSpecification.Builder.with() .setName("DistributedApplication") .withRunnable() .add("Alice", new EchoServer(), twoInstancesResource).noLocalFiles() .add("Bob", new EchoServer(), resource).noLocalFiles() .add("Eve", new EchoServer(), resource).noLocalFiles() .withPlacementPolicy() .add(TwillSpecification.PlacementPolicy.Type.DISTRIBUTED, "Alice", "Bob") .anyOrder() .build(); } }
@Override public TwillSpecification configure() { return TwillSpecification.Builder.with() .setName("DistributedApplication") .withRunnable() .add("Alice", new EchoServer(), resource).noLocalFiles() .add("Bob", new EchoServer(), resource).noLocalFiles() .add("Eve", new EchoServer(), resource).noLocalFiles() .withPlacementPolicy() .add(TwillSpecification.PlacementPolicy.Type.DISTRIBUTED, "Alice", "Bob") .anyOrder() .build(); } }