Commit Graph

61 Commits

Author SHA1 Message Date
Ubuntu
21fc337b87 feat: Implement distributed snapshotting 2021-12-24 20:03:31 +00:00
Grant Griffiths
ad7dfe6045 Revert patch for empty finalizers
Signed-off-by: Grant Griffiths <ggriffiths@purestorage.com>
2021-10-05 15:38:57 -07:00
Grant Griffiths
d14e2eea8f Use patch for snapshot-controller when there are no finalizers
- Also address PR feedback re: avoid a deepCopy for annotations patch

Signed-off-by: Grant Griffiths <ggriffiths@purestorage.com>
2021-09-29 16:43:02 -07:00
Grant Griffiths
e1f82e4f1a Add patch for delete annotation
Signed-off-by: Grant Griffiths <ggriffiths@purestorage.com>
2021-09-28 15:54:15 -07:00
Grant Griffiths
3b9f0e2c72 Fix unit tests and don't patch with empty finalizers
Signed-off-by: Grant Griffiths <ggriffiths@purestorage.com>
2021-09-28 14:29:40 -07:00
Grant Griffiths
2039ad9101 checkandBindSnapshotContent with patch tested
Signed-off-by: Grant Griffiths <ggriffiths@purestorage.com>
2021-09-24 11:11:15 -07:00
Grant Griffiths
36b6b879ba add content finalizer patch
Signed-off-by: Grant Griffiths <ggriffiths@purestorage.com>
2021-09-23 14:05:17 -07:00
Grant Griffiths
afff04176d WIP
Signed-off-by: Grant Griffiths <ggriffiths@purestorage.com>
2021-09-23 14:05:17 -07:00
shahra
8f35f9f0d0 Update documentation for snapshot controller validation 2021-07-20 20:45:12 +05:30
Pranshu Srivastava
60824e54a5 Add "SnapshotCreated" and "SnapshotReady" events for snapshot-controller 2021-07-05 19:21:00 +05:30
Grant Griffiths
5cf92fc01a Return VolumeSnapshotContent from various functions instead of nil
Signed-off-by: Grant Griffiths <ggriffiths@purestorage.com>
2021-06-14 10:47:05 -07:00
prateekpandey14
533ed886dc Move snapshot validations to validation-webhook directory
Signed-off-by: prateekpandey14 <prateekpandey14@gmail.com>
2021-03-14 13:39:57 +05:30
xing-yang
2a7c550b18 Change ReadyToUse in Snapshot based on caller input
ReadyToUse in Snapshot will be updated based on ReadyToUse in Content.
ReadytoUse in Snapshot will also be updated when caller indicates it should
be changed to false when an error occurrs.
2020-12-16 14:35:57 +00:00
xing-yang
730e6f6458 Update to client/v4 2020-12-14 18:50:10 +00:00
xing-yang
5069c99ec3 Update controller based on snapshot v1 apis 2020-12-11 21:13:47 +00:00
Grant Griffiths
941821bf99 Add snapshot controller metrics
Signed-off-by: Grant Griffiths <grant@portworx.com>
2020-12-02 22:18:18 -08:00
xiangqian
6f237c2a6d using csi driver from PV instead of from StorageClass
resolve comments
2020-12-01 17:23:35 -08:00
shahra
b9139fab75 Allow creation of snapshot content if pvc finalizer exists,
even if pvc is marked for deletion.
2020-10-30 18:17:32 -07:00
xing-yang
a2ac03c740 Update to v3 2020-09-08 21:25:47 +00:00
xing-yang
1ba5602b10 Add comments 2020-08-31 01:36:47 +00:00
xing-yang
c2ba707e71 Fix the race between PVC finalizer and snapshot finalizer removal 2020-08-30 02:06:14 +00:00
Andi Li
42b6b374cf Add phase 1 of validation tightening.
https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/177-volume-snapshot/tighten-validation-webhook-crd.md

1. Ratcheting validation webhook server image
2. Controller labels invalid objects
3. Unit tests for webhook
4. Deployment README and example deployment method with certs
5. Update top-level README

Racheting validation:
1. webhook is strict on create
2. webhook is strict on updates where the existing object passes strict validation
3. webhook is relaxed on updates where the existing object fails strict validation (allows finalizer removal, status update, deletion, etc)

Additionally the validating wehook server will perform immutability
checks on scenario 2 above.
2020-08-27 20:34:21 -04:00
Kubernetes Prow Robot
a69711cec2 Merge pull request #307 from Kartik494/updategomod
Added go modules for Apis and Client
2020-08-19 21:45:22 -07:00
xing-yang
2a990923fd Emit event even if status update fails so user can see it 2020-08-09 04:16:16 +00:00
kartik494
ae215218d1 Added go modules for Apis and Client 2020-07-29 16:52:45 +05:30
Christian Huffman
ffaeac1515 Move to klogv2 2020-07-27 14:39:56 -04:00
Kubernetes Prow Robot
3c32e2887b Merge pull request #334 from makkes/remove-kubernetes-dep
chore: get rid of k8s.io/kubernetes dep
2020-07-23 23:36:22 -07:00
Saikat Roychowdhury
73697eba81 Call dynamic VS content creation unconditionally
Irrespective of any error on the Volume Snapshot
object, initiate dynamic VolumeSnapshotContent object
creation. If any required parameters are not found, (e.g. missing
VS class), the VS content object creation would fail gracefully.
2020-07-23 15:14:16 +00:00
Max Jonas Werner
04848c755a chore: remove unused parameter from util funcs; add unit test
Added the unit tests from
https://github.com/kubernetes/kubernetes/blob/master/pkg/util/slice/slice_test.go
(minus modifier tests) so we can be sure to not change behaviour.
2020-07-22 09:36:22 +02:00
Kubernetes Prow Robot
0c5b535d88 Merge pull request #284 from xing-yang/error_status
Update Error in Snapshot Status
2020-07-21 22:46:05 -07:00
xing-yang
5f2090606c Update Error in Snapshot Status 2020-07-22 04:46:35 +00:00
Max Jonas Werner
1f13709413 chore: get rid of k8s.io/kubernetes dep
This dependency is problematic because of the many replaces it brings
with it. This makes it hard to import external-snapshotter in 3rd
party projects without having a lot of `replace` directives in those
projects as well.

The only usage of that import was to get two very simple utility
functions so I copied them over to this repo.
2020-07-21 18:23:38 +02:00
xing-yang
5800df6a61 Fix requeue logic in the common controller 2020-06-25 03:37:40 +00:00
Humble Chirammal
dcd7162224 Remove unwanted code conditions
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2020-05-04 20:57:54 +05:30
Kubernetes Prow Robot
859696c419 Merge pull request #286 from humblec/dep-update
Update kube vendor dependency and others
2020-05-04 05:52:26 -07:00
Humble Chirammal
b72230379f update kube and vendor dependencies
With kubernetes 1.18 release of client-go, signatures on methods in
generated clientsets, dynamic, metadata, and scale clients have been
modified to accept context.Context as a first argument.
Signatures of Create, Update, and Patch methods have been updated
to accept CreateOptions, UpdateOptions and PatchOptions respectively.
Signatures of Delete and DeleteCollection methods now accept
DeleteOptions by value instead of by reference.
These changes are now accommodated with this PR and client-go
and dependencies are updated to v1.18.0

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2020-05-03 21:52:48 +05:30
zhucan
1ee21c1de5 Add event for snapshotting in progress
Signed-off-by: zhuc <zhucan@xsky.com>
2020-04-30 10:26:27 +08:00
xiangqian
45324b7a67 revamp find content logic to fix 290 291 292
add snapshot source validation in syncSnapshot
add content source validation in syncContent
2020-04-20 21:29:30 -07:00
xing-yang
c82c8e0c7e Add a check to see if PVC has a finalizer 2020-04-02 02:01:52 +00:00
xing-yang
8ae4d0c278 Check if PVC is being used by a snapshot as source 2020-04-02 01:50:19 +00:00
Christian Huffman
25b65ea8a8 Moving nil check to correct location 2020-03-19 16:21:46 -04:00
Kubernetes Prow Robot
ac3ef99c2d Merge pull request #275 from huffmanca/update_snapshotclass_deletion
Allows VolumeSnapshot to be deleted if the class isn't found
2020-03-18 17:12:43 -07:00
Christian Huffman
91a55c0e13 Allows VolumeSnapshot to be deleted if the class isn't found 2020-03-18 16:54:59 -04:00
Christian Huffman
806ccc0b29 Include a nil check for the snapshotContent 2020-03-18 13:35:25 -04:00
Grant Griffiths
9830b6ec23 Fix error check for checkandAddSnapshotFinalizers and add tests
Signed-off-by: Grant Griffiths <grant@portworx.com>
2020-03-04 10:48:16 -08:00
xing-yang
b154cc77e7 Add VolumeSnapshotBeingDeleted annotation to content 2020-02-28 18:10:20 +00:00
bells17
3b76de4999 Added the feature to use secrets of ListSnapshots 2020-02-10 11:56:47 +09:00
Alex Szakaly
fb6225dc41 fix: go module requirements for semantic versioning
This commit also adds the compatibility with dep (Go dependency
management tool) via symlink creation (same method applied in
kubernetes-csi/csi-test)

TODO: fix hack/update-generated-code.sh

Fixes issue #239.

Signed-off-by: Alex Szakaly <alex.szakaly@gmail.com>
2020-01-22 09:50:01 +01:00
xing-yang
824ce7f6c5 Remove PVC finalizer when no longer in use 2020-01-03 19:57:51 +00:00
xing-yang
6b179a5066 Address review comments 2019-12-24 14:42:06 +00:00