Remove deprecated vendor update recipe from FAQ

This commit is contained in:
Łukasz Osipiuk 2019-06-06 20:20:10 +02:00
parent 75cc16a50e
commit 303afe6a60
1 changed files with 1 additions and 23 deletions

View File

@ -900,26 +900,4 @@ We are aware that this process is tedious and we will work to improve it.
### How can I update CA dependencies (particularly k8s.io/kubernetes)?
CA depends on `k8s.io/kubernetes` internals as well as the k8s.io libs like
`k8s.io/apimachinery`. However `k8s.io/kubernetes` has its own/newer version of these libraries
(in a `staging` directory) which may not always be compatible with what has been published to apimachinery repo.
This leads to various conflicts that are hard to resolve in a "proper" way. So until a better solution
is proposed (or we stop migrating stuff between `k8s.io/kubernetes` and other projects on a daily basis),
the following hack makes the things easier to handle:
1. Create a new `$GOPATH` directory.
2. Get `k8s.io/kubernetes` and `k8s.io/autoscaler` source code (via `git clone` or `go get`).
3. Make sure that you use the correct branch/tag in `k8s.io/kubernetes`(Note: please refer cluster-autoscaler/kubernetes.sync for the last sync commit). For example, regular dev updates should be done against `k8s.io/kubernetes` HEAD, while updates in CA release branches should be done
against the latest release tag of the corresponding `k8s.io/kubernetes` branch.
4. Do `godep restore` in `k8s.io/kubernetes`.
5. Remove Godeps and vendor from `k8s.io/autoscaler/cluster-autoscaler`.
6. Add some other dependencies to `_override` if needed, and update `fix_gopath.sh` to use them. Make sure that the code in `k8s.io/autoscaler/cluster-autoscaler` refers to them somehow (may be a blank import).
7. Invoke `fix_gopath.sh`. This will update `k8s.io/api`, `k8s.io/apimachinery` etc with the content of
`k8s.io/kubernetes/staging` and remove all vendor directories from your gopath.
8. Check if everything compiles with `go test ./...` in `k8s.io/autoscaler/cluster-autoscaler`.
9. `godep save ./...` in `k8s.io/autoscaler/cluster-autoscaler`,
10. Update `kubernetes.sync` with the commit used to perform this update (output
of running `git show --summary HEAD^` in `k8s.io/kubernetes`.). We use `HEAD^` because we want to skip extra "no_vendor"
commit generated by `fix_gopath.sh`.
11. Send a PR with 2 commits - one that covers `Godep` and `vendor/`, and the other one with all
required real code changes.
TODO - update needed after k8s migrated to go modules