Support Questions

Find answers, ask questions, and share your expertise

Error "Could not verify credential" while trying to add credentials in cloudbreak in GCP

avatar
New Contributor

When I try to add a GCP credential in the UI I get this error:

Failed to verify the credential: Could not verify credential! 403 Forbidden

On console I get this:

# cb credential create from-file --cli-input-json credential.json --name cloudbreakkeyEnter Password: ERROR: status code: 400, message: Failed to verify the credential: Could not verify credential! 403 Forbidden

cb doctor:

# cbd doctor
===> Deployer doctor: Checks your environment, and reports a diagnose.
uname: Linux cbd-deployment-vm 3.10.0-862.3.2.el7.x86_64 #1 SMP Mon May 21 23:36:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
local version:2.9.0
latest release:2.9.0
docker command exists: OK
docker client version: 1.13.1
docker client version: 1.13.1
ping 8.8.8.8 on host: OK
ping github.com on host: OK
ping 8.8.8.8 in container: [ERROR]
ping github.com in container: [ERROR] 

I assume there must be some networking issue but don't know what to look for

EDIT: In the logs I get this stacktrace:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
        at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:146)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1067)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUsingHead(AbstractGoogleClientRequest.java:406)
        at com.google.api.services.compute.Compute$Regions$List.executeUsingHead(Compute.java)
        at com.sequenceiq.cloudbreak.cloud.gcp.GcpCredentialVerifier.preCheckOfGooglePermission(GcpCredentialVerifier.java:57)
        at com.sequenceiq.cloudbreak.cloud.gcp.GcpCredentialVerifier$$FastClassBySpringCGLIB$$a658f442.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at org.springframework.retry.interceptor.RetryOperationsInterceptor$1.doWithRetry(RetryOperationsInterceptor.java:91)
        at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:286)
        at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:163)
        at org.springframework.retry.interceptor.RetryOperationsInterceptor.invoke(RetryOperationsInterceptor.java:118)
        at org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor.invoke(AnnotationAwareRetryOperationsInterceptor.java:152)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
        at com.sequenceiq.cloudbreak.cloud.gcp.GcpCredentialVerifier$$EnhancerBySpringCGLIB$$676bf766.preCheckOfGooglePermission(<generated>)
        at com.sequenceiq.cloudbreak.cloud.gcp.GcpCredentialConnector.verify(GcpCredentialConnector.java:43)
        at com.sequenceiq.cloudbreak.cloud.handler.CredentialVerificationHandler.accept(CredentialVerificationHandler.java:43)
        at com.sequenceiq.cloudbreak.cloud.handler.CredentialVerificationHandler.accept(CredentialVerificationHandler.java:20)
        at com.sequenceiq.cloudbreak.cloud.handler.CredentialVerificationHandler$$FastClassBySpringCGLIB$$f08a8fcf.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
        at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
        at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
        at com.sequenceiq.cloudbreak.cloud.handler.CredentialVerificationHandler$$EnhancerBySpringCGLIB$$d500084f.accept(<generated>)
        at reactor.bus.EventBus$3.accept(EventBus.java:317)
        at reactor.bus.EventBus$3.accept(EventBus.java:310)
        at reactor.bus.routing.ConsumerFilteringRouter.route(ConsumerFilteringRouter.java:72)
        at reactor.bus.routing.TraceableDelegatingRouter.route(TraceableDelegatingRouter.java:51)
        at reactor.bus.EventBus.accept(EventBus.java:591)
        at reactor.bus.EventBus.accept(EventBus.java:63)
        at reactor.core.dispatch.AbstractLifecycleDispatcher.route(AbstractLifecycleDispatcher.java:160)
        at reactor.core.dispatch.MultiThreadDispatcher$MultiThreadTask.run(MultiThreadDispatcher.java:74)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:844)
1 ACCEPTED SOLUTION

avatar
New Contributor

In the end I solved this by creating a new service account and editing the instance to be on the new one.

View solution in original post

2 REPLIES 2

avatar
New Contributor

In the logs I get this stacktrace:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden

at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:146)

at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)

at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)

at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:321)

at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1067)

at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:419)

at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUsingHead(AbstractGoogleClientRequest.java:406)

at com.google.api.services.compute.Compute$Regions$List.executeUsingHead(Compute.java)

at com.sequenceiq.cloudbreak.cloud.gcp.GcpCredentialVerifier.preCheckOfGooglePermission(GcpCredentialVerifier.java:57)

at com.sequenceiq.cloudbreak.cloud.gcp.GcpCredentialVerifier$$FastClassBySpringCGLIB$$a658f442.invoke(<generated>)

at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)

at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

at org.springframework.retry.interceptor.RetryOperationsInterceptor$1.doWithRetry(RetryOperationsInterceptor.java:91)

at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:286)

at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:163)

at org.springframework.retry.interceptor.RetryOperationsInterceptor.invoke(RetryOperationsInterceptor.java:118)

at org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor.invoke(AnnotationAwareRetryOperationsInterceptor.java:152)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)

at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)

at com.sequenceiq.cloudbreak.cloud.gcp.GcpCredentialVerifier$$EnhancerBySpringCGLIB$$676bf766.preCheckOfGooglePermission(<generated>)

at com.sequenceiq.cloudbreak.cloud.gcp.GcpCredentialConnector.verify(GcpCredentialConnector.java:43)

at com.sequenceiq.cloudbreak.cloud.handler.CredentialVerificationHandler.accept(CredentialVerificationHandler.java:43)

at com.sequenceiq.cloudbreak.cloud.handler.CredentialVerificationHandler.accept(CredentialVerificationHandler.java:20)

at com.sequenceiq.cloudbreak.cloud.handler.CredentialVerificationHandler$$FastClassBySpringCGLIB$$f08a8fcf.invoke(<generated>)

at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)

at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)

at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)

at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)

at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)

at com.sequenceiq.cloudbreak.cloud.handler.CredentialVerificationHandler$$EnhancerBySpringCGLIB$$d500084f.accept(<generated>)

at reactor.bus.EventBus$3.accept(EventBus.java:317)

at reactor.bus.EventBus$3.accept(EventBus.java:310)

at reactor.bus.routing.ConsumerFilteringRouter.route(ConsumerFilteringRouter.java:72)

at reactor.bus.routing.TraceableDelegatingRouter.route(TraceableDelegatingRouter.java:51)

at reactor.bus.EventBus.accept(EventBus.java:591)

at reactor.bus.EventBus.accept(EventBus.java:63)

at reactor.core.dispatch.AbstractLifecycleDispatcher.route(AbstractLifecycleDispatcher.java:160)

at reactor.core.dispatch.MultiThreadDispatcher$MultiThreadTask.run(MultiThreadDispatcher.java:74)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

at java.base/java.lang.Thread.run(Thread.java:844)

avatar
New Contributor

In the end I solved this by creating a new service account and editing the instance to be on the new one.