use of com.netflix.titus.grpc.protogen.ScalingPolicyID in project titus-control-plane by Netflix.
the class DefaultAutoScalingServiceGrpcTest method testUpdatePolicyConfigurationForStepScaling.
@Test
public void testUpdatePolicyConfigurationForStepScaling() throws Exception {
ScalingPolicyID policyId = putPolicyWithJobId("Job-1", PolicyType.StepScaling);
TestStreamObserver<Empty> updateResponse = new TestStreamObserver<>();
service.updateAutoScalingPolicy(AutoScalingTestUtils.generateUpdateStepScalingPolicyRequest(policyId.getId(), 100.0), updateResponse);
updateResponse.awaitDone();
AutoScalingPolicyTests.waitForCondition(() -> {
TestStreamObserver<GetPolicyResult> getResponse = new TestStreamObserver<>();
service.getScalingPolicy(policyId, getResponse);
GetPolicyResult getPolicyResult = getResponse.takeNext();
return getPolicyResult.getItems(0).getScalingPolicy().getStepPolicyDescriptor().getAlarmConfig().getThreshold().getValue() == 100.0 && getPolicyResult.getItems(0).getPolicyState().getState() == Applied;
});
TestStreamObserver<GetPolicyResult> getResponse = new TestStreamObserver<>();
service.getScalingPolicy(policyId, getResponse);
GetPolicyResult getPolicyResult = getResponse.takeNext();
assertThat(getPolicyResult.getItems(0).getScalingPolicy().getStepPolicyDescriptor().getAlarmConfig().getThreshold().getValue()).isEqualTo(100.0);
assertThat(getPolicyResult.getItems(0).getPolicyState().getState()).isEqualTo(Applied);
}
use of com.netflix.titus.grpc.protogen.ScalingPolicyID in project titus-control-plane by Netflix.
the class DefaultAutoScalingServiceGrpcTest method testGetByPolicyId.
/**
* Tests getting policies by Ref ID.
*
* @throws Exception
*/
@Test
public void testGetByPolicyId() throws Exception {
String jobId = "Titus-123";
ScalingPolicyID scalingPolicyID = putPolicyWithJobId(jobId, PolicyType.StepScaling);
TestStreamObserver<GetPolicyResult> getResponse = new TestStreamObserver<>();
service.getScalingPolicy(scalingPolicyID, getResponse);
GetPolicyResult getPolicyResult = getResponse.takeNext();
log.info("Got response {}", getPolicyResult);
assertThat(getPolicyResult.getItemsCount()).isEqualTo(1);
assertThat(getPolicyResult.getItems(0).getId()).isEqualTo(scalingPolicyID);
assertThat(getPolicyResult.getItems(0).getJobId()).isEqualTo(jobId);
}
use of com.netflix.titus.grpc.protogen.ScalingPolicyID in project titus-control-plane by Netflix.
the class AutoScalingSpringResourceTest method testSetScalingPolicy.
@Test
public void testSetScalingPolicy() throws Exception {
PutPolicyRequest request = PutPolicyRequest.newBuilder().build();
when(serviceMock.setAutoScalingPolicy(request, JUNIT_REST_CALL_METADATA)).thenReturn(Observable.just(SCALING_POLICY_ID));
ScalingPolicyID entity = SpringMockMvcUtil.doPost(mockMvc, "/api/v3/autoscaling/scalingPolicy", request, ScalingPolicyID.class);
assertThat(entity).isEqualTo(SCALING_POLICY_ID);
verify(serviceMock, times(1)).setAutoScalingPolicy(request, JUNIT_REST_CALL_METADATA);
}
use of com.netflix.titus.grpc.protogen.ScalingPolicyID in project titus-control-plane by Netflix.
the class AggregatingAutoScalingService method updateAutoScalingPolicy.
@Override
public Completable updateAutoScalingPolicy(UpdatePolicyRequest request, CallMetadata callMetadata) {
ScalingPolicyID policyId = request.getPolicyId();
Observable<Empty> observable = getScalingPolicyInAllCells(policyId, callMetadata).flatMap(response -> singleCellCall(response.getCell(), (client, responseObserver) -> client.updateAutoScalingPolicy(request, responseObserver), callMetadata));
return observable.toCompletable();
}
use of com.netflix.titus.grpc.protogen.ScalingPolicyID in project titus-control-plane by Netflix.
the class AggregatingAutoScalingService method deleteAutoScalingPolicy.
@Override
public Completable deleteAutoScalingPolicy(DeletePolicyRequest request, CallMetadata callMetadata) {
ScalingPolicyID policyId = request.getId();
Observable<Empty> observable = getScalingPolicyInAllCells(policyId, callMetadata).flatMap(response -> singleCellCall(response.getCell(), (client, responseObserver) -> client.deleteAutoScalingPolicy(request, responseObserver), callMetadata));
return observable.toCompletable();
}
Aggregations