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

[discussion] Separate the operator and UI dashboard #389

Closed
gaocegege opened this issue Feb 13, 2018 · 16 comments
Closed

[discussion] Separate the operator and UI dashboard #389

gaocegege opened this issue Feb 13, 2018 · 16 comments

Comments

@gaocegege
Copy link
Member

This repository has two components: operator and dashboard, I think if we could separate these two components since they are designed to be decoupled.

@jimexist
Copy link
Member

+1 for that, I think UI dashboard can now live in its own repo. What do you think? @wbuchwalter

@wbuchwalter
Copy link
Contributor

wbuchwalter commented Feb 14, 2018

I don't have any objection. We discussed this at the beginning with @jlewi and always assumed it would be separate at some later point.
My only concern currently is around breaking changes in github.com/kubeflow/tf-operator/pkg/apis/tensorflow/v1alpha1. Today the dashboard is part of the release process of tf-operator so it's very easy to know whether a change broke the dashboard. Would we still be able to detect this easily with our current CI system if they lived in separate repos?

@gaocegege
Copy link
Member Author

I think it could be done after we release a version and then dashboard does not need to adapt the HEAD of the operator.

@jimexist
Copy link
Member

once the release and lifecycle convention of tf-operator is known and widely observed this can be done (and it should be).

@jimexist
Copy link
Member

@jlewi wondering do we have a release schedule at least GitHub-wise for this repo? So that many dependent Golang repos can have sensible expectations, etc.

@gaocegege
Copy link
Member Author

wondering do we have a release schedule at least GitHub-wise for this repo? So that many dependent Golang repos can have sensible expectations, etc.

I agree that we could just release a version in github, to keep a usable version here.

@wbuchwalter
Copy link
Contributor

Yes if we wait for versionning before doing this I'm fine with it.

@jlewi
Copy link
Contributor

jlewi commented Feb 15, 2018

Our testing infrastructure (checkout.sh supports checking out multiple repos.

You just specify the environment variable "EXTRA_REPOS". You can specify a commit/branch/tag to checkout.

So our E2E tests can specify which version of each repo to test; e.g. we could test kubeflow/kubeflow HEAD wit kubeflow/tf-operator HEAD or HEAD with tag 0.1 etc...

@gaocegege
Copy link
Member Author

Do we have integration test for operator and the dashboard?

@ScorpioCPH
Copy link
Member

+1

@gaocegege
Copy link
Member Author

Proposal for separating operator and dashboard

Motivation

See #389

Goals

  • Separate operator and dashboard
  • Build integration test for dashboard

Migration

We need to create a new repository tfjob-dashboard and:

  • Remove dashboard/frontend/build from git ignore file
  • Remove dashboard from developer_guide.md
  • Migrate dashboard directory to the new repository
  • Update the code in build_and_push.py and release.py to the new repository
  • Remove the dashboard from dir_excludes in py_checks.py
  • Remove the dashboard from docker image and create a dependent image for the dashboard
  • Update the image in tf-job-operator-chart
  • Update the image for dashboard in kubeflow/kubeflow

@gaocegege
Copy link
Member Author

gaocegege commented Apr 3, 2018

I am glad to help to migrate the dashboard to the new repository for better maintainance. And there is a list of TODOs, PTAL @jlewi @wbuchwalter

If you think it works I think we could open a new repository and begin the work.

I think we could keep it in operator and do the migration work, after all things done we could update the chart in operator and image in kubeflow/kubeflow.

@jlewi
Copy link
Contributor

jlewi commented Apr 9, 2018

Do we really need a new repository? Every repository has a fairly high maintenance cost.

We can still do all the other changes; e.g. put it in a separate Docker image.

@gaocegege
Copy link
Member Author

OK, SGTM

@jlewi
Copy link
Contributor

jlewi commented May 8, 2018

Assuming we keep the UI and operator in the same repository for now but in different directories.

What changes are needed to better separate the two.

@stale
Copy link

stale bot commented Apr 20, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@jlewi jlewi closed this as completed Apr 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants