[jbosstools-issues] [JBoss JIRA] (JBIDE-21731) Server Adapter: Error shown when image is not created/pushed yet, could be more user friendly

Andre Dietisheim (JIRA) issues at jboss.org
Tue Mar 1 16:40:00 EST 2016


    [ https://issues.jboss.org/browse/JBIDE-21731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13170440#comment-13170440 ] 

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/imagestreamtags/django-example:latest
> 	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}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the jbosstools-issues mailing list