Protos.Resource taken = available.toBuilder().setRanges(Protos.Value.Ranges.newBuilder().addAllRange(takenRanges)).build(); if (LOG.isDebugEnabled()) { LOG.debug("Taking {} from {}", Utils.toString(taken.getRanges()), Utils.toString(available)); i.set(available.toBuilder().setRanges(Protos.Value.Ranges.newBuilder().addAllRange(remainingRanges)).build());
/** * Construct a range resource. */ public static Protos.Resource ranges(String name, String role, Protos.Value.Range... ranges) { checkNotNull(name); checkNotNull(role); checkNotNull(ranges); return Protos.Resource.newBuilder() .setName(name) .setType(Protos.Value.Type.RANGES) .setRanges(Protos.Value.Ranges.newBuilder().addAllRange(Arrays.asList(ranges)).build()) .setRole(role) .build(); }
public static Protos.Resource getReservedPorts(long begin, long end, String resourceId) { return addReservation(getUnreservedPorts(begin, end).toBuilder(), resourceId).build(); }
public static Resource createScalar( final String name, final double value, final String role, final String principal) { return Resource.newBuilder() .setName(name) .setRole(role) .setType(Value.Type.SCALAR) .setScalar(Value.Scalar.newBuilder().setValue(value)) .setReservation(Resource.ReservationInfo.newBuilder() .setPrincipal(principal)) .build(); }
public static Protos.Resource getReservedMountVolume( double diskSize, Optional<String> profile, String resourceId, String persistenceId) { Protos.Resource.Builder builder = getUnreservedMountVolume(diskSize, profile).toBuilder(); builder.getDiskBuilder().getPersistenceBuilder() .setId(persistenceId) .setPrincipal(TestConstants.PRINCIPAL); builder.getDiskBuilder().getVolumeBuilder() .setContainerPath(TestConstants.CONTAINER_PATH) .setMode(Volume.Mode.RW); return addReservation(builder, resourceId).build(); }
private List<Resource> createMesosScalarResourceList(ResourceType resourceType, List<ResourceEntry> scalarResourceEntryList) { List<Resource> retVal = new ArrayList<>(); ScalarResourceEntry scalarResourceEntry = null; for (ResourceEntry resourceEntry : scalarResourceEntryList) { scalarResourceEntry = (ScalarResourceEntry) resourceEntry; Resource.Builder resourceBuilder = Resource.newBuilder() .setName(resourceType.toString()) .setType(Protos.Value.Type.SCALAR) .setScalar(Scalar.newBuilder().setValue(scalarResourceEntry.getValue())); if (resourceEntry.getReservationType() != null && resourceEntry.getReservationType().equals(ReservationType.STATIC)) { resourceBuilder.setRole(MesosCommon.getRole(mesosStormConf)); } retVal.add(resourceBuilder.build()); } return retVal; }
public static List<Resource> replaceDisks(final String path, final List<Resource> resources) { return resources.stream() .map(resource -> { if (isDisk(resource) && resource.hasDisk()) { return Resource.newBuilder(resource) .setDisk(createDiskInfo(path)) .build(); } else { return resource; } }).collect(Collectors.toList()); }
@Test public void testUnreserveRootDisk() { Protos.Resource resource = ResourceTestUtils.getReservedRootVolume(1); Protos.Offer offer = OfferTestUtils.getOffer(resource); UnreserveOfferRecommendation unreserveOfferRecommendation = new UnreserveOfferRecommendation(offer, resource); Protos.Offer.Operation operation = unreserveOfferRecommendation.getOperation().get(); Assert.assertEquals(1, operation.getUnreserve().getResourcesCount()); Protos.Resource opResource = operation.getUnreserve().getResources(0); Assert.assertFalse(opResource.hasDisk()); Assert.assertFalse(opResource.hasRevocable()); resource = resource.toBuilder().clearDisk().clearRevocable().build(); Assert.assertEquals(resource, opResource); }
@SuppressWarnings("deprecation") @Test public void testFilteredResources() { scheduler.setApiServerStarted(); String resourceId = "unexpected-volume-id-1"; Protos.Resource resourceMatchingRole = ResourceTestUtils.getReservedRootVolume(1000.0, resourceId, resourceId); Protos.Resource resourceOtherRole = resourceMatchingRole.toBuilder().setRole("other-role").build(); Protos.Offer offer = getOffer("foo").toBuilder().addResources(resourceMatchingRole).addResources(resourceOtherRole).build(); Protos.Offer filteredOffer = getOffer("foo").toBuilder().addResources(resourceMatchingRole).build(); // Resource with other role should be filtered out: scheduler.resourceOffers(mockSchedulerDriver, Collections.singletonList(offer)); verify(mockOfferProcessor).enqueue(Collections.singletonList(filteredOffer)); }
public static Resource createRanges( final String name, final Collection<Value.Range> ranges, final String role, final String principal) { return Resource.newBuilder() .setType(Value.Type.RANGES) .setName(name) .setRanges(Value.Ranges.newBuilder().addAllRange(ranges)) .setRole(role) .setReservation(Resource.ReservationInfo.newBuilder() .setPrincipal(principal) .build()) .build(); }
public static Protos.Resource getExistingExecutorVolume( VolumeSpec volumeSpec, Optional<String> resourceId, Optional<String> resourceNamespace, Optional<String> persistenceId, Optional<Protos.ResourceProviderID> providerId, Optional<Protos.Resource.DiskInfo.Source> diskSource) { Protos.Resource.Builder builder = ResourceBuilder .fromSpec(volumeSpec, resourceId, resourceNamespace, persistenceId, providerId, diskSource) .build() .toBuilder(); return builder.build(); }
private Resource createMesosScalarResource(ResourceType resourceType, ScalarResourceEntry scalarResourceEntry) { return Resource.newBuilder() .setName(resourceType.toString()) .setType(Protos.Value.Type.SCALAR) .setScalar(Scalar.newBuilder().setValue(scalarResourceEntry.getValue())) .build(); }
@SuppressWarnings("deprecation") private static Protos.Resource getUnreservedCpus(double cpus) { Protos.Resource.Builder resBuilder = Protos.Resource.newBuilder() .setName("cpus") .setType(Protos.Value.Type.SCALAR) .setRole(Constants.ANY_ROLE); resBuilder.getScalarBuilder().setValue(cpus); return resBuilder.build(); }
@SuppressWarnings("deprecation") private static Protos.Resource getUnreservedCpus(double cpus) { Protos.Resource.Builder resBuilder = Protos.Resource.newBuilder() .setName("cpus") .setType(Protos.Value.Type.SCALAR) .setRole(Constants.ANY_ROLE); resBuilder.getScalarBuilder().setValue(cpus); return resBuilder.build(); } }
private Protos.Resource buildResource(final String type, final double resourceValue, final List<Protos.Resource> resources) { return Protos.Resource.newBuilder().mergeFrom(Iterables.find(resources, new Predicate<Protos.Resource>() { @Override public boolean apply(final Protos.Resource input) { return input.getName().equals(type); } })).setScalar(Protos.Value.Scalar.newBuilder().setValue(resourceValue)).build(); }
@SuppressWarnings("deprecation") @Test public void resourceProcessableForPartialSubsetOfRoles() { Protos.Resource alienResource = UNEXPECTED_RESOURCE_1.toBuilder().setRole("alien-role").build(); Assert.assertFalse(ResourceUtils.isProcessable( alienResource, Arrays.asList(TestConstants.ROLE, "another-role"))); } }
public static Protos.Resource getUnreservedMountVolume(double diskSize, Optional<String> profile) { Protos.Resource.Builder builder = getUnreservedDisk(diskSize).toBuilder(); builder.getDiskBuilder().setSource(TestConstants.MOUNT_DISK_SOURCE); if (profile.isPresent()) { builder.getDiskBuilder().getSourceBuilder().setProfile(profile.get()); } return builder.build(); }
public DestroyOfferRecommendation(Protos.Offer offer, Protos.Resource resource) { this.offer = offer; this.operation = Protos.Offer.Operation.newBuilder() .setType(Protos.Offer.Operation.Type.DESTROY) .setDestroy(Protos.Offer.Operation.Destroy.newBuilder() .addAllVolumes(Arrays.asList(Protos.Resource.newBuilder(resource) .clearRevocable() .build()))) .build(); this.resource = resource; }
/** * Construct a scalar resource. */ public static Protos.Resource scalar(String name, String role, double value) { checkNotNull(name); checkNotNull(role); checkNotNull(value); return Protos.Resource.newBuilder() .setName(name) .setType(Protos.Value.Type.SCALAR) .setScalar(Protos.Value.Scalar.newBuilder().setValue(value)) .setRole(role) .build(); }