Skip to content

Commit 1d797f0

Browse files
authored
CCM Release 0.12.0 (#359)
1 parent a0633dd commit 1d797f0

File tree

2,242 files changed

+237315
-215101
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,242 files changed

+237315
-215101
lines changed

README.md

+7-4
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,18 @@ cloud-provider specific code out of the Kubernetes codebase.
2222

2323
## Compatibility matrix
2424

25-
| | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 |
26-
|----------|------------------------|------------------------|------------------------|
27-
| <=v 0.7 ||||
28-
| \>=v 0.8 ||||
25+
| | Kubernetes 1.16 | Kubernetes 1.17 | Kubernetes 1.18 | Kubernetes 1.19 | Kubernetes 1.20 |
26+
|-----------|------------------------|------------------------|------------------------|------------------------|------------------------|
27+
| \>=v 0.9 ||||||
28+
| \>=v 0.10 ||||||
29+
| \>=v 0.11 ||||||
30+
| \>=v 0.12 ||||||
2931

3032
Key:
3133

3234
* `` oci-cloud-controller-manager is fully compatible.
3335
* `` oci-cloud-controller-manager is not compatible.
36+
* `` Not tested with given version.
3437

3538
## Implementation
3639
Currently `oci-cloud-controller-manager` implements:

cmd/oci-csi-controller-driver/csioptions/csioptions.go

+10
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ type CSIOptions struct {
3939
Resync time.Duration
4040
Timeout time.Duration
4141
FeatureGates map[string]bool
42+
FinalizerThreads uint
43+
MetricsAddress string
44+
MetricsPath string
45+
ExtraCreateMetadata bool
46+
ReconcileSync time.Duration
4247
}
4348

4449
//NewCSIOptions initializes the flag
@@ -61,6 +66,11 @@ func NewCSIOptions() *CSIOptions {
6166
StrictTopology: *flag.Bool("csi-strict-topology", false, "Passes only selected node topology to CreateVolume Request, unlike default behavior of passing aggregated cluster topologies that match with topology keys of the selected node."),
6267
Resync: *flag.Duration("csi-resync", 10*time.Minute, "Resync interval of the controller."),
6368
Timeout: *flag.Duration("csi-timeout", 15*time.Second, "Timeout for waiting for attaching or detaching the volume."),
69+
FinalizerThreads: *flag.Uint("cloning-protection-threads", 1, "Number of simultaniously running threads, handling cloning finalizer removal"),
70+
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."),
71+
MetricsPath: *flag.String("metrics-path", "/metrics", "The HTTP path where prometheus metrics will be exposed. Default is `/metrics`."),
72+
ExtraCreateMetadata: *flag.Bool("extra-create-metadata", false, "If set, add pv/pvc metadata to plugin create requests as parameters."),
73+
ReconcileSync: *flag.Duration("reconcile-sync", 1*time.Minute, "Resync interval of the VolumeAttachment reconciler."),
6474
}
6575
return &csioptions
6676
}

docs/load-balancer-annotations.md

+9-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
This file defines a list of [Service][4] `type: LoadBalancer` annotations which are
44
supported by the `oci-cloud-controller-manager`.
55

6-
All annotations are prefixed with `service.beta.kubernetes.io/`. For example:
6+
All annotations are prefixed with `service.beta.kubernetes.io/` or `oci.oraclecloud.com/`. For example:
77

88
```yaml
99
kind: Service
@@ -14,6 +14,7 @@ metadata:
1414
service.beta.kubernetes.io/oci-load-balancer-shape: "400Mbps"
1515
service.beta.kubernetes.io/oci-load-balancer-subnet1: "ocid..."
1616
service.beta.kubernetes.io/oci-load-balancer-subnet2: "ocid..."
17+
oci.oraclecloud.com/oci-network-security-groups: "ocid1..."
1718
spec:
1819
...
1920
```
@@ -33,10 +34,12 @@ spec:
3334
| `oci-load-balancer-health-check-interval` | The interval between [health checks][6] requests, in milliseconds. | `10000` |
3435
| `oci-load-balancer-connection-idle-timeout` | The maximum idle time, in seconds, allowed between two successive receive or two successive send operations between the client and backend servers. | `300` for TCP listeners, `60` for HTTP listeners |
3536
| `oci-load-balancer-security-list-management-mode` | Specifies the [security list mode](##security-list-management-modes) (`"All"`, `"Frontend"`,`"None"`) to configure how security lists are managed by the CCM. | `"All"`
36-
| `oci-load-balancer-backend-protocol` | Specify protocol on which the listener accepts connection requests. To get a list of valid protocols, use the [`ListProtocols`][5] operation. | `"TCP"`
37-
38-
Note: Only one annotation `oci-load-balancer-subnet1` should be passed if it is a regional subnet.
37+
| `oci-load-balancer-backend-protocol` | Specifies protocol on which the listener accepts connection requests. To get a list of valid protocols, use the [`ListProtocols`][5] operation. | `"TCP"`
38+
| `oci-network-security-groups` | Specifies Network Security Groups' OCIDs to be associated with the loadbalancer. Please refer [here][8] for NSG details. | `N/A`
3939

40+
Note:
41+
- Only one annotation `oci-load-balancer-subnet1` should be passed if it is a regional subnet.
42+
- `oci-network-security-groups` uses `oci.oraclecloud.com/` as prefix.
4043
## TLS-related
4144

4245
| Name | Description | Default |
@@ -61,3 +64,5 @@ Note:
6164
[4]: https://kubernetes.io/docs/concepts/services-networking/service/
6265
[5]: https://docs.cloud.oracle.com/iaas/api/#/en/loadbalancer/20170115/LoadBalancerProtocol/ListProtocols
6366
[6]: https://docs.cloud.oracle.com/en-us/iaas/api/#/en/loadbalancer/20170115/HealthChecker/
67+
[7]: https://docs.oracle.com/en-us/iaas/api/#/en/loadbalancer/20170115/LoadBalancerPolicy/ListPolicies
68+
[8]: https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/networksecuritygroups.htm

docs/tutorial-ssl-backendset.md

-105
This file was deleted.

go.mod

+48-68
Original file line numberDiff line numberDiff line change
@@ -4,84 +4,64 @@ go 1.12
44

55
replace (
66
github.com/docker/docker => github.com/docker/engine v0.0.0-20181106193140-f5749085e9cb
7-
k8s.io/api => k8s.io/api v0.0.0-20190620084959-7cf5895f2711
8-
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.0.0-20190620085554-14e95df34f1f
9-
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719
10-
k8s.io/apiserver => k8s.io/apiserver v0.0.0-20190620085212-47dc9a115b18
11-
k8s.io/cli-runtime => k8s.io/cli-runtime v0.0.0-20190620085706-2090e6d8f84c
12-
k8s.io/client-go => k8s.io/client-go v0.0.0-20190620085101-78d2af792bab
13-
k8s.io/cloud-provider => k8s.io/cloud-provider v0.0.0-20190620090043-8301c0bda1f0
14-
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.0.0-20190620090013-c9a0fc045dc1
15-
k8s.io/code-generator => k8s.io/code-generator v0.0.0-20190612205613-18da4a14b22b
16-
k8s.io/component-base => k8s.io/component-base v0.0.0-20190620085130-185d68e6e6ea
17-
k8s.io/cri-api => k8s.io/cri-api v0.0.0-20190531030430-6117653b35f1
18-
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.0.0-20190620090116-299a7b270edc
7+
github.com/prometheus/client_golang => github.com/prometheus/client_golang v0.9.4
8+
google.golang.org/grpc => google.golang.org/grpc v1.26.0
9+
k8s.io/api => k8s.io/api v0.16.4
10+
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.16.4
11+
k8s.io/apimachinery => k8s.io/apimachinery v0.16.4
12+
k8s.io/apiserver => k8s.io/apiserver v0.16.4
13+
k8s.io/cli-runtime => k8s.io/cli-runtime v0.16.4
14+
k8s.io/client-go => k8s.io/client-go v0.16.4
15+
k8s.io/cloud-provider => k8s.io/cloud-provider v0.16.4
16+
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.16.4
17+
k8s.io/code-generator => k8s.io/code-generator v0.16.4
18+
k8s.io/component-base => k8s.io/component-base v0.17.0
19+
k8s.io/cri-api => k8s.io/cri-api v0.16.4
20+
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.17.0
1921
k8s.io/klog => github.com/mrunalpagnis/klog v0.0.0-00000000000000-ec66c0a95a3fe542357d0366ad25f152cce66b8b
20-
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.0.0-20190620085325-f29e2b4a4f84
21-
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.0.0-20190620085942-b7f18460b210
22-
k8s.io/kube-proxy => k8s.io/kube-proxy v0.0.0-20190620085809-589f994ddf7f
23-
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.0.0-20190620085912-4acac5405ec6
24-
k8s.io/kubelet => k8s.io/kubelet v0.0.0-20190620085838-f1cb295a73c9
25-
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.0.0-20190620090156-2138f2c9de18
26-
k8s.io/metrics => k8s.io/metrics v0.0.0-20190620085625-3b22d835f165
27-
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.0.0-20190620085408-1aef9010884e
22+
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.16.4
23+
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.16.4
24+
k8s.io/kube-proxy => k8s.io/kube-proxy v0.16.4
25+
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.16.4
26+
k8s.io/kubectl => k8s.io/kubectl v0.16.4
27+
k8s.io/kubelet => k8s.io/kubelet v0.16.4
28+
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.16.4
29+
k8s.io/metrics => k8s.io/metrics v0.16.4
30+
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.16.4
2831
)
2932

3033
require (
3134
github.com/NYTimes/gziphandler v1.0.1 // indirect
32-
github.com/VividCortex/gohistogram v1.0.0 // indirect
33-
github.com/container-storage-interface/spec v1.1.0
34-
github.com/docker/distribution v0.0.0-20180720172123-0dae0957e5fe // indirect
35-
github.com/fatih/camelcase v1.0.0 // indirect
36-
github.com/ghodss/yaml v1.0.0 // indirect
37-
github.com/go-kit/kit v0.9.0 // indirect
38-
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef // indirect
39-
github.com/golang/mock v1.2.0 // indirect
40-
github.com/golang/protobuf v1.3.1
41-
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c // indirect
42-
github.com/google/go-cmp v0.3.1 // indirect
43-
github.com/google/go-querystring v1.0.0 // indirect
44-
github.com/googleapis/gnostic v0.2.0 // indirect
45-
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
46-
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect
47-
github.com/hashicorp/golang-lru v0.5.1 // indirect
48-
github.com/imdario/mergo v0.3.7 // indirect
49-
github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
50-
github.com/kubernetes-csi/csi-lib-utils v0.6.1
51-
github.com/kubernetes-csi/csi-test v2.0.0+incompatible // indirect
52-
github.com/kubernetes-csi/external-attacher v2.0.0+incompatible // indirect
53-
github.com/kubernetes-csi/external-provisioner v1.4.0 // indirect
54-
github.com/kubernetes-csi/external-snapshotter v1.0.1 // indirect
55-
github.com/miekg/dns v1.1.17 // indirect
35+
github.com/container-storage-interface/spec v1.2.0
36+
github.com/golang/protobuf v1.4.2
37+
github.com/kubernetes-csi/csi-lib-utils v0.7.1
5638
github.com/munnerz/goautoneg v0.0.0-20190414153302-2ae31c8b6b30 // indirect
57-
github.com/onsi/ginkgo v1.8.0
58-
github.com/onsi/gomega v1.5.0
59-
github.com/opencontainers/go-digest v1.0.0-rc1 // indirect
39+
github.com/onsi/ginkgo v1.14.0
40+
github.com/onsi/gomega v1.10.1
6041
github.com/oracle/oci-go-sdk/v31 v31.0.0
61-
github.com/pkg/errors v0.8.0
62-
github.com/prometheus/client_golang v0.9.2
63-
github.com/spf13/cobra v0.0.5 // indirect
64-
github.com/spf13/pflag v1.0.3
65-
github.com/spf13/viper v1.3.2
66-
go.uber.org/atomic v1.3.2 // indirect
67-
go.uber.org/zap v1.9.1
68-
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297
69-
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect
70-
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
42+
github.com/pkg/errors v0.9.1
43+
github.com/prometheus/client_golang v1.4.1
44+
github.com/spf13/cobra v1.0.0 // indirect
45+
github.com/spf13/pflag v1.0.5
46+
github.com/spf13/viper v1.6.3
47+
go.uber.org/multierr v1.6.0 // indirect
48+
go.uber.org/zap v1.16.0
49+
golang.org/x/net v0.0.0-20200707034311-ab3426394381
7150
google.golang.org/appengine v1.6.2 // indirect
72-
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7 // indirect
73-
google.golang.org/grpc v1.19.1
51+
google.golang.org/grpc v1.29.0
7452
gopkg.in/inf.v0 v0.9.1 // indirect
75-
gopkg.in/natefinch/lumberjack.v2 v2.0.0-20170531160350-a96e63847dc3
53+
gopkg.in/natefinch/lumberjack.v2 v2.0.0
7654
gopkg.in/square/go-jose.v2 v2.3.1 // indirect
77-
gopkg.in/yaml.v2 v2.2.2
78-
k8s.io/api v0.0.0
79-
k8s.io/apimachinery v0.0.0
55+
gopkg.in/yaml.v2 v2.3.0
56+
k8s.io/api v0.17.15
57+
k8s.io/apimachinery v0.17.15
8058
k8s.io/client-go v11.0.0+incompatible
81-
k8s.io/cloud-provider v0.0.0
82-
k8s.io/component-base v0.0.0
59+
k8s.io/cloud-provider v0.17.0
60+
k8s.io/component-base v0.17.0
61+
k8s.io/csi-translation-lib v0.17.0 // indirect
8362
k8s.io/klog v1.0.0
84-
k8s.io/kubernetes v1.15.0
85-
k8s.io/utils v0.0.0-20190907131718-3d4f5b7dea0b
86-
sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.1+incompatible
63+
k8s.io/kubectl v1.16.4 // indirect
64+
k8s.io/kubernetes v1.16.0
65+
k8s.io/utils v0.0.0-20200124190032-861946025e34
66+
sigs.k8s.io/sig-storage-lib-external-provisioner v4.1.0+incompatible
8767
)

0 commit comments

Comments
 (0)