Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
3863a0f
build for multiple platforms only in CI, add s390x
pohly Mar 4, 2020
4cf843f
Merge pull request #76 from pohly/build-targets
k8s-ci-robot Mar 4, 2020
7edc146
Update snapshotter to version 2.0.1
ggriffiths Mar 11, 2020
152396e
Merge pull request #77 from ggriffiths/snapshotter201_update
k8s-ci-robot Mar 11, 2020
34a9687
Add links to version in README
jsafrane Apr 15, 2020
d11ac31
Merge pull request #297 from jsafrane/add-version-links
k8s-ci-robot Apr 15, 2020
ea1f94a
update release tools instructions
msau42 Apr 17, 2020
c1bdf5b
Merge pull request #80 from msau42/add-release-process
k8s-ci-robot Apr 17, 2020
d8c76fe
Support local snapshot RBAC for pull jobs
ggriffiths Apr 16, 2020
0fcc3b1
Merge pull request #78 from ggriffiths/fix_csi_snapshotter_rbac_versi…
k8s-ci-robot Apr 20, 2020
45324b7
revamp find content logic to fix 290 291 292
yuxiangqian Apr 13, 2020
71beade
Merge pull request #294 from yuxiangqian/GetContent
k8s-ci-robot Apr 21, 2020
570098b
Merge commit '0fcc3b1bc9fafff12d97829569780caf2903f211' into update-prow
msau42 Apr 22, 2020
8f8c421
Merge pull request #301 from msau42/update-prow
k8s-ci-robot Apr 22, 2020
a15125e
Re-enable k8s e2e tests in pull jobs
msau42 Apr 15, 2020
d6aa752
Merge pull request #298 from msau42/enable-e2es
k8s-ci-robot Apr 23, 2020
6f2322e
Update patch release notes generation command
msau42 Apr 23, 2020
d133038
Nit: fix typos
ialidzhikov Apr 26, 2020
9084fec
Merge pull request #81 from msau42/add-release-process
k8s-ci-robot Apr 27, 2020
d6be7e1
Merge pull request #305 from ialidzhikov/nit/fix-typos
k8s-ci-robot Apr 28, 2020
1ee21c1
Add event for snapshotting in progress
zhucan Apr 22, 2020
615adea
Merge pull request #289 from zhucan/bugfix-268
k8s-ci-robot Apr 30, 2020
b722303
update kube and vendor dependencies
humblec May 3, 2020
859696c
Merge pull request #286 from humblec/dep-update
k8s-ci-robot May 4, 2020
dcd7162
Remove unwanted code conditions
humblec Apr 6, 2020
aafeee9
Merge pull request #296 from humblec/lco
k8s-ci-robot May 5, 2020
5c5814a
Move changelog files to a sub-folder
xing-yang May 9, 2020
cbd5b8b
Add requeue in sidecar
xing-yang Jan 2, 2020
509aa5f
Merge pull request #314 from xing-yang/changelog_folder
k8s-ci-robot May 11, 2020
0802d19
Doc updates for controller namespace
jasonltaylor Apr 29, 2020
790068f
Merge pull request #309 from jasonltaylor/namespace
k8s-ci-robot May 18, 2020
82ef6e6
Merge pull request #230 from xing-yang/requeue_sidecar
k8s-ci-robot May 21, 2020
7bd7171
add basic metrics utility functions
yuxiangqian Apr 28, 2020
63029d9
Merge pull request #280 from yuxiangqian/metrics
k8s-ci-robot May 26, 2020
bd41690
cloud build: initial set of shared files
pohly May 28, 2020
17dde9e
Merge pull request #87 from pohly/cloud-build
k8s-ci-robot May 28, 2020
c640808
release-tools: update
pohly Jun 2, 2020
8e680b1
cloud build: use files from csi-release-tools
pohly Jun 2, 2020
72139b3
Merge pull request #319 from pohly/prow-update-master
k8s-ci-robot Jun 3, 2020
4569f27
build.make: fix push-multiarch ambiguity
pohly Jun 3, 2020
5231f05
build.make: properly declare push-multiarch
pohly Jun 3, 2020
340e082
build.make: optional inclusion of Windows in multiarch images
pohly Jun 3, 2020
be902f4
Merge pull request #88 from pohly/multiarch-windows-fix
k8s-ci-robot Jun 3, 2020
85ac4b6
release-tools: update
pohly Jun 3, 2020
0a9f3c2
Merge pull request #320 from pohly/prow-update-master
k8s-ci-robot Jun 3, 2020
db0c2a7
cloud build: initialize support for running commands in Dockerfile
pohly Jun 4, 2020
daf0051
Updated sidecar to not require VolumeSnapshotClass for snapshot deletion
huffmanca Apr 7, 2020
7c2cd67
Merge pull request #287 from huffmanca/issue264
k8s-ci-robot Jun 5, 2020
c5fd961
Merge pull request #89 from pohly/cloud-build-binfmt
k8s-ci-robot Jun 8, 2020
3df86b7
cloud build: k8s-staging-sig-storage
pohly Jun 12, 2020
0d5bd84
Merge pull request #90 from pohly/k8s-staging-sig-storage
k8s-ci-robot Jun 12, 2020
43e50d6
prow.sh: enable building arm64 image
cyb70289 Jun 16, 2020
f5a4203
Merge pull request #91 from cyb70289/arm64
k8s-ci-robot Jun 16, 2020
0c9ccdf
release-tools: update
pohly Jun 16, 2020
4800ca7
Merge pull request #322 from pohly/prow-update-master
k8s-ci-robot Jun 17, 2020
36ea4ff
filter-junit: Fix golint error
animeshk08 Jun 17, 2020
0676fcb
Merge pull request #92 from animeshk08/patch-1
k8s-ci-robot Jun 18, 2020
5a54e67
filter-junit: Fix gofmt error
animeshk08 Jun 18, 2020
41ec6d1
Merge pull request #93 from animeshk08/patch-1
k8s-ci-robot Jun 18, 2020
5800df6
Fix requeue logic in the common controller
xing-yang May 22, 2020
097b1fc
Merge pull request #317 from xing-yang/requeue_common
k8s-ci-robot Jul 8, 2020
1fdf2d5
cloud build: bump timeout in Prow job
namrata-ibm Jul 8, 2020
0345a83
Merge pull request #94 from linux-on-ibm-z/bump-timeout
k8s-ci-robot Jul 8, 2020
60ca04f
release-tools: update
pohly Jul 9, 2020
9623453
Merge pull request #331 from pohly/prow-update-master
k8s-ci-robot Jul 9, 2020
23b5c81
Merge tag 'v2.2.0-rc1' into rebase
huffmanca Jul 20, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .cloudbuild.sh
2 changes: 0 additions & 2 deletions .prow.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
#! /bin/bash

CSI_PROW_TESTS="unit"

. release-tools/prow.sh

main
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
6 changes: 6 additions & 0 deletions CHANGELOG/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# CHANGELOGs

- [CHANGELOG-2.1.md](./CHANGELOG-2.1.md)
- [CHANGELOG-2.0.md](./CHANGELOG-2.0.md)
- [CHANGELOG-1.2.md](./CHANGELOG-1.2.md)
- [CHANGELOG-1.1.md](./CHANGELOG-1.1.md)
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The move of the Kubernetes Volume Snapshot feature to beta also means:
* A revamp of volume snapshot APIs.
* The CSI external-snapshotter sidecar is split into two controllers, a snapshot controller and a CSI external-snapshotter sidecar.

The snapshot controller is deployed by the Kubernetes distributions and is responsible for watching the VolumeSnapshot CRD objects and manges the creation and deletion lifecycle of snapshots.
The snapshot controller is deployed by the Kubernetes distributions and is responsible for watching the VolumeSnapshot CRD objects and manages the creation and deletion lifecycle of snapshots.

The CSI external-snapshotter sidecar watches Kubernetes VolumeSnapshotContent CRD objects and triggers CreateSnapshot/DeleteSnapshot against a CSI endpoint.

Expand All @@ -26,7 +26,7 @@ Blog post for the beta feature can be found [here](https://kubernetes.io/blog/20

This information reflects the head of this branch.

| Compatible with CSI Version | Container Image | Min K8s Version | Snapshot CRD version |
| Compatible with CSI Version | Container Image | [Min K8s Version](https://kubernetes-csi.github.io/docs/kubernetes-compatibility.html#minimum-version) | Snapshot CRD version |
| ------------------------------------------------------------------------------------------ | ----------------------------| --------------- | -------------------- |
| [CSI Spec v1.0.0](https://github.com/container-storage-interface/spec/releases/tag/v1.0.0) | quay.io/k8scsi/csi-snapshotter | 1.17 | v1beta1 |
| [CSI Spec v1.0.0](https://github.com/container-storage-interface/spec/releases/tag/v1.0.0) | quay.io/k8scsi/snapshot-controller | 1.17 | v1beta1 |
Expand Down Expand Up @@ -60,14 +60,15 @@ The Volume Snapshot feature now depends on a new, volume snapshot controller in

Therefore, it is strongly recommended that Kubernetes distributors bundle and deploy the controller and CRDs as part of their Kubernetes cluster management process (independent of any CSI Driver).

If your cluster does not come pre-installed with the correct components, you may manually install these components by executing the following steps.
If your Kubernetes distribution does not bundle the snapshot controller, you may manually install these components by executing the following steps. Note that the snapshot controller YAML files in the git repository deploy into the default namespace for system testing purposes. For general use, update the snapshot controller YAMLs with an appropriate namespace prior to installing. For example, on a Vanilla Kubernetes cluster update the namespace from 'default' to 'kube-system' prior to issuing the kubectl create command.

Install Snapshot Beta CRDs:
* kubectl create -f config/crd
* https://github.com/kubernetes-csi/external-snapshotter/tree/master/config/crd
* Do this once per cluster

Install Common Snapshot Controller:
* Update the namespace to an appropriate value for your environment (e.g. kube-system)
* kubectl create -f deploy/kubernetes/snapshot-controller
* https://github.com/kubernetes-csi/external-snapshotter/tree/master/deploy/kubernetes/snapshot-controller
* Do this once per cluster
Expand Down
1 change: 1 addition & 0 deletions cloudbuild.yaml
3 changes: 2 additions & 1 deletion cmd/csi-snapshotter/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 Snapshotter Sidecar"
ARG binary=./bin/csi-snapshotter

COPY ./bin/csi-snapshotter csi-snapshotter
COPY ${binary} csi-snapshotter
ENTRYPOINT ["/csi-snapshotter"]
2 changes: 1 addition & 1 deletion cmd/csi-snapshotter/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ func main() {
factory := informers.NewSharedInformerFactory(snapClient, *resyncPeriod)
coreFactory := coreinformers.NewSharedInformerFactory(kubeClient, *resyncPeriod)

// Add Snapshot types to the defualt Kubernetes so events can be logged for them
// Add Snapshot types to the default Kubernetes so events can be logged for them
snapshotscheme.AddToScheme(scheme.Scheme)

// Connect to CSI.
Expand Down
3 changes: 2 additions & 1 deletion cmd/snapshot-controller/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="Snapshot Controller"
ARG binary=./bin/snapshot-controller

COPY ./bin/snapshot-controller snapshot-controller
COPY ${binary} snapshot-controller
ENTRYPOINT ["/snapshot-controller"]
2 changes: 1 addition & 1 deletion cmd/snapshot-controller/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ func main() {
factory := informers.NewSharedInformerFactory(snapClient, *resyncPeriod)
coreFactory := coreinformers.NewSharedInformerFactory(kubeClient, *resyncPeriod)

// Add Snapshot types to the defualt Kubernetes so events can be logged for them
// Add Snapshot types to the default Kubernetes so events can be logged for them
snapshotscheme.AddToScheme(scheme.Scheme)

klog.V(2).Infof("Start NewCSISnapshotController with kubeconfig [%s] resyncPeriod [%+v]", *kubeconfig, *resyncPeriod)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
# RBAC file for the snapshot controller.
#
# The snapshot controller implements the control loop for CSI snapshot functionality.
# It should be installed as part of the base Kubernetes distribution in an appropriate
# namespace for components implementing base system functionality. For installing with
# Vanilla Kubernetes, kube-system makes sense for the namespace.

apiVersion: v1
kind: ServiceAccount
metadata:
name: snapshot-controller
namespace: default # TODO: replace with the namespace you want for your controller, e.g. kube-system

---
kind: ClusterRole
Expand Down Expand Up @@ -44,8 +51,7 @@ metadata:
subjects:
- kind: ServiceAccount
name: snapshot-controller
# replace with non-default namespace name
namespace: default
namespace: default # TODO: replace with the namespace you want for your controller, e.g. kube-system
roleRef:
kind: ClusterRole
# change the name also here if the ClusterRole gets renamed
Expand All @@ -56,7 +62,7 @@ roleRef:
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: default # TODO: replace with the namespace you want for your controller
namespace: default # TODO: replace with the namespace you want for your controller, e.g. kube-system
name: snapshot-controller-leaderelection
rules:
- apiGroups: ["coordination.k8s.io"]
Expand All @@ -68,11 +74,11 @@ kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: snapshot-controller-leaderelection
namespace: default # TODO: replace with the namespace you want for your controller
namespace: default # TODO: replace with the namespace you want for your controller, e.g. kube-system
subjects:
- kind: ServiceAccount
name: snapshot-controller
namespace: default # TODO: replace with the namespace you want for your controller
namespace: default # TODO: replace with the namespace you want for your controller, e.g. kube-system
roleRef:
kind: Role
name: snapshot-controller-leaderelection
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
# This YAML file shows how to deploy the snapshot controller

# The snapshot controller implements the control loop for CSI snapshot functionality.
# It should be installed as part of the base Kubernetes distribution in an appropriate
# namespace for components implementing base system functionality. For installing with
# Vanilla Kubernetes, kube-system makes sense for the namespace.

---
kind: StatefulSet
apiVersion: apps/v1
metadata:
name: snapshot-controller
namespace: default # TODO: replace with the namespace you want for your controller, e.g. kube-system
spec:
serviceName: "snapshot-controller"
replicas: 1
Expand Down
66 changes: 36 additions & 30 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,63 @@ go 1.12

require (
github.com/container-storage-interface/spec v1.2.0
github.com/golang/mock v1.2.0
github.com/golang/protobuf v1.3.2
github.com/google/go-cmp v0.3.1 // indirect
github.com/imdario/mergo v0.3.7 // indirect
github.com/golang/mock v1.4.3
github.com/golang/protobuf v1.3.5
github.com/google/go-cmp v0.4.0 // indirect
github.com/imdario/mergo v0.3.9 // indirect
github.com/kubernetes-csi/csi-lib-utils v0.7.0
github.com/kubernetes-csi/csi-test v2.0.0+incompatible
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/code-generator v0.0.0-20191121015212-c4c8f8345c7e
github.com/prometheus/client_golang v1.0.0
github.com/prometheus/client_model v0.2.0
github.com/prometheus/common v0.4.1
google.golang.org/grpc v1.28.0
k8s.io/api v0.18.0
k8s.io/apimachinery v0.18.0
k8s.io/client-go v0.18.0
k8s.io/code-generator v0.18.0
k8s.io/component-base v0.18.0
k8s.io/klog v1.0.0
k8s.io/kubernetes v1.14.0
k8s.io/kubernetes v1.18.0
)

replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.17.0
replace k8s.io/api => k8s.io/api v0.18.0

replace k8s.io/apiserver => k8s.io/apiserver v0.17.0
replace k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.18.0

replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.17.0
replace k8s.io/apimachinery => k8s.io/apimachinery v0.18.0

replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.17.0
replace k8s.io/apiserver => k8s.io/apiserver v0.18.0

replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.17.0
replace k8s.io/cli-runtime => k8s.io/cli-runtime v0.18.0

replace k8s.io/code-generator => k8s.io/code-generator v0.17.1-beta.0
replace k8s.io/client-go => k8s.io/client-go v0.18.0

replace k8s.io/component-base => k8s.io/component-base v0.17.0
replace k8s.io/cloud-provider => k8s.io/cloud-provider v0.18.0

replace k8s.io/cri-api => k8s.io/cri-api v0.17.1-beta.0
replace k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.18.0

replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.17.0
replace k8s.io/code-generator => k8s.io/code-generator v0.18.0

replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.17.0
replace k8s.io/component-base => k8s.io/component-base v0.18.0

replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.17.0
replace k8s.io/cri-api => k8s.io/cri-api v0.18.0

replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.17.0
replace k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.18.0

replace k8s.io/kubectl => k8s.io/kubectl v0.17.0
replace k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.18.0

replace k8s.io/kubelet => k8s.io/kubelet v0.17.0
replace k8s.io/kube-proxy => k8s.io/kube-proxy v0.18.0

replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.17.0
replace k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.18.0

replace k8s.io/metrics => k8s.io/metrics v0.17.0
replace k8s.io/kubectl => k8s.io/kubectl v0.18.0

replace k8s.io/node-api => k8s.io/node-api v0.17.0
replace k8s.io/kubelet => k8s.io/kubelet v0.18.0

replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.17.0
replace k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.18.0

replace k8s.io/sample-cli-plugin => k8s.io/sample-cli-plugin v0.17.0
replace k8s.io/metrics => k8s.io/metrics v0.18.0

replace k8s.io/sample-controller => k8s.io/sample-controller v0.17.0
replace k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.18.0

replace k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.18.0
Loading