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

Support devfile with more than one Kubernetes tool #12719

Closed
l0rd opened this issue Feb 20, 2019 · 8 comments
Closed

Support devfile with more than one Kubernetes tool #12719

l0rd opened this issue Feb 20, 2019 · 8 comments
Assignees
Labels
kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system. status/in-progress This issue has been taken by an engineer and is under active development.

Comments

@l0rd
Copy link
Contributor

l0rd commented Feb 20, 2019

Description

Devfile example:

specVersion: 0.0.1
name: fix-the-kube
projects:
  - name: nodejs-mongo-app
    source:
      type: git
      location: 'https://github.com/ijason/NodeJS-Sample-App.git'
tools:
  - name: theia-editor
    type: cheEditor
    id: org.eclipse.che.editor.theia:1.0.0
  - name: exec-plugin
    type: chePlugin
    id: che-machine-exec-plugin:0.0.1
  - name: mongodb
    type: kubernetes
    local: mongo-controller.yaml
  - name: nodejs
    type: kubernetes
    local: node-controller.yaml

Controllers yamls can be found at kubernetes example

@l0rd l0rd changed the title Devfile with more than one Kubernetes tools is failing to start Support devfile with more than one Kubernetes tool Feb 20, 2019
@sleshchenko
Copy link
Member

sleshchenko commented Feb 21, 2019

It's expected behavior for the time being. But it would be a great enhancement to support multiple kubernetes/openshift/dockerimage tools.

@sleshchenko sleshchenko added kind/enhancement A feature request - must adhere to the feature request template. team/platform labels Feb 21, 2019
@garagatyi
Copy link

@l0rd Now we translate k8s/OS/dockerimage tool into the recipe of the workspace created by the devfile. Do you want us to create algorithm for merging several tools into a single recipe?

@l0rd
Copy link
Contributor Author

l0rd commented Feb 25, 2019

@garagatyi yeah...I mean I don't know if making it possible to have more than one recipe is simpler. But anyway the algorithm should be extracting the container part of every "tool" and merging it in the workspace deployment (where we merge plugins and editors containers as well).

@garagatyi
Copy link

@l0rd I assume that we don't need to implement support of conversion of workspace config back to several k8s tools, right? In fact we don't support conversion workspace config based on k8s recipe back to devfile at all. Implementation of this for several k8s tools would be complicated and would require more time.

@l0rd
Copy link
Contributor Author

l0rd commented Feb 27, 2019

@garagatyi correct. I think that rather than supporting ws.config => devfile conversion we should get rid of ws.config at all. But that will come later.

@garagatyi
Copy link

@l0rd 👍 this is what we keep coming across with Serhii and Lukas :)

@garagatyi
Copy link

Since OSIO-Che and Che platform teams are not yet sure who will work on this issue we discussed technical details of the implementation with @sleshchenko
We decided that scope of this task would be:

  • devfile code should add tools content into recipe of type kubernetes list
  • devfile code should convert dockerimage tool to k8s deployment or pod and also add it to the kubernetes list
  • workspace start code should merge all the deployments/pods/os templates from this kubernetes list into a single deployment (since we don't support multiple deployments yet)
  • won't implement export (was just confirmed by Mario)
  • but add tool meta info into k8s objects to be able to implement export of them to devfile tools later (if needed)

@skabashnyuk
Copy link
Contributor

@garagatyi @ibuziuk we are taking this issue to our sprint. @sleshchenko are going to work on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template. severity/P1 Has a major impact to usage or development of the system. status/in-progress This issue has been taken by an engineer and is under active development.
Projects
None yet
Development

No branches or pull requests

4 participants