Skip to content

Fatal IDE Error if I am unauthorized to my OpenShift cluster #789

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
adietish opened this issue Sep 27, 2024 · 3 comments
Closed

Fatal IDE Error if I am unauthorized to my OpenShift cluster #789

adietish opened this issue Sep 27, 2024 · 3 comments
Assignees
Labels
kind/bug Something isn't working

Comments

@adietish
Copy link
Collaborator

Steps:

  1. ASSERT: use the RH sandbox as current cluster
  2. ASSERT: change the cluster so that your token is invalid and you're not able to log into the cluster
  3. EXEC: launch plugin

Result:
Resource tree stays empty and there's a fatal IDE error with the following stacktrace:

io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://api.sandbox-m3.1530.p1.openshiftapps.com:6443/apis. Message: Unauthorized. Received status: Status(apiVersion=v1, code=401, details=null, kind=Status, message=Unauthorized, metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=Unauthorized, status=Failure, additionalProperties={}).
	at io.fabric8.kubernetes.client.KubernetesClientException.copyAsCause(KubernetesClientException.java:238)
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.waitForResult(OperationSupport.java:507)
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.handleResponse(OperationSupport.java:524)
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.restCall(OperationSupport.java:711)
	at io.fabric8.kubernetes.client.impl.BaseClient.getApiGroups(BaseClient.java:292)
	at io.fabric8.kubernetes.client.impl.BaseClient.hasApiGroup(BaseClient.java:208)
	at com.redhat.devtools.intellij.common.kubernetes.ClusterHelper.isOpenShift(ClusterHelper.java:28)
	at com.redhat.devtools.intellij.kubernetes.model.client.ClientAdapter$Factory.create(ClientAdapter.kt:84)
	at com.redhat.devtools.intellij.kubernetes.model.client.ClientAdapter$Factory.create(ClientAdapter.kt:67)
	at com.redhat.devtools.intellij.kubernetes.model.client.ClientAdapter$Factory.create$default(ClientAdapter.kt:59)
	at com.redhat.devtools.intellij.kubernetes.model.AllContexts$2.invoke(AllContexts.kt:86)
	at com.redhat.devtools.intellij.kubernetes.model.AllContexts$2.invoke(AllContexts.kt:86)
	at com.redhat.devtools.intellij.kubernetes.model.AllContexts$client$1.invoke(AllContexts.kt:97)
	at com.redhat.devtools.intellij.kubernetes.model.AllContexts$client$1.invoke(AllContexts.kt:95)
	at com.redhat.devtools.intellij.kubernetes.model.util.ResettableLazyProperty.get(ResettableLazyProperty.kt:30)
	at com.redhat.devtools.intellij.kubernetes.model.AllContexts.getAll(AllContexts.kt:112)
	at com.redhat.devtools.intellij.kubernetes.model.AllContexts.getCurrent(AllContexts.kt:103)
	at com.redhat.devtools.intellij.kubernetes.model.ResourceModel.getCurrentContext(ResourceModel.kt:94)
	at com.redhat.devtools.intellij.kubernetes.tree.OpenShiftStructure.canContribute(OpenShiftStructure.kt:184)
	at com.redhat.devtools.intellij.kubernetes.tree.TreeStructure.getValidContributions(TreeStructure.kt:122)
	at com.redhat.devtools.intellij.kubernetes.tree.TreeStructure.createDescriptor(TreeStructure.kt:106)
	at com.intellij.ui.tree.StructureTreeModel$Node.<init>(StructureTreeModel.java:461)
	at com.intellij.ui.tree.StructureTreeModel.getValidRoot(StructureTreeModel.java:397)
	at com.intellij.ui.tree.StructureTreeModel.getRoot(StructureTreeModel.java:314)
	at com.intellij.ui.tree.StructureTreeModel.getRoot(StructureTreeModel.java:37)
	at com.intellij.ui.tree.AsyncTreeModel$CmdGetRoot.computeNode(AsyncTreeModel.java:518)
	at com.intellij.ui.tree.AsyncTreeModel$Command.computeNode(AsyncTreeModel.java:490)
	at com.intellij.util.concurrency.Invoker$Task.run(Invoker.java:381)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:217)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79)
	at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:202)
	at com.intellij.util.concurrency.Invoker.startTask(Invoker.java:236)
	at com.intellij.util.concurrency.Invoker.invokeSafely(Invoker.java:194)
	at com.intellij.util.concurrency.Invoker.lambda$offerSafely$0(Invoker.java:177)
	at com.intellij.util.concurrency.Invoker$Background.lambda$offer$0(Invoker.java:508)
	at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:244)
	at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:30)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:222)
	at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:218)
	at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:210)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: GET at: https://api.sandbox-m3.1530.p1.openshiftapps.com:6443/apis. Message: Unauthorized. Received status: Status(apiVersion=v1, code=401, details=null, kind=Status, message=Unauthorized, metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=Unauthorized, status=Failure, additionalProperties={}).
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.requestFailure(OperationSupport.java:660)
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.requestFailure(OperationSupport.java:640)
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.assertResponseCode(OperationSupport.java:589)
	at io.fabric8.kubernetes.client.dsl.internal.OperationSupport.lambda$handleResponse$0(OperationSupport.java:549)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
	at io.fabric8.kubernetes.client.http.StandardHttpClient.lambda$completeOrCancel$10(StandardHttpClient.java:142)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
	at io.fabric8.kubernetes.client.http.ByteArrayBodyHandler.onBodyDone(ByteArrayBodyHandler.java:51)
	at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863)
	at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147)
	at io.fabric8.kubernetes.client.okhttp.OkHttpClientImpl$OkHttpAsyncBody.doConsume(OkHttpClientImpl.java:136)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	... 1 more
@adietish adietish self-assigned this Sep 27, 2024
@adietish adietish moved this to 📝 In Progress in IDE Cloudaptors Sep 27, 2024
@adietish
Copy link
Collaborator Author

Weird enough, I cannot reproduce this in main or in tag "1.4.0" when running the plugin from source.

@adietish
Copy link
Collaborator Author

image

@adietish
Copy link
Collaborator Author

This was caused by an outdated plugin 1.3.0 in my IDE when running intellij-openshift. This is fixed in the current 1.4.0 🎉
Most likely this was fixed with redhat-developer/intellij-common#216.
Closing.

@github-project-automation github-project-automation bot moved this from 📝 In Progress to ✅ Done in IDE Cloudaptors Sep 27, 2024
@adietish adietish added the kind/bug Something isn't working label Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Something isn't working
Projects
Status: ✅ Done
Development

No branches or pull requests

1 participant