Skip to content

Commit

Permalink
Merge pull request kubernetes-csi#109 from gnufied/ocp-rebase-resizer
Browse files Browse the repository at this point in the history
Bug 1855644: rebase resizer against 1.0 branch
  • Loading branch information
openshift-merge-robot committed Aug 21, 2020
2 parents e622a07 + 541911d commit 32dff4c
Show file tree
Hide file tree
Showing 1,370 changed files with 125,530 additions and 130,382 deletions.
1 change: 1 addition & 0 deletions .cloudbuild.sh
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
FROM gcr.io/distroless/static:latest
LABEL maintainers="Kubernetes Authors"
LABEL description="CSI External Resizer"
ARG binary=./bin/csi-resizer

COPY ./bin/csi-resizer csi-resizer
COPY ${binary} csi-resizer
ENTRYPOINT ["/csi-resizer"]
13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,9 @@ control-plane CSI RPC call or via node CSI RPC call or both as a two step proces

This information reflects the head of this branch.

| Compatible with CSI Version | Container Image | Recommended K8s Version |
| ------------------------------------------------------------------------------------------ | -------------------------------| --------------- |
| [CSI Spec v1.2.0](https://github.com/container-storage-interface/spec/releases/tag/v1.2.0) | quay.io/k8scsi/csi-resizer | 1.16 |


| Compatible with CSI Version | Container Image | [Recommended K8s Version](https://kubernetes-csi.github.io/docs/kubernetes-compatibility.html#recommended-version) |
| ------------------------------------------------------------------------------------------ | -------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| [CSI Spec v1.2.0](https://github.com/container-storage-interface/spec/releases/tag/v1.2.0) | quay.io/k8scsi/csi-resizer | 1.16 |

## Feature status

Expand Down Expand Up @@ -68,15 +66,14 @@ Note that the external-resizer does not scale with more replicas. Only one exter

* All glog / klog arguments are supported, such as `-v <log level>` or `-alsologtostderr`.


## Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/).

You can reach the maintainers of this project at:

- [Slack](http://slack.k8s.io/)
- [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-dev)
* [Slack](http://slack.k8s.io/)
* [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-dev)

### Code of conduct

Expand Down
1 change: 1 addition & 0 deletions cloudbuild.yaml
35 changes: 31 additions & 4 deletions cmd/csi-resizer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,14 @@ import (
"context"
"flag"
"fmt"
"k8s.io/client-go/util/workqueue"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
"os"
"time"

"k8s.io/client-go/util/workqueue"

"github.com/kubernetes-csi/csi-lib-utils/leaderelection"
"github.com/kubernetes-csi/external-resizer/pkg/controller"
"github.com/kubernetes-csi/external-resizer/pkg/resizer"
Expand Down Expand Up @@ -53,6 +57,11 @@ var (
metricsAddress = flag.String("metrics-address", "", "The TCP network address where the prometheus metrics endpoint will listen (example: `:8080`). The default is empty string, which means metrics endpoint is disabled.")
metricsPath = flag.String("metrics-path", "/metrics", "The HTTP path where prometheus metrics will be exposed. Default is `/metrics`.")

kubeAPIQPS = flag.Float64("kube-api-qps", 5, "QPS to use while communicating with the kubernetes apiserver. Defaults to 5.0.")
kubeAPIBurst = flag.Int("kube-api-burst", 10, "Burst to use while communicating with the kubernetes apiserver. Defaults to 10.")

handleVolumeInUseError = flag.Bool("handle-volume-inuse-error", true, "Flag to turn on/off capability to handle volume in use error in resizer controller. Defaults to true if not set.")

version = "unknown"
)

Expand All @@ -67,7 +76,21 @@ func main() {
}
klog.Infof("Version : %s", version)

kubeClient, err := util.NewK8sClient(*master, *kubeConfig)
var config *rest.Config
var err error
if *master != "" || *kubeConfig != "" {
config, err = clientcmd.BuildConfigFromFlags(*master, *kubeConfig)
} else {
config, err = rest.InClusterConfig()
}
if err != nil {
klog.Fatal(err.Error())
}

config.QPS = float32(*kubeAPIQPS)
config.Burst = *kubeAPIBurst

kubeClient, err := kubernetes.NewForConfig(config)
if err != nil {
klog.Fatal(err.Error())
}
Expand All @@ -88,7 +111,7 @@ func main() {
resizerName := csiResizer.Name()
rc := controller.NewResizeController(resizerName, csiResizer, kubeClient, *resyncPeriod, informerFactory,
workqueue.NewItemExponentialFailureRateLimiter(*retryIntervalStart, *retryIntervalMax),
)
*handleVolumeInUseError)
run := func(ctx context.Context) {
informerFactory.Start(wait.NeverStop)
rc.Run(*workers, ctx)
Expand All @@ -99,7 +122,11 @@ func main() {
run(context.TODO())
} else {
lockName := "external-resizer-" + util.SanitizeName(resizerName)
le := leaderelection.NewLeaderElection(kubeClient, lockName, run)
leKubeClient, err := kubernetes.NewForConfig(config)
if err != nil {
klog.Fatal(err.Error())
}
le := leaderelection.NewLeaderElection(leKubeClient, lockName, run)

if *leaderElectionNamespace != "" {
le.WithNamespace(*leaderElectionNamespace)
Expand Down
7 changes: 5 additions & 2 deletions deploy/kubernetes/rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,16 @@ rules:
# verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "update", "patch"]
verbs: ["get", "list", "watch", "patch"]
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumeclaims/status"]
verbs: ["update", "patch"]
verbs: ["patch"]
- apiGroups: [""]
resources: ["events"]
verbs: ["list", "watch", "create", "update", "patch"]
Expand Down
52 changes: 26 additions & 26 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,54 +4,54 @@ go 1.12

require (
github.com/container-storage-interface/spec v1.2.0
github.com/imdario/mergo v0.3.7 // indirect
github.com/imdario/mergo v0.3.9 // indirect
github.com/kubernetes-csi/csi-lib-utils v0.7.0
google.golang.org/grpc v1.26.0
k8s.io/api v0.17.0
k8s.io/apimachinery v0.17.1-beta.0
k8s.io/client-go v0.17.0
k8s.io/csi-translation-lib v0.17.0
google.golang.org/grpc v1.28.0
k8s.io/api v0.19.0-rc.2
k8s.io/apimachinery v0.19.0-rc.2
k8s.io/client-go v0.19.0-rc.2
k8s.io/csi-translation-lib v0.19.0-rc.2
k8s.io/klog v1.0.0
)

replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.17.0
replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.19.0-rc.2

replace k8s.io/apiserver => k8s.io/apiserver v0.17.0
replace k8s.io/apiserver => k8s.io/apiserver v0.19.0-rc.2

replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.17.0
replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.19.0-rc.2

replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.17.0
replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.19.0-rc.2

replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.17.0
replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.19.0-rc.2

replace k8s.io/code-generator => k8s.io/code-generator v0.17.1-beta.0
replace k8s.io/code-generator => k8s.io/code-generator v0.19.0-rc.2

replace k8s.io/component-base => k8s.io/component-base v0.17.0
replace k8s.io/component-base => k8s.io/component-base v0.19.0-rc.2

replace k8s.io/cri-api => k8s.io/cri-api v0.17.1-beta.0
replace k8s.io/cri-api => k8s.io/cri-api v0.19.0-rc.2

replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.17.0
replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.19.0-rc.2

replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.17.0
replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.19.0-rc.2

replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.17.0
replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.19.0-rc.2

replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.17.0
replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.19.0-rc.2

replace k8s.io/kubectl => k8s.io/kubectl v0.17.0
replace k8s.io/kubectl => k8s.io/kubectl v0.19.0-rc.2

replace k8s.io/kubelet => k8s.io/kubelet v0.17.0
replace k8s.io/kubelet => k8s.io/kubelet v0.19.0-rc.2

replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.17.0
replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.19.0-rc.2

replace k8s.io/metrics => k8s.io/metrics v0.17.0
replace k8s.io/metrics => k8s.io/metrics v0.19.0-rc.2

replace k8s.io/node-api => k8s.io/node-api v0.17.0
replace k8s.io/node-api => k8s.io/node-api v0.19.0-rc.2

replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.17.0
replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.19.0-rc.2

replace k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.17.0
replace k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.19.0-rc.2

replace k8s.io/sample-controller => k8s.io/sample-controller v0.17.0
replace k8s.io/sample-controller => k8s.io/sample-controller v0.19.0-rc.2

replace k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.0.0-20190918203248-97c07dcbb623
Loading

0 comments on commit 32dff4c

Please sign in to comment.