Skip to content
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

Docker runner #72

Closed
wants to merge 4 commits into from
Closed

Docker runner #72

wants to merge 4 commits into from

Conversation

sunix
Copy link
Contributor

@sunix sunix commented Apr 20, 2015

@sunix sunix force-pushed the docker-runner branch 2 times, most recently from 3e6d95f to 05dc5db Compare April 23, 2015 07:46
@garagatyi
Copy link
Contributor

Sorry for the long delay. I've merged changes of docker client from 4.0 to 3.x recently. It was required to avoid parallel support of 2 different docker clients.
Can you rework you pull requests to get last changes, thanks.

@sunix sunix force-pushed the docker-runner branch from 05dc5db to 620898e Compare May 3, 2015 00:15
@sunix
Copy link
Contributor Author

sunix commented May 3, 2015

updated eclipse-che/che#2 and this one.

@sunix sunix force-pushed the docker-runner branch from 620898e to 7966366 Compare May 5, 2015 16:37
@garagatyi
Copy link
Contributor

I've moved docker client and docker machine impl to che-plugins in 4.0 branch. Can you adopt your PR's to that change.
4.0 structure:
che-plugins
|___plugin-docker
|_____che-plugin-docker-client
|_____che-plugin-docker-machine
I suppose that you can make structure like this:
che-plugins
|___plugin-docker
|_____che-plugin-docker-client
|_____che-plugin-docker-runner
Than we would have the same codebase for the docker client.

@sunix sunix force-pushed the docker-runner branch from 7966366 to 2658ca5 Compare May 6, 2015 17:09
@sunix
Copy link
Contributor Author

sunix commented May 7, 2015

hi i've updated the structure, but I have an new issue when i'm running a Dockerfile AFTER a rebase on che and che-plugins :

2015-05-07 08:57:54,850[io-8080-exec-20]  [DEBUG] [o.e.c.i.m.DefaultMethodInvoker 95]   - null
java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51]
at org.everrest.core.impl.method.DefaultMethodInvoker.invokeMethod(DefaultMethodInvoker.java:154) [everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.method.DefaultMethodInvoker.invokeMethod(DefaultMethodInvoker.java:141) [everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestDispatcher.doInvokeResource(RequestDispatcher.java:289) [everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestDispatcher.invokeSubResourceMethod(RequestDispatcher.java:280) [everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestDispatcher.dispatch(RequestDispatcher.java:205) [everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestDispatcher.dispatch(RequestDispatcher.java:95) [everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:64) [everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.EverrestProcessor.process(EverrestProcessor.java:132) [everrest-core-1.4.0.jar:na]
at org.everrest.core.servlet.EverrestServlet.service(EverrestServlet.java:61) [everrest-core-1.4.0.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) [servlet-api.jar:na]
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) [guice-servlet-3.0.jar:na]
at org.eclipse.che.env.local.server.SingleEnvironmentFilter.doFilter(SingleEnvironmentFilter.java:95) [che-plugin-sdk-env-local-3.10.0-SNAPSHOT.jar:3.10.0-SNAPSHOT]
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) [guice-servlet-3.0.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.50]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.50]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) [catalina.jar:7.0.50]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) [catalina.jar:7.0.50]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) [catalina.jar:7.0.50]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) [catalina.jar:7.0.50]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) [catalina.jar:7.0.50]
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:314) [catalina.jar:7.0.50]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) [catalina.jar:7.0.50]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) [catalina.jar:7.0.50]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) [tomcat-coyote.jar:7.0.50]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) [tomcat-coyote.jar:7.0.50]
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) [tomcat-coyote.jar:7.0.50]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
Caused by: java.lang.IllegalArgumentException: Invalid fqn: project:/ENV2-flux
at org.eclipse.che.api.project.shared.EnvironmentId.parse(EnvironmentId.java:65) ~[che-core-api-project-3.10.0-SNAPSHOT.jar:3.10.0-SNAPSHOT]
at org.eclipse.che.api.runner.RunQueue.run(RunQueue.java:447) ~[che-core-api-runner-3.10.0-SNAPSHOT.jar:3.10.0-SNAPSHOT]
at org.eclipse.che.api.runner.RunnerService.run(RunnerService.java:98) ~[che-core-api-runner-3.10.0-SNAPSHOT.jar:3.10.0-SNAPSHOT]
... 39 common frames omitted
2015-05-07 08:57:54,852[io-8080-exec-20]  [DEBUG] [o.e.c.impl.RequestHandlerImpl 95]    - InternalException occurs.
java.lang.IllegalArgumentException: Invalid fqn: project:/ENV2-flux
at org.eclipse.che.api.project.shared.EnvironmentId.parse(EnvironmentId.java:65) ~[che-core-api-project-3.10.0-SNAPSHOT.jar:3.10.0-SNAPSHOT]
at org.eclipse.che.api.runner.RunQueue.run(RunQueue.java:447) ~[che-core-api-runner-3.10.0-SNAPSHOT.jar:3.10.0-SNAPSHOT]
at org.eclipse.che.api.runner.RunnerService.run(RunnerService.java:98) ~[che-core-api-runner-3.10.0-SNAPSHOT.jar:3.10.0-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51]
at org.everrest.core.impl.method.DefaultMethodInvoker.invokeMethod(DefaultMethodInvoker.java:154) ~[everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.method.DefaultMethodInvoker.invokeMethod(DefaultMethodInvoker.java:141) ~[everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestDispatcher.doInvokeResource(RequestDispatcher.java:289) ~[everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestDispatcher.invokeSubResourceMethod(RequestDispatcher.java:280) ~[everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestDispatcher.dispatch(RequestDispatcher.java:205) ~[everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestDispatcher.dispatch(RequestDispatcher.java:95) ~[everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.RequestHandlerImpl.handleRequest(RequestHandlerImpl.java:64) ~[everrest-core-1.4.0.jar:na]
at org.everrest.core.impl.EverrestProcessor.process(EverrestProcessor.java:132) [everrest-core-1.4.0.jar:na]
at org.everrest.core.servlet.EverrestServlet.service(EverrestServlet.java:61) [everrest-core-1.4.0.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) [servlet-api.jar:na]
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62) [guice-servlet-3.0.jar:na]
at org.eclipse.che.env.local.server.SingleEnvironmentFilter.doFilter(SingleEnvironmentFilter.java:95) [che-plugin-sdk-env-local-3.10.0-SNAPSHOT.jar:3.10.0-SNAPSHOT]
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) [guice-servlet-3.0.jar:na]
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) [guice-servlet-3.0.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) [catalina.jar:7.0.50]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.50]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) [catalina.jar:7.0.50]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) [catalina.jar:7.0.50]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) [catalina.jar:7.0.50]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) [catalina.jar:7.0.50]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953) [catalina.jar:7.0.50]
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:314) [catalina.jar:7.0.50]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) [catalina.jar:7.0.50]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409) [catalina.jar:7.0.50]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044) [tomcat-coyote.jar:7.0.50]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) [tomcat-coyote.jar:7.0.50]
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315) [tomcat-coyote.jar:7.0.50]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_51]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]
2015-05-07 08:57:55,175[cs Event Logger]  [INFO ] [o.e.c.a.a.logger.EventLogger 205]    -   EVENT#ide-usage# WS#default# USER#codenvy@codenvy.com# PROJECT#flux# TYPE#blank# SOURCE#org.eclipse.che.ide.ext.runner.client.runneractions.impl.RunAction# PARAMETERS##

selection_073

any idea ?

@garagatyi
Copy link
Contributor

two '/' are required in the recipe fqn

@garagatyi
Copy link
Contributor

there is a bug in runner, master

@sunix
Copy link
Contributor Author

sunix commented May 26, 2015

Hi,
I've rebased and it works fine

@TylerJewell
Copy link
Contributor

Ok... Time to have this merged into 3.11.x

@garagatyi
Copy link
Contributor

As we discussed in emails we're OK with that if Florent and Sun Tan agree to support it.
BTW this PR should be updated in accordance with current state of code in 4.0 branch

@benoitf
Copy link
Contributor

benoitf commented Jul 6, 2015

I'm still OK to support it

@sunix sunix force-pushed the docker-runner branch 3 times, most recently from 3041ed5 to 4b4462a Compare July 31, 2015 15:34
@skabashnyuk
Copy link
Contributor

Is this PR up to date?

@sunix
Copy link
Contributor Author

sunix commented Aug 10, 2015

Hello, this PR is up to date with what was on plugin-hosted before https://github.com/codenvy/plugins/commit/d303157635f7bb3e7c503f9c214894a5463db5ca. There is a big mess with what was done for moving docker runner to che on branch 4.0: docker runner hasn't been removed from plugin-hosted and "IDEX-2763 Added ui for setting docker credentials" is adding some changes on it instead of doing it on che. We need to clarify this. About changes done on 4.0 (che version) i think @garagatyi should help on cherry-picking any changes done on 4.0 to master.

@skabashnyuk
Copy link
Contributor

Can you make it up to date with master and changes in 4.0?

@sunix
Copy link
Contributor Author

sunix commented Aug 10, 2015

This is the status:
Che:

Plugin-hosted:

  • 4.0: evolutions for IDEX-2763
  • 3.x: evolutions for IDEX-2763

For Che evolutions by @garagatyi to be merged to 3.x, I prefer not to do it because it will take ages for me to understand what each commit is doing what and if it should be merged into 3.x or not.
For IDEX-2763 same: i prefer the commiter to merge work into each version of che and remove the plugin-hosted versions. In IDEX-2763, there is a new plugin for dockerhub authentication, i let you decide if it should be part of che or not.

@skabashnyuk
Copy link
Contributor

Sorry we are not able to delegate this work to @garagatyi at this moment. If you are still interesting in this feature you should provided a full set of changes that need to be done for this moment. Obviously if needed you can involve @garagatyi as an expert. Do you have some concrete list of question that have to be answered?

@skabashnyuk
Copy link
Contributor

Merged in
Permalink
fbenoit Florent Benoit added a comment - 3 days ago
First, add plugin into che-plugins
#197
then, use it in cloud-ide and onpremises
https://github.com/codenvy/cloud-ide/pull/144
codenvy-legacy/onpremises#14
then remove it from plugins
https://github.com/codenvy/plugins/pull/8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants