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 launcher related improvements #1697

Closed
5 tasks done
l0rd opened this issue Jul 9, 2016 · 8 comments
Closed
5 tasks done

Docker launcher related improvements #1697

l0rd opened this issue Jul 9, 2016 · 8 comments
Labels
kind/enhancement A feature request - must adhere to the feature request template. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. status/in-progress This issue has been taken by an engineer and is under active development.

Comments

@l0rd
Copy link
Contributor

l0rd commented Jul 9, 2016

This issue is to track some improvements related to running Che inside a Docker container. These improvements are needed to make Che running inside a Docker container the default. I will update this issue with the correspondent PRs and status:

Details and rationals of these improvements can be found here

@ghost ghost added the kind/enhancement A feature request - must adhere to the feature request template. label Jul 10, 2016
@l0rd
Copy link
Contributor Author

l0rd commented Jul 11, 2016

Simpler Docker command Checklist (PR #1683)

  • move set -e to the bottom
  • remove trap
  • $0 to ${0}
  • start and restart fails when che is not running
  • check if container has started successfully
  • use docker 1.6 client inside docker container and / or allow multiple clients at same time
  • create a Dockerfiles folders and put there Dockerfile related stuff
  • Infer image version and run the server with the same version
  • Add restart policy to che-server
  • Test if the right network interface is retrieved with docker toolbox
  • Add log "Che server has been started. Run docker logs -f che to see Che server logs" and the dashboard URL. Or a message that says that the server hasn't started.
  • Add comments to each Dockerfile with instructions on the docker build command
  • Support the following variables
    • CHE_DOCKER_HOST_IP, default = find_docker_host_ip() method
    • CHE_PORT, default = 8080
    • CHE_VERSION, default = latest
    • CHE_RESTART_POLICY, default = ???
  • Update CI systems to build all Docker images as part of nightly and tagging cycle Add CI mechanisms for new Che Docker images #1842
  • Change "Starts Che server in new console" to "Starts Che server"
  • Remove client connect output from che.sh of server?
  • Fix CHE_HOSTNAME on Docker for Windows
  • Fix Che server Dockerfile to use Docker 1.6
  • Find way to distinguish between Docker for Mac vs. Windows Find way to distinguish between Docker for Mac and Windows #1744
  • Author new Usage: Docker Launcher page
  • Provide helpful output to user when doing docker pull of image (looks like hang right now)
  • Enable custom variable to allow for local binaries
  • Change DOCKER_HOST_IP to be CHE_HOST_IP with default = DOCKER_HOST_IP
  • Document CHE_LOG_LEVELS
  • Add Copyright headers

@l0rd
Copy link
Contributor Author

l0rd commented Jul 11, 2016

Let volumes be configurables Checklist

  • Use volumes-from when wsagents are started (Use volumes-from when starting a workspace #2598)
  • Use 3 data containers for the 3 volumes
  • Check for env variables for the folders paths
  • In launcher.bat verify that, when provided, the volumes paths are writable
  • Special inner syntax for Windows changing volume location - requires custom variables
  • Support the following env variables
    • CHE_HOST_LOCATION, default = ${che.home}
    • CHE_WORKSPACES_LOCATION, default = ${CHE_HOST_LOCATION}/workspaces
    • CHE_STORAGE_LOCATION, default = ${CHE_HOST_LOCATION}/storage
    • CHE_PROJECTS_LOCATION, default = ${CHE_HOST_LOCATION}/projects
    • CHE_TERMINAL_MOUNT_LOCATION, default = ${CHE_HOST_LOCATION}/lib/
    • CHE_AGENT_ZIP_LOCATION, default = {CHE_HOST_LOCATION}/lib/ws-agent.zip
    • CHE_PROPERTIES_LOCATION, default = null

@TylerJewell
Copy link

@l0rd - do you want us to start crossing off the issues that are now finished that are committed into the PR, or wait for the merge? I'd like to do the former, and therefore I think a lot of these issues are crossed off.

Second, would you like me to identify any usability / bugs into the checklist here, or as a comment to the PR thread?

@l0rd
Copy link
Contributor Author

l0rd commented Jul 15, 2016

@TylerJewell Ok for crossing off the issues after the merge. And I think that the usability bugs relative the the ongoing PR should be reported on the specific PR.

@TylerJewell TylerJewell added kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. status/in-progress This issue has been taken by an engineer and is under active development. and removed kind/enhancement A feature request - must adhere to the feature request template. labels Jul 27, 2016
@TylerJewell TylerJewell changed the title Docker related improvements Docker launcher related improvements Jul 28, 2016
@TylerJewell
Copy link

@l0rd - given the most recent improvements with the refactoring of the che-server, we can remove some of these items, we can check off others, and rewrite yet others. Let's sit down and update this epic, and / or repackage it to cover the latest list of items we are tracking.

@TylerJewell
Copy link

Based upon the refactoring of the che-server, we probably can refactor the volumes-from list of tasks to the following:

  • We do not need volumes-from for the ws-agent, because we will support downloading over HTTP from the Che master.
  • We will need a volume data container to reflect to the new CHE_DATA variable and single data folder mount of the refactored che-server. We have already baked in the CHE_DATA variables into the che-launcher improvements.
  • In che-launcher, verify that the CHE_DATA path is writable.
  • Special inner syntax for Windows - this has already been incorporated.
  • We no longer need to add support for the list of environment variables as the new improvements all map to CHE_DATA.

@bmicklea bmicklea added the kind/enhancement A feature request - must adhere to the feature request template. label Nov 3, 2016
@TylerJewell
Copy link

@l0rd - going to close this as it's turned into a big uber-epic, and most of the issues were handled by other tasks along the way. If we have some mini EPICs that we should open, we can track those and create new ones just for that list of improvements.

@l0rd
Copy link
Contributor Author

l0rd commented Dec 13, 2016

@TylerJewell +1

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. kind/epic A long-lived, PM-driven feature request. Must include a checklist of items that must be completed. 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

3 participants