-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Define plugin testing process #11555
Comments
Looks good |
|
The problem with having an http-server or che-plugin-registry in a workspace is that it won't work if we need to restart the workspace. It should be a separate pod. |
Not sure I understand a difference. I meant https://www.npmjs.com/package/http-server as a server-side Che-plugin
yes
What for? I think if it's not related to workspace it's closer to prod mode then dev. |
I forgot my own argument) Mario is correct! Since broker is working before workspace is up we can not use registry as part of the workspace. |
Restart is not a problem since all data will be saved on the /project volume. |
Small addition after a talk with @garagatyi . I thought that the newly developed plugin will be tested as part of a separate workspace. Where in workspace configuration we will define a reference to resources served by http-server sidecar of the first workspace. |
If we put a meta.yaml file to the plugins or projects volume we can implement fetching the stuff from it in the broker. |
I would avoid using volumes among pods as much as possible for the well known problems we have on real clusters.
|
I think we need to make a step back and talk about prerequisites.
|
The problem of using volumes to share the meta.yaml among pods is that it doesn't work in ephemeral mode. In ephemeral mode we use EmptyDir volumes and these are not shared between 2 pods. Look at this issue with the plugin broker volume. Currently ephemeral mode looks like the best way to run Che on public OpenShift/Kube clusters like OSO. That's why I am considering it important. Even more important than thinking about Docker support. I find @garagatyi proposal brilliant but it should work on ephemeral mode too. And I don't know how to do it. I hope that this answers some of your questions. |
There is no ideal solution at this moment. We would like to take into account the technical difficulties and limitations that introduced by using PV. That is why for Workshop we would like to develop a set of "oc" command that will allow.
|
is that this feature will be available on che.openshift.io on Tuesday next week ? |
Yes. We are trying to do that. @mshaposhnik is working on it. |
ok thanks for the feedback |
It seems I have some networking troubles on this. What i do:
3 . Check service:
Output:
And i cannot get access using |
Use
from |
To make |
As far as I remember k8s services are isolated in per-namepsace. So it might be expected that you can't access a service from another namespace. |
With light modification in registry dockerfile (add chmod for plugins folder), i was able to hot-deploy the plugin yaml.
Result: yaml is accessible at |
last 2 commands can be simplified into one (implying all folders for plugin exists in project): |
The goal of this issue shoudl be to add a script (
The examples of plugins that you can use for testing are https://github.com/ws-skeleton/che-dummy-plugin (for a .theia frontend plugin) and https://github.com/ws-skeleton/che-service-plugin/ (for a tar.gz che plugin). Note that publish.sh should be run after the user has build the plugin ( |
So appropriate script was added into dev-tooling image, under path |
Description
The issue is we need to provide a place to host meta.yaml and plugin.tar.gz that is under development.
Proposed process.
Define http-server plugin as a sidecar. Define volume /project to this sidecar.
From Environment variable we will configre a root folder to serve for example HTTP_SERVE_FOLDER=web.
During plugin development, a user will have to put his meta.yaml and plugin.tar.gz under /project/web folder
To be able to specify plugin served by this server we need to fix this
Add an ability to use a custom registry for WS.NEXT plugins
#11265The text was updated successfully, but these errors were encountered: