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

Devfile components sync support #2473

Closed
3 tasks
rajivnathan opened this issue Dec 17, 2019 · 4 comments · Fixed by #2681
Closed
3 tasks

Devfile components sync support #2473

rajivnathan opened this issue Dec 17, 2019 · 4 comments · Fixed by #2681
Assignees
Labels
area/devfile-spec Issues or PRs related to the Devfile specification and how odo handles and interprets it. kind/feature Categorizes issue as a feature request. For PRs, that means that the PR is the implementation

Comments

@rajivnathan
Copy link
Contributor

rajivnathan commented Dec 17, 2019

Related to #2470

  • Implement source syncing to containers within a fat pod.
  • Ignore files in .gitignore
  • Sync delta changes instead of entire source
@rajivnathan
Copy link
Contributor Author

/area devfile

@openshift-ci-robot openshift-ci-robot added the area/devfile-spec Issues or PRs related to the Devfile specification and how odo handles and interprets it. label Dec 18, 2019
@girishramnani girishramnani added the kind/feature Categorizes issue as a feature request. For PRs, that means that the PR is the implementation label Jan 6, 2020
@rajivnathan rajivnathan changed the title Devfile sync support Devfile components sync support Jan 7, 2020
@johnmcollier
Copy link
Member

/assign @johnmcollier

@johnmcollier
Copy link
Member

As discussed on the odo dev meeting today:

  • We'll keep the existing watch and sync technology, it works fine as-is, and should work well with Devfile projects
  • Current sync function can only sync to one container
  • As Devfile projects may deploy fat / multi-container pods, we may need to sync the source code to multiple containers, so need to modify the sync function to support that
    • However, we don't want to sync to every container
  • We'll use the mountsources field in the devfile to determine which containers need access to the source code, and have a single shared volume with the source that those containers would mount
    • Means we only need to sync once

@johnmcollier
Copy link
Member

Updating the plan for Devfile syncing:

  • When creating the deployment for devfiles, create an emptyDir volume and mount it under /projects
    • /projects is the default mount path for projects in Che with devfiles
  • If a component has mountSources: true set in it, we'll mount the emptyDir volume to it
  • When syncing, we'll sync the source code to the first container we found that had set mountSources: true.
    • No need to sync across the other containers since they will be sharing the same volume.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/devfile-spec Issues or PRs related to the Devfile specification and how odo handles and interprets it. kind/feature Categorizes issue as a feature request. For PRs, that means that the PR is the implementation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants