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

Reduce number of PRs needed to update charts #19146

Closed
ostromart opened this issue Nov 23, 2019 · 11 comments
Closed

Reduce number of PRs needed to update charts #19146

ostromart opened this issue Nov 23, 2019 · 11 comments
Assignees
Labels
area/environments/operator Issues related to Operator or installation
Milestone

Comments

@ostromart
Copy link
Contributor

Right now it's six per change after a branch is cut.
Simplest solution would be to merge installer and operator repos. Another alternative is to automate periodically updating the sha to last know good builds. The latter will be non-trivial because changes in charts often require manual changes to profiles and tests in operator.

@ostromart ostromart added the area/environments/operator Issues related to Operator or installation label Nov 23, 2019
@ostromart ostromart added this to the 1.5 milestone Nov 23, 2019
@howardjohn
Copy link
Member

I think the best end state is to merge the repos, and automate operator -> istio dep update.

@richardwxn
Copy link
Contributor

@howardjohn when are we going to merge the repos? do we have any plan yet?

@incfly
Copy link

incfly commented Nov 23, 2019 via email

@howardjohn
Copy link
Member

I don't think there is any current plans, we just need to move everything over. I think @costinm is against this so we may want to discuss at an env wg meeting and get consensus

@sdake
Copy link
Member

sdake commented Nov 25, 2019

Merging repositories is not particularly easy - although I am happy to do the work if we can come up with a proper directory structure that works for people.

We need to preserve history...

@costinm I am not sure what the concern is. At present, the developers have a lot of work to do to even get to the point of being able to test a PR - the syncing process is error-prone and unnecessary. We trade some isolation of concerns off for the ability to work properly on the repository. I don't understand the motive to have separate repositories for each component - it really just makes development far more difficult and raises the bar to new contributors - where we want to be lowering the bar.

Quick 1 AUD in the postal service to someone that is not a maintainer that can tell me how a change from installer makes it into istio/istio...

Cheers
-steve

@howardjohn
Copy link
Member

howardjohn commented Nov 25, 2019

@sdake my understanding of what would need to be done:

  • Copy all the charts over with some git command that preserves the history
  • Rewire all the stuff in operator that calls the istio/installer repo. Mostly this stuff can be delete I think, since it was mostly about syncing
  • Now we have 2 copies of things -- what the operator "imported" before, and the actual installer. We should reconcile these so there is one copy
  • Add back some/all of the installer tests so we keep our coverage

Would be great for someone to tell me what is missing

edit: I have another idea, will send an RFC later

@howardjohn
Copy link
Member

@jmazzitelli
Copy link
Member

jmazzitelli commented Nov 27, 2019

I'm watching this PR - when complete, it would help me immensely to getting the kiali operator in. 👍

@sdake
Copy link
Member

sdake commented Nov 27, 2019

@howardjohn a proposal for monorepo: https://docs.google.com/document/d/1sA7icak2OPwTrl-nXfNr2I1_QcJQfoEMPkpdTOOlEZ0/edit#

This leaves out the transition process. WIll wait on TOC approval or rejection before authoring a design document. I welcome co-authors (if you want to contribute to the design of the monorepo transition @howardjohn)

Cheers
-steve

@sdake
Copy link
Member

sdake commented Nov 27, 2019

@sdake my understanding of what would need to be done:

  • Copy all the charts over with some git command that preserves the history
  • Rewire all the stuff in operator that calls the istio/installer repo. Mostly this stuff can be delete I think, since it was mostly about syncing
  • Now we have 2 copies of things -- what the operator "imported" before, and the actual installer. We should reconcile these so there is one copy
  • Add back some/all of the installer tests so we keep our coverage

Would be great for someone to tell me what is missing

edit: I have another idea, will send an RFC later

I've done a repo merge a few times. The process involves a lot of git format-patch and git am with sed intermixed:)

See: https://github.com/sdake/vertical for an implementation of repo merging that was functional the last time we had this multiple repository issue :)

@sdake
Copy link
Member

sdake commented Nov 27, 2019

@istio/technical-oversight-committee Hi gang. We will need a decision on a monorepo. I have scheduled this for the next TOC call (december 6th). The existing cost of a multiple repos does not generate any defendable benefit.

Strangely it has been about two years since the last multirepo to monorepo merge if this is approved :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/environments/operator Issues related to Operator or installation
Projects
None yet
Development

No branches or pull requests

7 participants