]
Andre Dietisheim commented on JBIDE-21731:
------------------------------------------
[~scabanovich][~fbricon] The basic problem is that the tags only get available once the
build is finished. Simply retrying is imho not helping much it would significantly augment
the initial loading time of the wizard, which already is quite substantial. I believe the
only way to fix this is to delay the tag retrieval as much as possible: Ideally we'd
only retrieve the deployment-folder-label in the server adapter when it's publishing.
We could still try to retrieve it in the wizard, informing/warning the user if we cant. On
the other hand we would then have to publish to the docker-image provided deployment
folder silently, informing the user (via dialog) if we cannot extract the deployment
folder (-label from docker image) and tell him to manually provide a folder or use a
default that we guess.
Thoughts?
Server Adapter: Error shown when image is not created/pushed yet,
could be more user friendly
---------------------------------------------------------------------------------------------
Key: JBIDE-21731
URL:
https://issues.jboss.org/browse/JBIDE-21731
Project: Tools (JBoss Tools)
Issue Type: Enhancement
Components: openshift
Affects Versions: 4.3.1.CR1
Reporter: Marián Labuda
Labels: openshift_v3, server_adapter
Fix For: 4.3.1.CR1
Attachments: cannot_get_image.png
When I create a new OS3 application and then I want to create a new server adapter, an
image for this application has to be built and pushed to OpenShift's local image
registry. If build is still running, what is often happening on internal OSE instance (it
takes minutes - pushing of images), then there is an error message that loading of image
failed. User without solid overview of OS3 background would not be able to figure out why
it is happening, because even Image stream is shown, but the image is not there yet.
Screenshot of error:
!cannot_get_image.png!
Full error log:
{code}
com.openshift.restclient.OpenShiftException: Could not get resource django-example:latest
in namespace image: {
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "imageStreamTag \"django-example:latest\" not
found",
"reason": "NotFound",
"details": {
"name": "django-example:latest",
"kind": "imageStreamTag"
},
"code": 404
}
at
com.openshift.internal.restclient.DefaultClient.createOpenShiftException(DefaultClient.java:481)
at com.openshift.internal.restclient.DefaultClient.get(DefaultClient.java:306)
at
org.jboss.tools.openshift.core.connection.Connection.getResource(Connection.java:378)
at
org.jboss.tools.openshift.internal.ui.models.DeploymentResourceMapper.lambda$5(DeploymentResourceMapper.java:106)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1540)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at
org.jboss.tools.openshift.internal.ui.models.DeploymentResourceMapper.getImageStreamTagsFor(DeploymentResourceMapper.java:107)
at
org.jboss.tools.openshift.internal.ui.models.DeploymentResourceMapper.lambda$2(DeploymentResourceMapper.java:87)
at java.util.stream.Collectors.lambda$toMap$213(Collectors.java:1321)
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1540)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at
org.jboss.tools.openshift.internal.ui.models.DeploymentResourceMapper.getAllImageStreamTags(DeploymentResourceMapper.java:85)
at
org.jboss.tools.openshift.internal.ui.server.ServerSettingsViewModel$ProjectImageStreamTags.createImageStreamsMap(ServerSettingsViewModel.java:334)
at
org.jboss.tools.openshift.internal.ui.server.ServerSettingsViewModel$ProjectImageStreamTags.<init>(ServerSettingsViewModel.java:327)
at
org.jboss.tools.openshift.internal.ui.server.ServerSettingsViewModel.lambda$1(ServerSettingsViewModel.java:279)
at java.util.stream.Collectors.lambda$toMap$213(Collectors.java:1321)
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at
org.jboss.tools.openshift.internal.ui.server.ServerSettingsViewModel.createImageStreamTagsMap(ServerSettingsViewModel.java:277)
at
org.jboss.tools.openshift.internal.ui.server.ServerSettingsViewModel.loadResources(ServerSettingsViewModel.java:261)
at
org.jboss.tools.openshift.internal.ui.server.ServerSettingsViewModel.loadResources(ServerSettingsViewModel.java:255)
at
org.jboss.tools.openshift.internal.ui.server.ServerSettingsWizardFragment$15.run(ServerSettingsWizardFragment.java:695)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: com.openshift.internal.restclient.http.NotFoundException: {
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "imageStreamTag \"django-example:latest\" not
found",
"reason": "NotFound",
"details": {
"name": "django-example:latest",
"kind": "imageStreamTag"
},
"code": 404
}
at
com.openshift.internal.restclient.http.UrlConnectionHttpClient.createException(UrlConnectionHttpClient.java:230)
at
com.openshift.internal.restclient.http.UrlConnectionHttpClient.request(UrlConnectionHttpClient.java:165)
at
com.openshift.internal.restclient.http.UrlConnectionHttpClient.request(UrlConnectionHttpClient.java:141)
at
com.openshift.internal.restclient.http.UrlConnectionHttpClient.get(UrlConnectionHttpClient.java:103)
at com.openshift.internal.restclient.DefaultClient.get(DefaultClient.java:302)
... 36 more
Caused by: java.io.FileNotFoundException:
https://console.engint.openshift.com/oapi/v1/namespaces/image/imagestream...
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1836)
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at
com.openshift.internal.restclient.http.UrlConnectionHttpClient.request(UrlConnectionHttpClient.java:161)
... 39 more
{code}