-
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
Packaging Che to run on OpenShift #2847
Comments
Apologies if this is not the right venue for asking this. I have checked the che-dev mailing list on Eclipse and more activity seems to be going on on GitHub issues than there. I see that there is a branch (https://github.com/eclipse/che/compare/openshift-connector) that seems very specific to getting Che to run on OpenShift stack. But I was watching the CheConf presentation by @l0rd on Deploying Che on OpenShift and there was some mention of a more general Service Provider Interface (SPI). Is the work for SPI planned for Che 5.x? |
Hello @vazexqi we want to merge openshift-connector branch to master really soon. That's the first step towards a more generic SPI. Are you interested in a particular connector besides Docker and OpenShift? |
I think @vazexqi - is referring to this epic - #2355. Our thinking on timing is that we are working really closely with Red Hat to get Che to work properly on OpenShift first. As part of this, we are breaking a numbef of interfaces between Che and the Docker daemon. Once we have a verified Che that works with a normal daemon and with OpenShift, we can then create a general purpose SPI that allows for adapting Che functions to any type of container provider. |
@l0rd @TylerJewell - Thanks for the update. I'll continue to monitor to see when something more generic comes about. I don't have concrete plans on a particular connector, but I am interested in seeing if/how Che can be hosted on a PaaS instead of an IaaS platform. OpenShift seems to fall more into the PaaS domain so this is of interest to me. |
The SPI that we are discussing here is specific to the container infrastructure layer ... which pre-supposes that you have configured Che to use the "Docker Machine", which is also the default. "Machines" are a different abstraction (with an existing well defined interface), which is an abstraction for "type of runtime". so a machine could be a container, a VM, a MacMini - as examples. We have done two types of machine implementations - Docker & SSH. The SSH machines assume that there is a remote runtime that can be connected to over an IP address + authentication. But you could envision this interface being used for a variety of different implementation types - where machines have a specialized activation profile, a definition of a recipe, and the so forth. We could, for example, have a Vagrant machine type. |
@l0rd - I have updated the main body of the epic. If you think it would be helpful to rewrite that body to remove duplication and to also refresh it for the current scope, we should do that, so that we are working from a single list of activities. |
Tyler I've edited this epic description. In particular I've:
|
Thanks - I think it looks good. |
This is fantastic. We're on the verge of adopting OpenShift at work and we've also been trying to figure out how we could host our own internal Che server. This could be a really great solution! |
Closing as it will be fixed with: |
This is a specification for all of the work to be done to productize Eclipse Che to run and operate on Kubernetes-based OpenShift. This is a particularly challenging task as we have to decouple the internal Docker management operations of Che into an abstraction layer that can delegate those functions into an OpenShift provider, which itself must map those commands to OpenShift APIs. Additionally, OpenShift was originally designed for applications that are fairly well self-contained, but Che is an application which itself is also responsible for creating and managing containers, and needs to have certain control hooks into the underlying orchestration system.
@l0rd - has started on a prototype that has programmatic controls over how to create and destroy workspaces using only OpenShift APIs. This is the work product of what is needed to productize all of this work.
(*) work has been merged in openshift-connector branch only.
The text was updated successfully, but these errors were encountered: