[JBoss JIRA] (JBIDE-25303) Server adapter: support hot-deployment on OpenShift for SpringBoot app
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25303?page=com.atlassian.jira.plugi... ]
Andre Dietisheim edited comment on JBIDE-25303 at 2/28/18 10:53 AM:
--------------------------------------------------------------------
I can and then cannot reproduce the permissions issue that I faced in https://issues.jboss.org/browse/JBIDE-25303?focusedCommentId=13519836&pag... in CDK 3.3 (it happens inconsistently). I cannot determine yet what the reason might be. The anyuid addons is always enabled for me and doesnt seem involved.
When the permission issue occurrs the error looks very similar to what we see in OpenShift Online JBIDE-25700
was (Author: adietish):
I can and then cannot reproduce the permissions issue that I faced in https://issues.jboss.org/browse/JBIDE-25303?focusedCommentId=13519836&pag... in CDK 3.3. I cannot determine yet what the reason might be. The anyuid addons is always enabled for me and doesnt seem involved.
When the permission issue occurrs the error looks very similar to what we see in OpenShift Online JBIDE-25700
> Server adapter: support hot-deployment on OpenShift for SpringBoot app
> ----------------------------------------------------------------------
>
> Key: JBIDE-25303
> URL: https://issues.jboss.org/browse/JBIDE-25303
> Project: Tools (JBoss Tools)
> Issue Type: Feature Request
> Components: openshift
> Affects Versions: 4.5.1.Final
> Reporter: Aurélien Pupier
> Assignee: Andre Dietisheim
> Labels: openshift_v3, server_adapter
> Fix For: 4.5.3.AM3
>
> Attachments: Image+Pasted+at+2018-1-16+10-58.png, fuse-on-openshift.zip, project-deployment-assembly.png, spring-boot-demo.zip
>
>
> currently, Springboot jar projects (such as Fuse Integration Services) are rsynced with a zipped jar file.
> The requirements are:
> - rsync unpacked jar
> - rsync without the jar name as folder
> - it will will work only if springboot devtool are included (so maybe need some dialog guiding user to do i in case it is not activated)
> use case "Develop SpringBoot application deployed on OpenShift as any other applications in JBoss Tools":
> - there is a SpringBoot app deployed on OpenShift
> - the developer want to develop evolution of the SpringBoot app
> -- when he/she modifies the project, the application needs to be automatically updated on OpenShift instance
> -- Remote java debug should be available when the OpenShift server adapter is in debug mode.
> Steps:
> # EXEC: create a project in your OpenShift server (ex. camel-ose-springboot)
> # EXEC: Import project within fuse-on-openshift.zip into your workspace
> # EXEC: open launch configuration and change:
> ** -Dkubernetes.master= so that it first your cdk instance
> ** -Dkubernetes.namespace= to the name of the project that you create in step 1.
> ** -Dfabric8.generator.from=fabric8/s2i-java
> # EXEC: run the launch config (that is included in the project), so that the project gets deployed to OpenShift (cdk)
> # ASSERT: your project in OpenShift now contains a service **camel-ose-springboot-xml**, the pod for it is running.
> # EXEC: in OpenShift Explorer: select this service and create a server adapter for it (*Server Adapter..* in the context menu for the service)
> # ASSERT: server adapter is created and is *[started]*
> # EXEC: in OpenShift Explorer: pick *Pod Log...* in the context menu for the pod of your service)
> # ASSERT: pod log is opened in "Console" view and shows an output with random numbers in the end
> {code}
> simple-route - >>> 455
> simple-route - >>> 695
> simple-route - >>> 935
> {code}
> # EXEC: In Project Explorer: open class MyTransformer and change the transform method
> # ASSERT: "Console" view is opened and shows how the server adapter is publishing the MyTransformer class to the pod
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (JBIDE-25700) Hot deploy of Spring Boot on OpenShift is not working with OpenShift Online
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25700?page=com.atlassian.jira.plugi... ]
Andre Dietisheim commented on JBIDE-25700:
------------------------------------------
in JBIDE-25303 I get the same permission problems (non-consistently though) running the same example in a local CDK
> Hot deploy of Spring Boot on OpenShift is not working with OpenShift Online
> ---------------------------------------------------------------------------
>
> Key: JBIDE-25700
> URL: https://issues.jboss.org/browse/JBIDE-25700
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: openshift
> Affects Versions: 4.5.2.Final
> Reporter: Aurélien Pupier
> Assignee: Andre Dietisheim
> Priority: Critical
> Labels: online, springboot
> Fix For: 4.5.3.AM3
>
>
> neither with open.paas.redhat.com
> so only when using the CDK.
> it seems to be due to the fact that the user in the pod are not the same.
> Jeff said:
> {quote}
> For SpringBoot deployments, the application file is called a fat jar and it placed in the /deployments folder (images are upstream fabric8/s2i-java or imagestream redhat-openjdk18-openshift). In order to get live update the file is then unzipped to the /deployments folder leaded to new sub folders BOOT-INF and META-INF
> The user permissions on those folders are the following:
> /deployments: writable by user jboss and group root
> /deployments/BOOT-INF: writable by user jboss readable only by group root
> /deployments/META-INF: writable by user jboss readable only by group root
> The rsync process with create some sub folders under /deployments/BOOT-INF. The problem that we have is that the user that is assigned for the rsync operation (or when you open a terminal in the OpenShift console) is not jboss (as opposed to Minishift/CDK) and thus we have permissions errors during the rsync operation.
> {quote}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (JBIDE-25700) Hot deploy of Spring Boot on OpenShift is not working with OpenShift Online
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25700?page=com.atlassian.jira.plugi... ]
Andre Dietisheim updated JBIDE-25700:
-------------------------------------
Fix Version/s: 4.5.3.AM3
(was: 4.5.3.AM2)
> Hot deploy of Spring Boot on OpenShift is not working with OpenShift Online
> ---------------------------------------------------------------------------
>
> Key: JBIDE-25700
> URL: https://issues.jboss.org/browse/JBIDE-25700
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: openshift
> Affects Versions: 4.5.2.Final
> Reporter: Aurélien Pupier
> Assignee: Andre Dietisheim
> Priority: Critical
> Labels: online, springboot
> Fix For: 4.5.3.AM3
>
>
> neither with open.paas.redhat.com
> so only when using the CDK.
> it seems to be due to the fact that the user in the pod are not the same.
> Jeff said:
> {quote}
> For SpringBoot deployments, the application file is called a fat jar and it placed in the /deployments folder (images are upstream fabric8/s2i-java or imagestream redhat-openjdk18-openshift). In order to get live update the file is then unzipped to the /deployments folder leaded to new sub folders BOOT-INF and META-INF
> The user permissions on those folders are the following:
> /deployments: writable by user jboss and group root
> /deployments/BOOT-INF: writable by user jboss readable only by group root
> /deployments/META-INF: writable by user jboss readable only by group root
> The rsync process with create some sub folders under /deployments/BOOT-INF. The problem that we have is that the user that is assigned for the rsync operation (or when you open a terminal in the OpenShift console) is not jboss (as opposed to Minishift/CDK) and thus we have permissions errors during the rsync operation.
> {quote}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (JBIDE-25303) Server adapter: support hot-deployment on OpenShift for SpringBoot app
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25303?page=com.atlassian.jira.plugi... ]
Andre Dietisheim updated JBIDE-25303:
-------------------------------------
Fix Version/s: 4.5.3.AM3
(was: 4.5.2.Final)
> Server adapter: support hot-deployment on OpenShift for SpringBoot app
> ----------------------------------------------------------------------
>
> Key: JBIDE-25303
> URL: https://issues.jboss.org/browse/JBIDE-25303
> Project: Tools (JBoss Tools)
> Issue Type: Feature Request
> Components: openshift
> Affects Versions: 4.5.1.Final
> Reporter: Aurélien Pupier
> Assignee: Andre Dietisheim
> Labels: openshift_v3, server_adapter
> Fix For: 4.5.3.AM3
>
> Attachments: Image+Pasted+at+2018-1-16+10-58.png, fuse-on-openshift.zip, project-deployment-assembly.png, spring-boot-demo.zip
>
>
> currently, Springboot jar projects (such as Fuse Integration Services) are rsynced with a zipped jar file.
> The requirements are:
> - rsync unpacked jar
> - rsync without the jar name as folder
> - it will will work only if springboot devtool are included (so maybe need some dialog guiding user to do i in case it is not activated)
> use case "Develop SpringBoot application deployed on OpenShift as any other applications in JBoss Tools":
> - there is a SpringBoot app deployed on OpenShift
> - the developer want to develop evolution of the SpringBoot app
> -- when he/she modifies the project, the application needs to be automatically updated on OpenShift instance
> -- Remote java debug should be available when the OpenShift server adapter is in debug mode.
> Steps:
> # EXEC: create a project in your OpenShift server (ex. camel-ose-springboot)
> # EXEC: Import project within fuse-on-openshift.zip into your workspace
> # EXEC: open launch configuration and change:
> ** -Dkubernetes.master= so that it first your cdk instance
> ** -Dkubernetes.namespace= to the name of the project that you create in step 1.
> ** -Dfabric8.generator.from=fabric8/s2i-java
> # EXEC: run the launch config (that is included in the project), so that the project gets deployed to OpenShift (cdk)
> # ASSERT: your project in OpenShift now contains a service **camel-ose-springboot-xml**, the pod for it is running.
> # EXEC: in OpenShift Explorer: select this service and create a server adapter for it (*Server Adapter..* in the context menu for the service)
> # ASSERT: server adapter is created and is *[started]*
> # EXEC: in OpenShift Explorer: pick *Pod Log...* in the context menu for the pod of your service)
> # ASSERT: pod log is opened in "Console" view and shows an output with random numbers in the end
> {code}
> simple-route - >>> 455
> simple-route - >>> 695
> simple-route - >>> 935
> {code}
> # EXEC: In Project Explorer: open class MyTransformer and change the transform method
> # ASSERT: "Console" view is opened and shows how the server adapter is publishing the MyTransformer class to the pod
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (JBIDE-25303) Server adapter: support hot-deployment on OpenShift for SpringBoot app
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25303?page=com.atlassian.jira.plugi... ]
Andre Dietisheim edited comment on JBIDE-25303 at 2/28/18 10:18 AM:
--------------------------------------------------------------------
[~jkopriva] your error is different from mine. In your case it tries to copy files to a directory (/deployments/BOOT-INF/classes*) that *SHOULD* exist. The only way I see this not being present is if the springboot application (fat) jar is not unpacked.
This could either happen if you're using the wrong docker image (fis image instead of fabric8/s2i-java) or the environment variables dont contain the JAVA_DEBUG variable that tells the docker image to unpack the jar. Can you please verify this?
ps. you can ssh to the pod via
{code}
oc rsh <pod-id>
{code}
was (Author: adietish):
[~jkopriva] your error is different from mine. In your case it tries to copy files to a directory (/BOOT-INF/classes) that *SHOULD* exist. The only way I see this not being present is if the springboot application (fat) jar is not unpacked.
This could either happen if you're using the wrong docker image (fis image instead of fabric8/s2i-java) or the environment variables dont contain the JAVA_DEBUG variable that tells the docker image to unpack the jar. Can you please verify this?
> Server adapter: support hot-deployment on OpenShift for SpringBoot app
> ----------------------------------------------------------------------
>
> Key: JBIDE-25303
> URL: https://issues.jboss.org/browse/JBIDE-25303
> Project: Tools (JBoss Tools)
> Issue Type: Feature Request
> Components: openshift
> Affects Versions: 4.5.1.Final
> Reporter: Aurélien Pupier
> Assignee: Andre Dietisheim
> Labels: openshift_v3, server_adapter
> Fix For: 4.5.2.Final
>
> Attachments: Image+Pasted+at+2018-1-16+10-58.png, fuse-on-openshift.zip, project-deployment-assembly.png, spring-boot-demo.zip
>
>
> currently, Springboot jar projects (such as Fuse Integration Services) are rsynced with a zipped jar file.
> The requirements are:
> - rsync unpacked jar
> - rsync without the jar name as folder
> - it will will work only if springboot devtool are included (so maybe need some dialog guiding user to do i in case it is not activated)
> use case "Develop SpringBoot application deployed on OpenShift as any other applications in JBoss Tools":
> - there is a SpringBoot app deployed on OpenShift
> - the developer want to develop evolution of the SpringBoot app
> -- when he/she modifies the project, the application needs to be automatically updated on OpenShift instance
> -- Remote java debug should be available when the OpenShift server adapter is in debug mode.
> Steps:
> # EXEC: create a project in your OpenShift server (ex. camel-ose-springboot)
> # EXEC: Import project within fuse-on-openshift.zip into your workspace
> # EXEC: open launch configuration and change:
> ** -Dkubernetes.master= so that it first your cdk instance
> ** -Dkubernetes.namespace= to the name of the project that you create in step 1.
> ** -Dfabric8.generator.from=fabric8/s2i-java
> # EXEC: run the launch config (that is included in the project), so that the project gets deployed to OpenShift (cdk)
> # ASSERT: your project in OpenShift now contains a service **camel-ose-springboot-xml**, the pod for it is running.
> # EXEC: in OpenShift Explorer: select this service and create a server adapter for it (*Server Adapter..* in the context menu for the service)
> # ASSERT: server adapter is created and is *[started]*
> # EXEC: in OpenShift Explorer: pick *Pod Log...* in the context menu for the pod of your service)
> # ASSERT: pod log is opened in "Console" view and shows an output with random numbers in the end
> {code}
> simple-route - >>> 455
> simple-route - >>> 695
> simple-route - >>> 935
> {code}
> # EXEC: In Project Explorer: open class MyTransformer and change the transform method
> # ASSERT: "Console" view is opened and shows how the server adapter is publishing the MyTransformer class to the pod
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months
[JBoss JIRA] (JBIDE-25303) Server adapter: support hot-deployment on OpenShift for SpringBoot app
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25303?page=com.atlassian.jira.plugi... ]
Andre Dietisheim edited comment on JBIDE-25303 at 2/28/18 10:18 AM:
--------------------------------------------------------------------
[~jkopriva] your error is different from mine. In your case it tries to copy files to a directory (/deployments/BOOT-INF/classes*) that *SHOULD* exist. The only way I see this not being present is if the springboot application (fat) jar is not unpacked.
This could either happen if you're using the wrong docker image (fis image instead of fabric8/s2i-java) or the environment variables dont contain the JAVA_DEBUG variable that tells the docker image to unpack the jar. Can you please verify this?
ps. you can ssh to the pod via
{code}
oc rsh <pod-id>
{code}
was (Author: adietish):
[~jkopriva] your error is different from mine. In your case it tries to copy files to a directory (/deployments/BOOT-INF/classes*) that *SHOULD* exist. The only way I see this not being present is if the springboot application (fat) jar is not unpacked.
This could either happen if you're using the wrong docker image (fis image instead of fabric8/s2i-java) or the environment variables dont contain the JAVA_DEBUG variable that tells the docker image to unpack the jar. Can you please verify this?
ps. you can ssh to the pod via
{code}
oc rsh <pod-id>
{code}
> Server adapter: support hot-deployment on OpenShift for SpringBoot app
> ----------------------------------------------------------------------
>
> Key: JBIDE-25303
> URL: https://issues.jboss.org/browse/JBIDE-25303
> Project: Tools (JBoss Tools)
> Issue Type: Feature Request
> Components: openshift
> Affects Versions: 4.5.1.Final
> Reporter: Aurélien Pupier
> Assignee: Andre Dietisheim
> Labels: openshift_v3, server_adapter
> Fix For: 4.5.2.Final
>
> Attachments: Image+Pasted+at+2018-1-16+10-58.png, fuse-on-openshift.zip, project-deployment-assembly.png, spring-boot-demo.zip
>
>
> currently, Springboot jar projects (such as Fuse Integration Services) are rsynced with a zipped jar file.
> The requirements are:
> - rsync unpacked jar
> - rsync without the jar name as folder
> - it will will work only if springboot devtool are included (so maybe need some dialog guiding user to do i in case it is not activated)
> use case "Develop SpringBoot application deployed on OpenShift as any other applications in JBoss Tools":
> - there is a SpringBoot app deployed on OpenShift
> - the developer want to develop evolution of the SpringBoot app
> -- when he/she modifies the project, the application needs to be automatically updated on OpenShift instance
> -- Remote java debug should be available when the OpenShift server adapter is in debug mode.
> Steps:
> # EXEC: create a project in your OpenShift server (ex. camel-ose-springboot)
> # EXEC: Import project within fuse-on-openshift.zip into your workspace
> # EXEC: open launch configuration and change:
> ** -Dkubernetes.master= so that it first your cdk instance
> ** -Dkubernetes.namespace= to the name of the project that you create in step 1.
> ** -Dfabric8.generator.from=fabric8/s2i-java
> # EXEC: run the launch config (that is included in the project), so that the project gets deployed to OpenShift (cdk)
> # ASSERT: your project in OpenShift now contains a service **camel-ose-springboot-xml**, the pod for it is running.
> # EXEC: in OpenShift Explorer: select this service and create a server adapter for it (*Server Adapter..* in the context menu for the service)
> # ASSERT: server adapter is created and is *[started]*
> # EXEC: in OpenShift Explorer: pick *Pod Log...* in the context menu for the pod of your service)
> # ASSERT: pod log is opened in "Console" view and shows an output with random numbers in the end
> {code}
> simple-route - >>> 455
> simple-route - >>> 695
> simple-route - >>> 935
> {code}
> # EXEC: In Project Explorer: open class MyTransformer and change the transform method
> # ASSERT: "Console" view is opened and shows how the server adapter is publishing the MyTransformer class to the pod
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 10 months