Search in sources :

Example 1 with GenerateAndRegisterSshTunnelingKeyPairResponse

use of com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.GenerateAndRegisterSshTunnelingKeyPairResponse in project cloudbreak by hortonworks.

the class DefaultCcmParameterSupplier method getBaseCcmParameters.

@Override
public Optional<CcmParameters> getBaseCcmParameters(@Nonnull String actorCrn, @Nonnull String accountId, @Nonnull String keyId) {
    if (grpcMinaSshdManagementClient == null) {
        return Optional.empty();
    }
    String requestId = MDCBuilder.getOrGenerateRequestId();
    try {
        MinaSshdService minaSshdService = grpcMinaSshdManagementClient.acquireMinaSshdServiceAndWaitUntilReady(requestId, Objects.requireNonNull(actorCrn, "actorCrn is null"), Objects.requireNonNull(accountId, "accountId is null"));
        GenerateAndRegisterSshTunnelingKeyPairResponse keyPairResponse = grpcMinaSshdManagementClient.generateAndRegisterSshTunnelingKeyPair(requestId, actorCrn, accountId, minaSshdService.getMinaSshdServiceId(), keyId);
        return Optional.of(new DefaultCcmParameters(createServerParameters(minaSshdService), createInstanceParameters(keyId, keyPairResponse.getEncipheredPrivateKey()), Collections.emptyList()));
    } catch (Exception e) {
        Throwables.throwIfUnchecked(e);
        throw new RuntimeException(e);
    }
}
Also used : DefaultCcmParameters(com.sequenceiq.cloudbreak.ccm.cloudinit.DefaultCcmParameters) GenerateAndRegisterSshTunnelingKeyPairResponse(com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.GenerateAndRegisterSshTunnelingKeyPairResponse) MinaSshdService(com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.MinaSshdService)

Example 2 with GenerateAndRegisterSshTunnelingKeyPairResponse

use of com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.GenerateAndRegisterSshTunnelingKeyPairResponse in project cloudbreak by hortonworks.

the class MinaSshdManagementClient method generateAndRegisterSshTunnelingKeyPair.

/**
 * Wraps call to generateAndRegisterSshTunnelingKeyPair.
 *
 * @param requestId         the request ID for the request
 * @param accountId         the account ID
 * @param minaSshdServiceId the minasshd service ID
 * @param keyId             the key ID
 * @return the response containing the key pair
 * @throws CcmException if an exception occurs
 */
public GenerateAndRegisterSshTunnelingKeyPairResponse generateAndRegisterSshTunnelingKeyPair(String requestId, String accountId, String minaSshdServiceId, String keyId) throws CcmException {
    checkNotNull(requestId, "requestId should not be null.");
    checkNotNull(accountId, "accountId should not be null.");
    checkNotNull(minaSshdServiceId);
    checkNotNull(keyId);
    MinaSshdManagementBlockingStub blockingStub = newStub(requestId);
    GenerateAndRegisterSshTunnelingKeyPairRequest.Builder requestBuilder = GenerateAndRegisterSshTunnelingKeyPairRequest.newBuilder().setAccountId(accountId).setMinaSshdServiceId(minaSshdServiceId).setKeyId(keyId);
    try {
        LOGGER.debug("Calling generateAndRegisterSshTunnelingKeyPair with requestId: {}, accountId: {}, minaSshdServiceId: {}, keyId: {}", requestId, accountId, minaSshdServiceId, keyId);
        GenerateAndRegisterSshTunnelingKeyPairResponse response = blockingStub.generateAndRegisterSshTunnelingKeyPair(requestBuilder.build());
        if (response == null) {
            throw new CcmException("Got null response from MinaSshdManagementService generateAndRegisterSshTunnelingKeyPair gRPC call", false);
        } else {
            return response;
        }
    } catch (StatusRuntimeException e) {
        String message = "MinaSshdManagementService generateAndRegisterSshTunnelingKeyPair gRPC call failed: " + e.getMessage();
        Status status = e.getStatus();
        Status.Code code = status.getCode();
        boolean retryable = GrpcUtil.isRetryable(code);
        LOGGER.debug("Got status code: {}, retryable: {}", code, retryable);
        throw new CcmException(message, e, retryable);
    }
}
Also used : Status(io.grpc.Status) CcmException(com.sequenceiq.cloudbreak.ccm.exception.CcmException) GenerateAndRegisterSshTunnelingKeyPairRequest(com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.GenerateAndRegisterSshTunnelingKeyPairRequest) StatusRuntimeException(io.grpc.StatusRuntimeException) MinaSshdManagementBlockingStub(com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementGrpc.MinaSshdManagementBlockingStub) GenerateAndRegisterSshTunnelingKeyPairResponse(com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.GenerateAndRegisterSshTunnelingKeyPairResponse)

Aggregations

GenerateAndRegisterSshTunnelingKeyPairResponse (com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.GenerateAndRegisterSshTunnelingKeyPairResponse)2 MinaSshdManagementBlockingStub (com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementGrpc.MinaSshdManagementBlockingStub)1 GenerateAndRegisterSshTunnelingKeyPairRequest (com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.GenerateAndRegisterSshTunnelingKeyPairRequest)1 MinaSshdService (com.cloudera.thunderhead.service.minasshdmanagement.MinaSshdManagementProto.MinaSshdService)1 DefaultCcmParameters (com.sequenceiq.cloudbreak.ccm.cloudinit.DefaultCcmParameters)1 CcmException (com.sequenceiq.cloudbreak.ccm.exception.CcmException)1 Status (io.grpc.Status)1 StatusRuntimeException (io.grpc.StatusRuntimeException)1