private static Collection<Protos.Resource.ReservationInfo> getDynamicReservations( Protos.Resource resource) { // Reservations can be stored in two places... List<Protos.Resource.ReservationInfo> reservations = new ArrayList<>(resource.getReservationsList()); if (resource.hasReservation()) { reservations.add(resource.getReservation()); } return reservations .stream() .filter(r -> r.hasType() && r.getType().equals(Protos.Resource.ReservationInfo.Type.DYNAMIC) ) .collect(Collectors.toList()); }
public static Optional<Protos.Resource.ReservationInfo> getReservation(Protos.Resource resource) { int count = resource.getReservationsCount(); if (count > 0) { // This is a refined reservation against a pre-reserved resource. Reservation entries should in this order: // 1. STATIC reservation for the pre-reserved role (e.g. slave_public) // 2. DYNAMIC reservation for our refined role (e.g. slave_public/svc-role) return Optional.of(resource.getReservations(count - 1)); } else if (resource.hasReservation()) { // "Classic" reservation against a resource that isn't statically reserved. // This is the common case when reserving resources that aren't pre-reserved. return Optional.of(resource.getReservation()); } else { // No reservations present. return Optional.empty(); } }
public Optional<String> getPrincipal() { return resource.hasReservation() && resource.getReservation().hasPrincipal() ? Optional.of(resource.getReservation().getPrincipal()) : Optional.empty(); }
Assert.assertEquals(testCpus, cpusResource.getScalar().getValue(), 0.0); Assert.assertEquals(testRole, cpusResource.getRole()); Assert.assertEquals(testPrincipal, cpusResource.getReservation().getPrincipal()); Assert.assertEquals("resource_id", cpusResource.getReservation().getLabels().getLabelsList().get(0).getKey()); Assert.assertEquals(testResourceId, cpusResource.getReservation().getLabels().getLabelsList().get(0).getValue()); Assert.assertEquals(testMem, memResource.getScalar().getValue(), 0.0); Assert.assertEquals(testRole, memResource.getRole()); Assert.assertEquals(testPrincipal, memResource.getReservation().getPrincipal()); Assert.assertEquals("resource_id", memResource.getReservation().getLabels().getLabelsList().get(0).getKey()); Assert.assertEquals(testResourceId, memResource.getReservation().getLabels().getLabelsList().get(0).getValue()); Assert.assertEquals(testDisk, diskResource.getScalar().getValue(), 0.0); Assert.assertEquals(testRole, diskResource.getRole()); Assert.assertEquals(testPrincipal, diskResource.getReservation().getPrincipal()); Assert.assertEquals("resource_id", diskResource.getReservation().getLabels().getLabelsList().get(0).getKey()); Assert.assertEquals(testResourceId, diskResource.getReservation().getLabels().getLabelsList().get(0).getValue()); Assert.assertTrue(portsResource.getRanges().getRangeList().get(0).getEnd() >= testPortBegin); Assert.assertEquals(testRole, portsResource.getRole()); Assert.assertEquals(testPrincipal, portsResource.getReservation().getPrincipal()); Assert.assertEquals("resource_id", portsResource.getReservation().getLabels().getLabelsList().get(0).getKey()); Assert.assertEquals(testResourceId, portsResource.getReservation().getLabels().getLabelsList().get(0).getValue());
String dynamicPortAssignment = null; String vipAssignment = null; for (Protos.Label l : r.getReservation().getLabels().getLabelsList()) { if (Objects.equals(l.getKey(), "resource_id")) { resourceId = l.getValue();
public String getPrincipal(){ return info.getResources(0).getReservation().getPrincipal(); } /**
private static void validatePrincipal(Resource resource) { if (Capabilities.getInstance().supportsPreReservedResources()) { Assert.assertEquals(TestConstants.PRINCIPAL, resource.getReservations(0).getPrincipal()); } else { Assert.assertEquals(TestConstants.PRINCIPAL, resource.getReservation().getPrincipal()); } } }
@SuppressWarnings("deprecation") private static void validateScalarResourceLegacy(Protos.Resource resource, Optional<String> resourceId, Optional<String> namespace) { Assert.assertEquals(Protos.Value.Type.SCALAR, resource.getType()); Assert.assertEquals(TestConstants.ROLE, resource.getRole()); Assert.assertTrue(resource.hasReservation()); Assert.assertEquals(0, resource.getReservationsCount()); Protos.Resource.ReservationInfo reservationInfo = resource.getReservation(); Assert.assertEquals(TestConstants.PRINCIPAL, reservationInfo.getPrincipal()); Assert.assertFalse(reservationInfo.hasRole()); validateLabels(reservationInfo, resourceId, namespace); }