Skip to content

Conversation

nmittler
Copy link
Contributor

@nmittler nmittler commented Apr 17, 2018

There current vendor submodule provides a problematic developer workflow, requiring 2 separate PRs: one to the vendor repo and one to istio/istio.

The PR to the vendor repository has to be made on a branch of the vendor repository itself (forks are not supported). This disallows external developers for writing any PR that adds a dependency.

Once the vendor PR adding dependency A has been submitted, the developer effectively has a virtual "lock" on the Istio dependencies. The dep tool automatically prunes unused dependencies, so if another developer attempts to add dependency B before A is actually being used by Istio, dependency A will be removed when B is added.

The time it takes between the submission of the 2 PRs presents a general problem to the developer workflow. This PR removes vendor as a submodule altogether and simply imports the vendor directory into istio/istio. After this is committed, future work will require a single PR to add code that imports a new dependency.

@kyessenov
Copy link
Contributor

Did we decide to commit vendor?

@nmittler
Copy link
Contributor Author

AFAIK, the only blocker I was aware of was someone to do the work. And possibly waiting for API to merge into istio/istio.

@rshriram
Copy link
Member

some description please?

@kyessenov
Copy link
Contributor

The work includes describing the process to update vendor in the future, not a one time commit. This is going to be an on-going maintenance, so I assume you want to subscribe for that? :)

@nmittler
Copy link
Contributor Author

@rshriram done.

@nmittler
Copy link
Contributor Author

This is going to be an on-going maintenance, so I assume you want to subscribe for that?

The istio team is responsible for any maintenance.

@codecov
Copy link

codecov bot commented Apr 17, 2018

Codecov Report

Merging #5014 into master will increase coverage by 1%.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master   #5014    +/-   ##
=======================================
+ Coverage      74%     74%    +1%     
=======================================
  Files         306     307     +1     
  Lines       25966   25746   -220     
=======================================
- Hits        18976   18832   -144     
+ Misses       6239    6165    -74     
+ Partials      751     749     -2
Impacted Files Coverage Δ
mixer/adapter/rbac/controller.go 39% <0%> (-15%) ⬇️
mixer/adapter/prometheus/server.go 97% <0%> (-3%) ⬇️
pilot/pkg/serviceregistry/kube/queue.go 86% <0%> (-3%) ⬇️
pilot/pkg/serviceregistry/kube/controller.go 64% <0%> (-3%) ⬇️
mixer/adapter/memquota/dedup.go 100% <0%> (ø) ⬆️
mixer/adapter/memquota/memquota.go 100% <0%> (ø) ⬆️
mixer/adapter/prometheus/prometheus.go 100% <0%> (ø) ⬆️
mixer/adapter/stdio/stdio.go 100% <0%> (ø) ⬆️
mixer/adapter/list/ipList.go 100% <0%> (ø) ⬆️
mixer/pkg/protobuf/yaml/resolver.go 100% <0%> (ø) ⬆️
... and 12 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c3433a9...ef14d9b. Read the comment docs.

@nmittler nmittler requested a review from rshriram April 17, 2018 19:10
@rshriram rshriram requested a review from geeknoid April 17, 2018 19:14
@rshriram
Copy link
Member

please get @geeknoid 's approval as well.
I am generally in favor, though I would suggest some conventions around how people submit PRs.. vendor changes have to be confined to a single commit or preferably a separate PR if possible. So that its easy to review code vs vendor change.

@geeknoid
Copy link
Contributor

I agree with Shriram. Our guidance should be that try to commit vendor changes separately from other changes, unless there's some sort of nasty dependency that makes that hard.

@ldemailly ldemailly requested a review from hklai April 17, 2018 19:53
@ldemailly
Copy link
Member

If you recall the meeting yesterday we decided that we should first move istio/api into istio/ and then revisit

Also that we don't want to mess with 0.8

This being said if you are willing to deal with all future vendor issues for at least 2 months
and update https://github.com/istio/istio/wiki/Vendor-FAQ maybe that's fine

cc @hklai

@ldemailly ldemailly added the do-not-merge/hold Block automatic merging of a PR. label Apr 17, 2018
@ldemailly
Copy link
Member

Context (can you add to your PR description, at least)
#4746

@ldemailly ldemailly removed their request for review April 17, 2018 20:20
@ldemailly ldemailly removed the do-not-merge/hold Block automatic merging of a PR. label Apr 17, 2018
@ldemailly
Copy link
Member

ldemailly commented Apr 17, 2018

the only blocker I was aware of was someone to do the work

no, typing "git add" and deleting lines isn't "the work", the work is ensuring the outcome makes sense and maintaining it. it took a lot more (too much actually) work to setup and to document the flow than this. but given uninformed people once more override the test&release process and just blindly approve... I'm done dealing with vendor. thanks for your future maintenance of this.

@ldemailly
Copy link
Member

please merge this quickly so I get the benefits of freeing up my time, also please inform all the [vendor-change] PRs as well the open PRs in https://github.com/istio/vendor-istio/pulls

I'll mark that repo archived once you're done

Copy link
Contributor

@hklai hklai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

Thanks for taking the initiative and get this done, Nathan.

@istio-testing
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hklai

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@rshriram rshriram merged commit 9625bbd into istio:master Apr 17, 2018
@nmittler
Copy link
Contributor Author

Raised #5023 for defining the new process

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants