Skip to content

Commit 56cf4a3

Browse files
authored
Merge pull request #93 from gnufied/prepare-for-10-release
Prepare for 1.0.0 release
2 parents 2f907fe + a31800b commit 56cf4a3

File tree

2 files changed

+145
-3
lines changed

2 files changed

+145
-3
lines changed

CHANGELOG-1.0.md

+135
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# Release notes for 1.0.0
2+
3+
[Documentation](https://kubernetes-csi.github.io)
4+
5+
# Changelog since v0.5.0
6+
7+
8+
## Urgent Upgrade Notes
9+
10+
### (No, really, you MUST read this before you upgrade)
11+
12+
- external-resizer will not call controller-expand if volume is in-use and can not be expanded while in-use. New RBAC rules for listing pods are required. ([#86](https://github.com/kubernetes-csi/external-resizer/pull/86), [@gnufied](https://github.com/gnufied)) . This behaviour is enabled by default but can be disabled by setting `handle-volume-inuse-error` to `false`, which would allow external-resizer to perform volume expansion without checking if volume being expanded is in-use or not([#89](https://github.com/kubernetes-csi/external-resizer/pull/89), [@saikat-royc](https://github.com/saikat-royc)). If CSI driver being used supports online expansion, it might be desirable to set `handle-volume-inuse-error` to `false` - to save costs associated with watching all pods in the cluster.
13+
- The `--csiTimeout` flag of external-resizer is obsoleted with this release. Instead `--timeout` flag has been introduced for the same purpose. This timeout is used by external-resizer to decide how long it should wait for a response from CSI driver. `timeout` value defaults to 10 seconds. From now on, the deployment templates or artifacts has to make use of `--timeout` flag instead of obsoleted `--csiTimeout` flag. ([#82](https://github.com/kubernetes-csi/external-resizer/pull/82), [@humblec](https://github.com/humblec))
14+
15+
16+
## Changes by Kind
17+
18+
### Feature
19+
20+
- Adding configurable QPS and Burst to k8s client and use a separate client for leader election. ([#91](https://github.com/kubernetes-csi/external-resizer/pull/91), [@RaunakShah](https://github.com/RaunakShah))
21+
22+
### Bug or Regression
23+
24+
- Ensure that we do not resize recently resized volumes ([#96](https://github.com/kubernetes-csi/external-resizer/pull/96), [@gnufied](https://github.com/gnufied))
25+
26+
### Uncategorized
27+
28+
- Build with Go 1.15 ([#98](https://github.com/kubernetes-csi/external-resizer/pull/98), [@pohly](https://github.com/pohly))
29+
- Publishing of images on k8s.gcr.io ([#84](https://github.com/kubernetes-csi/external-resizer/pull/84), [@pohly](https://github.com/pohly))
30+
31+
## Dependencies
32+
33+
### Added
34+
- cloud.google.com/go/bigquery: v1.0.1
35+
- cloud.google.com/go/datastore: v1.0.0
36+
- cloud.google.com/go/pubsub: v1.0.1
37+
- cloud.google.com/go/storage: v1.0.0
38+
- dmitri.shuralyov.com/gpu/mtl: 666a987
39+
- github.com/Azure/go-ansiterm: [d6e3b33](https://github.com/Azure/go-ansiterm/tree/d6e3b33)
40+
- github.com/BurntSushi/xgb: [27f1227](https://github.com/BurntSushi/xgb/tree/27f1227)
41+
- github.com/cespare/xxhash/v2: [v2.1.1](https://github.com/cespare/xxhash/v2/tree/v2.1.1)
42+
- github.com/chzyer/logex: [v1.1.10](https://github.com/chzyer/logex/tree/v1.1.10)
43+
- github.com/chzyer/readline: [2972be2](https://github.com/chzyer/readline/tree/2972be2)
44+
- github.com/chzyer/test: [a1ea475](https://github.com/chzyer/test/tree/a1ea475)
45+
- github.com/cncf/udpa/go: [269d4d4](https://github.com/cncf/udpa/go/tree/269d4d4)
46+
- github.com/docopt/docopt-go: [ee0de3b](https://github.com/docopt/docopt-go/tree/ee0de3b)
47+
- github.com/go-gl/glfw/v3.3/glfw: [12ad95a](https://github.com/go-gl/glfw/v3.3/glfw/tree/12ad95a)
48+
- github.com/google/renameio: [v0.1.0](https://github.com/google/renameio/tree/v0.1.0)
49+
- github.com/ianlancetaylor/demangle: [5e5cf60](https://github.com/ianlancetaylor/demangle/tree/5e5cf60)
50+
- github.com/moby/term: [672ec06](https://github.com/moby/term/tree/672ec06)
51+
- github.com/rogpeppe/go-internal: [v1.3.0](https://github.com/rogpeppe/go-internal/tree/v1.3.0)
52+
- go.uber.org/atomic: v1.4.0
53+
- go.uber.org/multierr: v1.1.0
54+
- go.uber.org/zap: v1.10.0
55+
- golang.org/x/image: cff245a
56+
- golang.org/x/mobile: d2bd2a2
57+
- golang.org/x/mod: c90efee
58+
- golang.org/x/xerrors: 9bdfabe
59+
- google.golang.org/protobuf: v1.24.0
60+
- gopkg.in/errgo.v2: v2.1.0
61+
- gotest.tools/v3: v3.0.2
62+
- gotest.tools: v2.2.0+incompatible
63+
- k8s.io/klog/v2: v2.2.0
64+
- rsc.io/binaryregexp: v0.2.0
65+
- sigs.k8s.io/structured-merge-diff/v4: v4.0.1
66+
67+
### Changed
68+
- cloud.google.com/go: v0.38.0 → v0.51.0
69+
- github.com/Azure/go-autorest/autorest/adal: [v0.5.0 → v0.8.2](https://github.com/Azure/go-autorest/autorest/adal/compare/v0.5.0...v0.8.2)
70+
- github.com/Azure/go-autorest/autorest/date: [v0.1.0 → v0.2.0](https://github.com/Azure/go-autorest/autorest/date/compare/v0.1.0...v0.2.0)
71+
- github.com/Azure/go-autorest/autorest/mocks: [v0.2.0 → v0.3.0](https://github.com/Azure/go-autorest/autorest/mocks/compare/v0.2.0...v0.3.0)
72+
- github.com/Azure/go-autorest/autorest: [v0.9.0 → v0.9.6](https://github.com/Azure/go-autorest/autorest/compare/v0.9.0...v0.9.6)
73+
- github.com/alecthomas/template: [a0175ee → fb15b89](https://github.com/alecthomas/template/compare/a0175ee...fb15b89)
74+
- github.com/alecthomas/units: [2efee85 → c3de453](https://github.com/alecthomas/units/compare/2efee85...c3de453)
75+
- github.com/beorn7/perks: [v1.0.0 → v1.0.1](https://github.com/beorn7/perks/compare/v1.0.0...v1.0.1)
76+
- github.com/elazarl/goproxy: [c4fc265 → 947c36d](https://github.com/elazarl/goproxy/compare/c4fc265...947c36d)
77+
- github.com/envoyproxy/go-control-plane: [5f8ba28 → v0.9.4](https://github.com/envoyproxy/go-control-plane/compare/5f8ba28...v0.9.4)
78+
- github.com/evanphx/json-patch: [v4.5.0+incompatible → v4.9.0+incompatible](https://github.com/evanphx/json-patch/compare/v4.5.0...v4.9.0)
79+
- github.com/fsnotify/fsnotify: [v1.4.7 → v1.4.9](https://github.com/fsnotify/fsnotify/compare/v1.4.7...v1.4.9)
80+
- github.com/go-kit/kit: [v0.8.0 → v0.9.0](https://github.com/go-kit/kit/compare/v0.8.0...v0.9.0)
81+
- github.com/go-logfmt/logfmt: [v0.3.0 → v0.4.0](https://github.com/go-logfmt/logfmt/compare/v0.3.0...v0.4.0)
82+
- github.com/go-logr/logr: [v0.1.0 → v0.2.0](https://github.com/go-logr/logr/compare/v0.1.0...v0.2.0)
83+
- github.com/gogo/protobuf: [65acae2 → v1.3.1](https://github.com/gogo/protobuf/compare/65acae2...v1.3.1)
84+
- github.com/golang/groupcache: [5b532d6 → 215e871](https://github.com/golang/groupcache/compare/5b532d6...215e871)
85+
- github.com/golang/mock: [v1.2.0 → v1.3.1](https://github.com/golang/mock/compare/v1.2.0...v1.3.1)
86+
- github.com/golang/protobuf: [v1.3.2 → v1.4.2](https://github.com/golang/protobuf/compare/v1.3.2...v1.4.2)
87+
- github.com/google/go-cmp: [v0.3.0 → v0.4.0](https://github.com/google/go-cmp/compare/v0.3.0...v0.4.0)
88+
- github.com/google/gofuzz: [v1.0.0 → v1.1.0](https://github.com/google/gofuzz/compare/v1.0.0...v1.1.0)
89+
- github.com/google/pprof: [3ea8567 → d4f498a](https://github.com/google/pprof/compare/3ea8567...d4f498a)
90+
- github.com/googleapis/gax-go/v2: [v2.0.4 → v2.0.5](https://github.com/googleapis/gax-go/v2/compare/v2.0.4...v2.0.5)
91+
- github.com/googleapis/gnostic: [v0.2.0 → v0.4.1](https://github.com/googleapis/gnostic/compare/v0.2.0...v0.4.1)
92+
- github.com/imdario/mergo: [v0.3.7 → v0.3.9](https://github.com/imdario/mergo/compare/v0.3.7...v0.3.9)
93+
- github.com/json-iterator/go: [v1.1.8 → v1.1.10](https://github.com/json-iterator/go/compare/v1.1.8...v1.1.10)
94+
- github.com/jstemmer/go-junit-report: [af01ea7 → v0.9.1](https://github.com/jstemmer/go-junit-report/compare/af01ea7...v0.9.1)
95+
- github.com/konsorten/go-windows-terminal-sequences: [v1.0.1 → v1.0.3](https://github.com/konsorten/go-windows-terminal-sequences/compare/v1.0.1...v1.0.3)
96+
- github.com/kr/pretty: [v0.1.0 → v0.2.0](https://github.com/kr/pretty/compare/v0.1.0...v0.2.0)
97+
- github.com/matttproud/golang_protobuf_extensions: [v1.0.1 → c182aff](https://github.com/matttproud/golang_protobuf_extensions/compare/v1.0.1...c182aff)
98+
- github.com/onsi/ginkgo: [v1.10.2 → v1.11.0](https://github.com/onsi/ginkgo/compare/v1.10.2...v1.11.0)
99+
- github.com/pkg/errors: [v0.8.1 → v0.9.1](https://github.com/pkg/errors/compare/v0.8.1...v0.9.1)
100+
- github.com/prometheus/client_golang: [v1.0.0 → v1.7.1](https://github.com/prometheus/client_golang/compare/v1.0.0...v1.7.1)
101+
- github.com/prometheus/client_model: [14fe0d1 → v0.2.0](https://github.com/prometheus/client_model/compare/14fe0d1...v0.2.0)
102+
- github.com/prometheus/common: [v0.4.1 → v0.10.0](https://github.com/prometheus/common/compare/v0.4.1...v0.10.0)
103+
- github.com/prometheus/procfs: [v0.0.2 → v0.1.3](https://github.com/prometheus/procfs/compare/v0.0.2...v0.1.3)
104+
- github.com/sirupsen/logrus: [v1.2.0 → v1.6.0](https://github.com/sirupsen/logrus/compare/v1.2.0...v1.6.0)
105+
- go.opencensus.io: v0.21.0 → v0.22.2
106+
- golang.org/x/crypto: 60c769a → 75b2880
107+
- golang.org/x/exp: 509febe → da58074
108+
- golang.org/x/lint: d0100b6 → fdd1cda
109+
- golang.org/x/net: c0dbc17 → ab34263
110+
- golang.org/x/oauth2: 0f29369 → 858c2ad
111+
- golang.org/x/sync: 1122301 → cd5d95a
112+
- golang.org/x/sys: 0732a99 → ed371f2
113+
- golang.org/x/text: v0.3.2 → v0.3.3
114+
- golang.org/x/time: 9d24e82 → 555d28b
115+
- golang.org/x/tools: 2c0ae70 → 7b8e75d
116+
- google.golang.org/api: v0.4.0 → v0.15.0
117+
- google.golang.org/appengine: v1.5.0 → v1.6.5
118+
- google.golang.org/genproto: 5c49e3e → cb27e3a
119+
- google.golang.org/grpc: v1.26.0 → v1.28.0
120+
- gopkg.in/check.v1: 788fd78 → 41f04d3
121+
- gopkg.in/yaml.v2: v2.2.4 → v2.2.8
122+
- honnef.co/go/tools: ea95bdf → v0.0.1-2019.2.3
123+
- k8s.io/api: v0.17.0 → v0.19.0
124+
- k8s.io/apimachinery: v0.17.1-beta.0 → v0.19.0
125+
- k8s.io/client-go: v0.17.0 → v0.19.0
126+
- k8s.io/cloud-provider: v0.17.0 → v0.19.0
127+
- k8s.io/component-base: v0.17.0 → v0.19.0
128+
- k8s.io/csi-translation-lib: 97c07dc → v0.19.0
129+
- k8s.io/gengo: 0689ccc → 3a45101
130+
- k8s.io/kube-openapi: 30be4d1 → 6aeccd4
131+
- k8s.io/utils: e782cd3 → d5654de
132+
- sigs.k8s.io/yaml: v1.1.0 → v1.2.0
133+
134+
### Removed
135+
_Nothing has changed._

README.md

+10-3
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,10 @@ control-plane CSI RPC call or via node CSI RPC call or both as a two step proces
1414

1515
This information reflects the head of this branch.
1616

17-
| Compatible with CSI Version | Container Image | [Recommended K8s Version](https://kubernetes-csi.github.io/docs/kubernetes-compatibility.html#recommended-version) |
18-
| ------------------------------------------------------------------------------------------ | -------------------------- | ------------------------------------------------------------------------------------------------------------------ |
19-
| [CSI Spec v1.2.0](https://github.com/container-storage-interface/spec/releases/tag/v1.2.0) | quay.io/k8scsi/csi-resizer | 1.16 |
17+
| Compatible with CSI Version | Container Image | [Min K8s Version](https://kubernetes-csi.github.io/docs/kubernetes-compatibility.html#minimum-version) | [Recommended K8s Version](https://kubernetes-csi.github.io/docs/kubernetes-compatibility.html#recommended-version) |
18+
| ------------------------------------------------------------------------------------------ | -------------------------------| --------------- | ------------- |
19+
| [CSI Spec v1.2.0](https://github.com/container-storage-interface/spec/releases/tag/v1.2.0) | k8s.gcr.io/sig-storage/csi-provisioner | 1.16 | 1.16 |
20+
2021

2122
## Feature status
2223

@@ -46,6 +47,10 @@ Note that the external-resizer does not scale with more replicas. Only one exter
4647

4748
* `--timeout <duration>`: Timeout of all calls to CSI driver. It should be set to value that accommodates majority of `ControllerExpandVolume` calls. 10 seconds is used by default.
4849

50+
* `-kube-api-burst <int>` : Burst to use while communicating with the kubernetes apiserver. Defaults to 10. (default 10).
51+
52+
* `-kube-api-qps <float>` : QPS to use while communicating with the kubernetes apiserver. Defaults to 5.0. (default 5).
53+
4954
* `--retry-interval-start`: The starting value of the exponential backoff for failures. 1 second is used by default.
5055

5156
* `--retry-interval-max`: The exponential backoff maximum value. 5 minutes is used by default.
@@ -56,6 +61,8 @@ Note that the external-resizer does not scale with more replicas. Only one exter
5661

5762
* `--metrics-path`: The HTTP path where prometheus metrics will be exposed. Default is `/metrics`.
5863

64+
* `--handle-volume-inuse-error <true/false>`: Enable or disable volume-in-use error handling in external-resizer. Defaults to `true` and resize-controller will watch for all pods in all namespaces to check if PVC being expanded is in-use by a pod or not before retrying volume expansion if CSI driver throws volume-in-use error. Setting this to `false` will cause external-resizer to ignore volume-in-use error and resize-controller will retry volume expansion even if volume is already in use by a pod and CSI driver does not support expansion of in-use volumes. If CSI driver being used supports online expansion, it might be desirable to set `handle-volume-inuse-error` to `false` - to save costs associated with watching all pods in the cluster.
65+
5966
#### Other recognized arguments
6067

6168
* `--kubeconfig <path>`: Path to Kubernetes client configuration that the external-resizer uses to connect to Kubernetes API server. When omitted, default token provided by Kubernetes will be used. This option is useful only when the external-resizer does not run as a Kubernetes pod, e.g. for debugging. Either this or `--master` needs to be set if the external-resizer is being run out of cluster.

0 commit comments

Comments
 (0)