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

Bump to controller-runtime 0.3.0 and Kubernetes 1.15 #2083

Merged
merged 6 commits into from
Oct 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
### Changed

- **Breaking change:** Changed required Go version from `1.12` to `1.13`. This change applies to the SDK project itself and Go projects scaffolded by the SDK. Projects that import this version of the SDK require Go 1.13 to compile. ([#1949](https://github.com/operator-framework/operator-sdk/pull/1949))
- Upgrade Kubernetes version from `kubernetes-1.14.1` to `kubernetes-1.15.4`. ([#2083](https://github.com/operator-framework/operator-sdk/pull/2083))
- Upgrade Helm version from `v2.14.1` to `v2.15.0`. ([#2083](https://github.com/operator-framework/operator-sdk/pull/2083))
- Upgrade [`controller-runtime`](https://github.com/kubernetes-sigs/controller-runtime) version from `v0.2.0` to `v0.3.0`. ([#2083](https://github.com/operator-framework/operator-sdk/pull/2083))
- Upgrade [`controller-tools`](https://github.com/kubernetes-sigs/controller-tools) version from `v0.2.1+git` to `v0.2.2`. ([#2083](https://github.com/operator-framework/operator-sdk/pull/2083))
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this be communicated as a breaking change to SDK users? Or even be in the CHANGELOG at all?

I don't think they're expected to use controller-tools as a dependency.
https://github.com/operator-framework/operator-sdk/blob/master/internal/scaffold/go_mod.go#L38-L69

That's more for the SDK CLI's internal use.

Copy link
Member Author

Choose a reason for hiding this comment

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

It isn't listed as a breaking change unless I screwed up the markdown. I included it because it has some fixes that affect CRD generation.

I could either remove it altogether or add a link to the v0.2.2 tag to link it to the controller-tools release notes.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ah you're right. I misread the raw markdown for the prefix **Breaking change:** and thought this was it's own section like we had in the last release.

But yeah we should link to the release notes if we want to highlight the CRD generation bug fixes.
Same for the controller-runtime release notes.

Copy link
Contributor

Choose a reason for hiding this comment

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

Because to (most?) SDK users who aren't using controller-tools directly it won't be clear why this version bump is important.

Copy link
Member Author

Choose a reason for hiding this comment

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

Agreed. I’ll make a follow-up with this and @estroz’s suggestion.


### Deprecated

Expand Down
9 changes: 4 additions & 5 deletions doc/dev/release.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,8 @@ $ git checkout -b release-v1.3.0
Commit the following changes:

- `version/version.go`: update `Version` to `v1.3.0`.
- `internal/scaffold/go_mod.go`, in the `replace` block for `github.com/operator-framework/operator-sdk`:
- Add the following `replace` line to the bottom of `go.mod`: `replace github.com/operator-framework/operator-sdk => github.com/operator-framework/operator-sdk v1.3.0`.
- If a `replace` line already exists, change the version to `v1.3.0`.
- `internal/scaffold/go_mod.go`, in the `require` block for `github.com/operator-framework/operator-sdk`:
- Change the version for `github.com/operator-framework/operator-sdk` from `master` to `v1.3.0`.
- `internal/scaffold/helm/go_mod.go`: same as for `internal/scaffold/go_mod.go`.
- `internal/scaffold/ansible/go_mod.go`: same as for `internal/scaffold/go_mod.go`.
- `CHANGELOG.md`: update the `## Unreleased` header to `## v1.3.0`.
Expand Down Expand Up @@ -237,8 +236,8 @@ Once this tag passes CI, go to step 3. For more info on tagging, see the [releas
Check out a new branch from master (or use your `release-v1.3.0` branch) and commit the following changes:

- `version/version.go`: update `Version` to `v1.3.0+git`.
- `internal/scaffold/go_mod.go`, in the `replace` block for `github.com/operator-framework/operator-sdk`:
- Remove the `replace` line at the bottom of `go.mod`: `replace github.com/operator-framework/operator-sdk => github.com/operator-framework/operator-sdk v1.3.0`.
- `internal/scaffold/go_mod.go`, in the `require` block for `github.com/operator-framework/operator-sdk`:
- Change the version for `github.com/operator-framework/operator-sdk` from `v1.3.0` to `master`.
- `internal/scaffold/helm/go_mod.go`: same as for `internal/scaffold/go_mod.go`.
- `internal/scaffold/ansible/go_mod.go`: same as for `internal/scaffold/go_mod.go`.
- `CHANGELOG.md`: add the following as a new set of headers above `## v1.3.0`:
Expand Down
127 changes: 42 additions & 85 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,128 +3,85 @@ module github.com/operator-framework/operator-sdk
go 1.13

require (
cloud.google.com/go v0.37.2 // indirect
contrib.go.opencensus.io/exporter/ocagent v0.4.12 // indirect
github.com/Azure/go-autorest v11.7.0+incompatible // indirect
github.com/DATA-DOG/go-sqlmock v1.3.3 // indirect
github.com/MakeNowJust/heredoc v0.0.0-20171113091838-e9091a26100e // indirect
github.com/Masterminds/goutils v1.1.0 // indirect
github.com/Masterminds/semver v1.4.2 // indirect
github.com/Masterminds/sprig v0.0.0-20190301161902-9f8fceff796f // indirect
github.com/PuerkitoBio/purell v1.1.1 // indirect
github.com/Masterminds/semver v1.5.0 // indirect
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
github.com/blang/semver v3.5.1+incompatible
github.com/chai2010/gettext-go v0.0.0-20170215093142-bf70f2a70fb1 // indirect
github.com/coreos/bbolt v1.3.3 // indirect
github.com/coreos/go-semver v0.2.0
github.com/coreos/prometheus-operator v0.29.0
github.com/cyphar/filepath-securejoin v0.2.2 // indirect
github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c // indirect
github.com/elazarl/goproxy v0.0.0-20190421051319-9d40249d3c2f // indirect
github.com/elazarl/goproxy/ext v0.0.0-20190421051319-9d40249d3c2f // indirect
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect
github.com/fatih/camelcase v1.0.0 // indirect
github.com/ghodss/yaml v1.0.0
github.com/ghodss/yaml v1.0.1-0.20180820084758-c7ce16629ff4
github.com/go-logr/logr v0.1.0
github.com/go-logr/zapr v0.1.1
github.com/go-openapi/swag v0.19.0 // indirect
github.com/go-sql-driver/mysql v1.4.1 // indirect
github.com/gobuffalo/packr v1.30.1 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/google/uuid v1.1.1 // indirect
github.com/hashicorp/golang-lru v0.5.1 // indirect
github.com/huandu/xstrings v1.2.0 // indirect
github.com/iancoleman/strcase v0.0.0-20180726023541-3605ed457bf7
github.com/jmoiron/sqlx v1.2.0 // indirect
github.com/lib/pq v1.1.1 // indirect
github.com/mailru/easyjson v0.0.0-20190403194419-1ea4449da983 // indirect
github.com/lib/pq v1.2.0 // indirect
github.com/markbates/inflect v1.0.4
github.com/martinlindhe/base36 v0.0.0-20180729042928-5cda0030da17
github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a
github.com/mattn/go-isatty v0.0.8
github.com/mitchellh/copystructure v1.0.0 // indirect
github.com/mitchellh/go-homedir v1.1.0
github.com/mitchellh/go-wordwrap v1.0.0 // indirect
github.com/mitchellh/mapstructure v1.1.2
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
github.com/operator-framework/operator-lifecycle-manager v0.0.0-20190128024246-5eb7ae5bdb7a
github.com/operator-framework/operator-lifecycle-manager v0.0.0-20190605231540-b8a4faf68e36
github.com/operator-framework/operator-registry v1.1.1
github.com/pborman/uuid v1.2.0
github.com/pelletier/go-toml v1.3.0 // indirect
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
github.com/pkg/errors v0.8.1
github.com/prometheus/client_golang v1.0.0
github.com/rogpeppe/go-internal v1.3.0
github.com/rubenv/sql-migrate v0.0.0-20190618074426-f4d34eae5a5c // indirect
github.com/rogpeppe/go-internal v1.5.0
github.com/rubenv/sql-migrate v0.0.0-20191022111038-5cdff0d8cc42 // indirect
github.com/sergi/go-diff v1.0.0
github.com/sirupsen/logrus v1.4.2
github.com/spf13/afero v1.2.2
github.com/spf13/cobra v0.0.5
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.3
github.com/spf13/viper v1.4.0
github.com/stretchr/testify v1.3.0
github.com/technosophos/moniker v0.0.0-20180509230615-a5dbd03a2245 // indirect
github.com/xlab/handysort v0.0.0-20150421192137-fb3537ed64a1 // indirect
github.com/ziutek/mymysql v1.5.4 // indirect
go.etcd.io/bbolt v1.3.3 // indirect
go.uber.org/zap v1.10.0
golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c
google.golang.org/api v0.3.2 // indirect
google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107 // indirect
golang.org/x/tools v0.0.0-20191018212557-ed542cd5b28a
gopkg.in/gorp.v1 v1.7.2 // indirect
gopkg.in/square/go-jose.v2 v2.3.0 // indirect
gopkg.in/yaml.v2 v2.2.2
k8s.io/api v0.0.0-20190918155943-95b840bb6a1f
k8s.io/apiextensions-apiserver v0.0.0-20190918161926-8f644eb6e783
k8s.io/apimachinery v0.0.0-20190913080033-27d36303b655
k8s.io/cli-runtime v0.0.0-20181213153952-835b10687cb6
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
k8s.io/cloud-provider v0.0.0-00010101000000-000000000000 // indirect
k8s.io/code-generator v0.0.0-20190311093542-50b561225d70
k8s.io/gengo v0.0.0-20190327210449-e17681d19d3a
k8s.io/helm v2.14.1+incompatible
k8s.io/api v0.0.0
k8s.io/apiextensions-apiserver v0.0.0
k8s.io/apimachinery v0.0.0
k8s.io/cli-runtime v0.0.0
k8s.io/client-go v11.0.0+incompatible
k8s.io/code-generator v0.0.0
k8s.io/gengo v0.0.0-20191010091904-7fa3014cb28f
k8s.io/helm v2.15.0+incompatible
k8s.io/klog v0.3.3
k8s.io/kube-openapi v0.0.0-20190401085232-94e1e7b7574c
k8s.io/kube-openapi v0.0.0-20190918143330-0270cf2f1c1d
k8s.io/kube-state-metrics v1.7.2
k8s.io/kubernetes v1.14.2
sigs.k8s.io/controller-runtime v0.2.0
sigs.k8s.io/controller-tools v0.2.0
sigs.k8s.io/kustomize v2.0.3+incompatible // indirect
vbom.ml/util v0.0.0-20180919145318-efcd4e0f9787 // indirect
k8s.io/kubernetes v1.15.4
sigs.k8s.io/controller-runtime v0.3.0
sigs.k8s.io/controller-tools v0.2.2
)

// Pinned to kubernetes-1.14.1
// Pinned to kubernetes-1.15.4
replace (
k8s.io/api => k8s.io/api v0.0.0-20190409021203-6e4e0e4f393b
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.0.0-20190409022649-727a075fdec8
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d
k8s.io/apiserver => k8s.io/apiserver v0.0.0-20190409021813-1ec86e4da56c
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20190409023024-d644b00f3b79
k8s.io/client-go => k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
k8s.io/cloud-provider => k8s.io/cloud-provider v0.0.0-20190409023720-1bc0c81fa51d
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20190311093542-50b561225d70
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.0.0-20190409022021-00b8e31abe9d
k8s.io/kube-openapi => k8s.io/kube-openapi v0.0.0-20190510232812-a01b7d5d6c22
k8s.io/kubernetes => k8s.io/kubernetes v1.14.1
k8s.io/api => k8s.io/api v0.0.0-20190918195907-bd6ac527cfd2
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.0.0-20190918201827-3de75813f604
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190817020851-f2f3a405f61d
k8s.io/apiserver => k8s.io/apiserver v0.0.0-20190918200908-1e17798da8c1
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20190918202139-0b14c719ca62
k8s.io/client-go => k8s.io/client-go v0.0.0-20190918200256-06eb1244587a
k8s.io/cloud-provider => k8s.io/cloud-provider v0.0.0-20190918203125-ae665f80358a
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.0.0-20190918202959-c340507a5d48
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20190612205613-18da4a14b22b
k8s.io/component-base => k8s.io/component-base v0.0.0-20190918200425-ed2f0867c778
k8s.io/cri-api => k8s.io/cri-api v0.0.0-20190817025403-3ae76f584e79
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.0.0-20190918203248-97c07dcbb623
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.0.0-20190918201136-c3a845f1fbb2
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.0.0-20190918202837-c54ce30c680e
k8s.io/kube-proxy => k8s.io/kube-proxy v0.0.0-20190918202429-08c8357f8e2d
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.0.0-20190918202713-c34a54b3ec8e
k8s.io/kubelet => k8s.io/kubelet v0.0.0-20190918202550-958285cf3eef
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.0.0-20190918203421-225f0541b3ea
k8s.io/metrics => k8s.io/metrics v0.0.0-20190918202012-3c1ca76f5bda
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.0.0-20190918201353-5cc279503896
)

replace (
// Indirect operator-sdk dependencies use git.apache.org, which is frequently
// down. The github mirror should be used instead.
// Locking to a specific version (from 'go mod graph'):
git.apache.org/thrift.git => github.com/apache/thrift v0.0.0-20180902110319-2566ecd5d999
github.com/operator-framework/operator-lifecycle-manager => github.com/operator-framework/operator-lifecycle-manager v0.0.0-20190605231540-b8a4faf68e36

// This replacement is required because various SDK dependencies
// depend on different versions of github.com/ugorji/go and
// github.com/ugorji/go/codec that conflict and break Go tooling
// due to the go.mod changes that have occurred recently in
// github.com/ugorji/go and github.com/ugorji/go/codec.
// See: https://github.com/ugorji/go/issues/299
github.com/ugorji/go => github.com/ugorji/go v1.1.7
github.com/ugorji/go/codec => github.com/ugorji/go/codec v1.1.7
)

// Remove when controller-tools v0.2.2 is released
// Required for the bugfix https://github.com/kubernetes-sigs/controller-tools/pull/322
replace sigs.k8s.io/controller-tools => sigs.k8s.io/controller-tools v0.2.2-0.20190919011008-6ed4ff330711
Loading