valueBuilder.getRangesBuilder().addRangeBuilder() .setBegin(assignedPort) .setEnd(assignedPort);
portValueBuilder.getRangesBuilder().addRangeBuilder() .setBegin(rawPort.getPort()) .setEnd(rawPort.getPort());
Protos.Value.Builder portValueBuilder = Protos.Value.newBuilder() .setType(Protos.Value.Type.RANGES); portValueBuilder.getRangesBuilder().addRangeBuilder() .setBegin(80) .setEnd(80);
private static ResourceSet getVIPResourceSet(Map<Integer, Integer> vipPorts) { DefaultResourceSet.Builder builder = DefaultResourceSet.newBuilder(TestConstants.ROLE, Constants.ANY_ROLE, TestConstants.PRINCIPAL) .id(TestConstants.RESOURCE_SET_ID); for (Map.Entry<Integer, Integer> entry : vipPorts.entrySet()) { int taskPort = entry.getValue(); Protos.Value.Builder valueBuilder = Protos.Value.newBuilder() .setType(Protos.Value.Type.RANGES); valueBuilder.getRangesBuilder().addRangeBuilder() .setBegin(taskPort) .setEnd(taskPort); NamedVIPSpec.Builder vipBuilder = NamedVIPSpec.newBuilder() .protocol("tcp") .vipName(TestConstants.VIP_NAME + "-" + taskPort) .vipPort(entry.getKey()); vipBuilder .envKey(TestConstants.PORT_ENV_NAME + "_VIP_" + taskPort) .portName(TestConstants.VIP_NAME + "-" + taskPort) .visibility(TestConstants.PORT_VISIBILITY) .networkNames(Collections.emptyList()); vipBuilder .value(valueBuilder.build()) .role(TestConstants.ROLE) .preReservedRole(Constants.ANY_ROLE) .principal(TestConstants.PRINCIPAL); builder.addResource(vipBuilder.build()); } return builder.build(); }
@Test public void testSetGetOfferAttributes() { Protos.Offer.Builder offerBuilder = Protos.Offer.newBuilder() .setId(TestConstants.OFFER_ID) .setFrameworkId(TestConstants.FRAMEWORK_ID) .setSlaveId(TestConstants.AGENT_ID) .setHostname(TestConstants.HOSTNAME); Protos.Attribute.Builder attrBuilder = offerBuilder.addAttributesBuilder().setName("1").setType(Protos.Value.Type.RANGES); attrBuilder.getRangesBuilder().addRangeBuilder().setBegin(5).setEnd(6); attrBuilder.getRangesBuilder().addRangeBuilder().setBegin(10).setEnd(12); attrBuilder = offerBuilder.addAttributesBuilder().setName("2").setType(Protos.Value.Type.SCALAR); attrBuilder.getScalarBuilder().setValue(123.4567); attrBuilder = offerBuilder.addAttributesBuilder().setName("3").setType(Protos.Value.Type.SET); attrBuilder.getSetBuilder().addItem("foo").addItem("bar").addItem("baz"); attrBuilder = offerBuilder.addAttributesBuilder().setName("4").setType(Protos.Value.Type.RANGES); attrBuilder.getRangesBuilder().addRangeBuilder().setBegin(7).setEnd(8); attrBuilder.getRangesBuilder().addRangeBuilder().setBegin(10).setEnd(12); Assert.assertTrue(new TaskLabelReader(getTestTaskInfo()).getOfferAttributeStrings().isEmpty()); Protos.TaskInfo.Builder tb = getTestTaskInfo().toBuilder(); tb.setLabels(new TaskLabelWriter(tb).setOfferAttributes(offerBuilder.build()).toProto()); List<String> expectedStrings = new ArrayList<>(); expectedStrings.add("1:[5-6,10-12]"); expectedStrings.add("2:123.457"); expectedStrings.add("3:{foo,bar,baz}"); expectedStrings.add("4:[7-8,10-12]"); Assert.assertEquals(expectedStrings, new TaskLabelReader(tb).getOfferAttributeStrings()); tb.setLabels(new TaskLabelWriter(tb).setOfferAttributes(offerBuilder.clearAttributes().build()).toProto()); Assert.assertTrue(new TaskLabelReader(tb.build()).getOfferAttributeStrings().isEmpty()); }
@Test public void testRangeAttributeString() { Attribute.Builder attr = Attribute.newBuilder().setType(Type.RANGES).setName("ram"); attr.getRangesBuilder().addRangeBuilder().setBegin(1).setEnd(2); assertEquals("ram:[1-2]", AttributeStringUtils.toString(attr.build())); attr = Attribute.newBuilder().setType(Type.RANGES).setName("ports"); attr.getRangesBuilder().addRangeBuilder().setBegin(1).setEnd(2); attr.getRangesBuilder().addRangeBuilder().setBegin(-321).setEnd(-123); attr.getRangesBuilder().addRangeBuilder().setBegin(21000).setEnd(24000); attr.getRangesBuilder().addRangeBuilder().setBegin(0).setEnd(0); attr.getRangesBuilder().addRangeBuilder().setBegin(30000).setEnd(34000); attr.getRangesBuilder().addRangeBuilder().setBegin(321).setEnd(123); assertEquals("ports:[1-2,-321--123,21000-24000,0-0,30000-34000,321-123]", AttributeStringUtils.toString(attr.build())); attr = Attribute.newBuilder().setType(Type.RANGES).setName("ram"); attr.getRangesBuilder().addRangeBuilder().setBegin(0).setEnd(0); assertEquals("ram:[0-0]", AttributeStringUtils.toString(attr.build())); attr = Attribute.newBuilder().setType(Type.RANGES).setName("disk"); attr.getRangesBuilder().addRangeBuilder().setBegin(-321).setEnd(-123); assertEquals("disk:[-321--123]", AttributeStringUtils.toString(attr.build())); attr = Attribute.newBuilder().setType(Type.RANGES).setName(""); attr.getRangesBuilder().addRangeBuilder().setBegin(-321).setEnd(-123); assertEquals(":[-321--123]", AttributeStringUtils.toString(attr.build())); attr = Attribute.newBuilder().setType(Type.RANGES).setName("empty"); assertEquals("empty:[]", AttributeStringUtils.toString(attr.build())); attr = Attribute.newBuilder().setType(Type.RANGES).setName(""); assertEquals(":[]", AttributeStringUtils.toString(attr.build())); }
private static ResourceSet getPortsResourceSet(Map<String, Integer> envPorts) { DefaultResourceSet.Builder builder = DefaultResourceSet.newBuilder(TestConstants.ROLE, Constants.ANY_ROLE, TestConstants.PRINCIPAL) .id(TestConstants.RESOURCE_SET_ID); for (Map.Entry<String, Integer> envPort : envPorts.entrySet()) { Protos.Value.Builder valueBuilder = Protos.Value.newBuilder() .setType(Protos.Value.Type.RANGES); valueBuilder.getRangesBuilder().addRangeBuilder() .setBegin(envPort.getValue()) .setEnd(envPort.getValue()); PortSpec.Builder portBuilder = PortSpec.newBuilder() .envKey(envPort.getKey()) .portName(String.format("test-port-%s", envPort.getKey())) .visibility(TestConstants.PORT_VISIBILITY) .networkNames(Collections.emptyList()); portBuilder .value(valueBuilder.build()) .role(TestConstants.ROLE) .preReservedRole(Constants.ANY_ROLE) .principal(TestConstants.PRINCIPAL); builder.addResource(portBuilder.build()); } return builder.build(); }
private static NamedVIPSpec getNamedVIPSpec(int taskPort, Collection<String> networkNames) { Protos.Value.Builder valueBuilder = Protos.Value.newBuilder() .setType(Protos.Value.Type.RANGES); valueBuilder.getRangesBuilder().addRangeBuilder() .setBegin(taskPort) .setEnd(taskPort); NamedVIPSpec.Builder builder = NamedVIPSpec.newBuilder() .protocol("sctp") .vipName("test-vip") .vipPort(80); builder .envKey(TestConstants.PORT_ENV_NAME + "_VIP_" + taskPort) .portName(TestConstants.VIP_NAME + "-" + taskPort) .visibility(DiscoveryInfo.Visibility.EXTERNAL) .networkNames(networkNames); builder .value(valueBuilder.build()) .role(TestConstants.ROLE) .preReservedRole(Constants.ANY_ROLE) .principal(TestConstants.PRINCIPAL); return builder.build(); }
@Test public void testMixedAttributeStrings() { List<Attribute> attrs = new ArrayList<>(); assertEquals("", AttributeStringUtils.toString(attrs)); Attribute.Builder attr = Attribute.newBuilder().setType(Type.TEXT).setName("ram"); attr.getTextBuilder().setValue(""); attrs.add(attr.build()); assertEquals("ram:", AttributeStringUtils.toString(attrs)); attr = Attribute.newBuilder().setType(Type.SET).setName("ports"); attr.getSetBuilder().addItem("a").addItem("b").addItem("c"); attrs.add(attr.build()); assertEquals("ram:;ports:{a,b,c}", AttributeStringUtils.toString(attrs)); attr = Attribute.newBuilder().setType(Type.SCALAR).setName("roundup1"); attr.getScalarBuilder().setValue(1.99999); attrs.add(attr.build()); assertEquals("ram:;ports:{a,b,c};roundup1:2.000", AttributeStringUtils.toString(attrs)); attr = Attribute.newBuilder().setType(Type.RANGES).setName("disk"); attr.getRangesBuilder().addRangeBuilder().setBegin(-321).setEnd(-123); attrs.add(attr.build()); assertEquals("ram:;ports:{a,b,c};roundup1:2.000;disk:[-321--123]", AttributeStringUtils.toString(attrs)); }
public static Protos.Resource getPrereservedPort(long begin, long end, String preReservedRole) { Protos.Value.Builder builder = Protos.Value.newBuilder() .setType(Protos.Value.Type.RANGES); builder.getRangesBuilder().addRangeBuilder() .setBegin(begin) .setEnd(end); return getUnreservedResource(Constants.PORTS_RESOURCE_TYPE, builder.build(), preReservedRole); }
public static Protos.Resource getUnreservedPorts(long begin, long end) { Protos.Value.Builder builder = Protos.Value.newBuilder() .setType(Protos.Value.Type.RANGES); builder.getRangesBuilder().addRangeBuilder() .setBegin(begin) .setEnd(end); return getUnreservedResource(Constants.PORTS_RESOURCE_TYPE, builder.build(), Constants.ANY_ROLE); }