!preReservedRole.equals(Constants.ANY_ROLE)) builder.addReservations( Resource.ReservationInfo.newBuilder() .setRole(preReservedRole)
if (preReservedSupported) { if (!preReservedRole.equals(Constants.ANY_ROLE) && !mesosResource.isPresent()) { builder.addReservations(Protos.Resource.ReservationInfo.newBuilder() .setRole(preReservedRole) .setType(Protos.Resource.ReservationInfo.Type.STATIC)); builder.addReservations(getRefinedReservationInfo()); } else { builder.setReservation(getLegacyReservationInfo());
@SuppressWarnings("deprecated") @Test public void testResourceRefinementFailsForDifferentPreReservation() throws Exception { ResourceRefinementCapabilityContext context = new ResourceRefinementCapabilityContext(Capabilities.getInstance()); try { ServiceSpec serviceSpec = getServiceSpec("resource-refinement.yml"); Assert.assertEquals(TestConstants.PRE_RESERVED_ROLE, serviceSpec.getPods().get(0).getPreReservedRole()); Protos.Offer badOffer = OfferTestUtils.getOffer( Arrays.asList( ResourceTestUtils.getUnreservedCpus(3.0).toBuilder() .setRole(Constants.ANY_ROLE) .addReservations( Protos.Resource.ReservationInfo.newBuilder() .setRole("different-role") .setType(Protos.Resource.ReservationInfo.Type.STATIC)) .build())); PodSpec podSpec = serviceSpec.getPods().get(0); PodInstance podInstance = new DefaultPodInstance(podSpec, 0); List<String> tasksToLaunch = Arrays.asList("test-task"); PodInstanceRequirement podInstanceRequirement = PodInstanceRequirement.newBuilder(podInstance, tasksToLaunch) .build(); List<OfferRecommendation> recommendations = evaluator.evaluate( podInstanceRequirement, Arrays.asList(badOffer)); Assert.assertEquals(0, recommendations.size()); } finally { context.reset(); } }
.map(r -> r.toBuilder() .setRole(Constants.ANY_ROLE) .addReservations( Protos.Resource.ReservationInfo.newBuilder() .setRole(TestConstants.PRE_RESERVED_ROLE)