Commit graph

262 commits

Author SHA1 Message Date
Pawan
0e6a02ea74 fix(topo): support old topology key for backward compatibility
Signed-off-by: Pawan <pawan@mayadata.io>
2021-05-04 13:27:51 +05:30
Akhil Mohan
ea8049f30d
chore(crd): add rule to copy auto generated CRDs (#319)
Signed-off-by: Akhil Mohan <akhil.mohan@mayadata.io>
2021-05-04 12:46:29 +05:30
Pawan Prakash Sharma
1b30116e5f
feat(migration): adding support to migrate the PV to a new node (#304)
Usecase: A node in the Kubernetes cluster is replaced with a new node. The 
new node gets a different `kubernetes.io/hostname`. The storage devices
that were attached to the old node are re-attached to the new node. 

Fix: Instead of using the default `kubenetes.io/hostname` as the node affinity 
label, this commit changes to use `openebs.io/nodeid`. The ZFS LocalPV driver 
will pick the value from the nodes and set the affinity.

Once the old node is removed from the cluster, the K8s scheduler will continue 
to schedule applications on the old node only.

User can now modify the value of `openebs.io/nodeid` on the new node to the same
value that was available on the old node. This will make sure the pods/volumes are 
scheduled to the node now. 


Note: Now to migrate the PV to the other node, we have to move the disks to the other node
and remove the old node from the cluster and set the same label on the new node using
the same key, which will let k8s scheduler to schedule the pods to that node.

Other updates: 
* adding faq doc
* renaming the config variable to nodename

Signed-off-by: Pawan <pawan@mayadata.io>
Co-authored-by: Akhil Mohan <akhilerm@gmail.com>

* Update docs/faq.md

Co-authored-by: Akhil Mohan <akhilerm@gmail.com>
2021-05-01 19:05:01 +05:30
Prateek Pandey
da7f4c2320
chore(build): setup muse config (#318)
Signed-off-by: prateekpandey14 <prateek.pandey@mayadata.io>
2021-04-29 18:36:26 +05:30
Shubham Bajpai
da7489cd5d
fix(actions): updated the build workflow condition (#317)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-04-27 21:01:40 +05:30
Shubham Bajpai
be4334f7c4
refact(actions): use build & push action instead of makefile (#315)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-04-27 19:31:08 +05:30
Pawan Prakash Sharma
cb3ae22f7a
chore(doc): update the import-existing-volume doc with finalizer info (#313)
Signed-off-by: Pawan <pawan@mayadata.io>
Co-authored-by: Alex Wied <centromere@users.noreply.github.com>
2021-04-21 13:46:31 +05:30
Shubham Bajpai
fb71595d80
fix(helm): update the crds in helm charts (#314)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-04-19 13:21:35 +05:30
shubham
16495fb1ea [stable/zfs-localpv]: update charts to 1.6.0
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-04-16 14:30:44 +05:30
Pawan Prakash Sharma
1dd25a61a2
chore(changelog): adding 1.6.0 changelog (#311)
Signed-off-by: pawan <pawanprakash101@gmail.com>
2021-04-16 12:55:44 +05:30
Aman Gupta
3cd6caeca2
chore(doc): Updated the readme/docs with zfs-driver scheduler information (#308)
Signed-off-by: w3aman <aman.gupta@mayadata.io>
2021-04-15 13:49:26 +05:30
vados
db080d63e0
docs(localpv): Add note about k0s use of custom kubelet directory (#307)
Signed-off-by: vados <vados@vadosware.io>
2021-04-08 09:56:39 +05:30
Pawan Prakash Sharma
68d79d0e0b
feat(zfspv): remove finalizer that is owned by ZFS-LocalPV (#303)
We set the Finalizer to nil while handling the delete event, instead,
we should try to destroy the volume when there are no user finalizers
set. User might have added his own finalizers and we should not try to destroy
the volumes until those user finalizers are removed.

Signed-off-by: Pawan <pawan@mayadata.io>
2021-04-06 20:03:00 +05:30
Aman Gupta
9888968fd7
chore(readme): update the minimum required k8s version for zfs-localpv driver (#305)
Signed-off-by: w3aman <aman.gupta@mayadata.io>
2021-04-06 16:38:00 +05:30
Pawan
04f7635b6f feat(provision): try volume creation on all the nodes
Currently controller picks one node and the node agent keeps on trying to
create the volume on that node. There might not be enough space available
on that node to create the volume.

The controller can try on all the nodes sequentially and fail
the request if volume creation fails on all the nodes which satisfies the
topology contraints.

Signed-off-by: Pawan <pawan@mayadata.io>
2021-04-02 20:36:37 +05:30
Pawan Prakash Sharma
8cc56377bd
chore(yaml): fixing autogen yaml description (#301)
Signed-off-by: Pawan <pawan@mayadata.io>
2021-04-01 13:02:51 +05:30
Prateek Pandey
b1aa6ab51a
refact(deps): bump k8s and client-go deps to version v0.20.2 (#294)
Signed-off-by: prateekpandey14 <prateek.pandey@mayadata.io>
2021-03-31 16:43:42 +05:30
Shubham Bajpai
533e17a9aa
chore(k8s): updated storage and apiextension version to v1 (#299)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-03-31 15:09:48 +05:30
Shubham Bajpai
3162112327
[stable/zfs-localpv]: update charts to 1.5.0 (#296)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-03-16 12:30:24 +05:30
Pawan Prakash Sharma
b797e04d92
chore(changelog): adding v1.5.0 changelog (#297)
Signed-off-by: Pawan <pawan@mayadata.io>
2021-03-15 22:17:32 +05:30
Aman Gupta
ec2ab7fda7
chore(doc): add prerequisites for using latest velero-plugin (#295)
Signed-off-by: w3aman <aman.gupta@mayadata.io>
2021-03-12 16:16:06 +05:30
Shubham Bajpai
6c6d593437
chore(actions): move bdd tests to github actions (#293)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-03-05 20:08:29 +05:30
Pawan Prakash Sharma
6ec49df225
fix(restore): adding support to restore in an encrypted pool (#292)
Encrypted pool does not allow the volume to be pre created for the
restore purpose. Here changing the design to do the restore first
and then create the ZFSVolume object which will bind the volume
already created while doing restore.


Signed-off-by: Pawan <pawan@mayadata.io>
2021-03-01 23:56:42 +05:30
Pawan
77e722989c chore(changelog): adding 1.4.0 changelog
Signed-off-by: Pawan <pawan@mayadata.io>
2021-02-16 00:01:18 +05:30
Shubham Bajpai
11a1034b0a
[stable/zfs-localpv]: update charts to 1.4.0 (#285)
- update chart version
- update README
- update values.yaml

Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-02-15 17:31:31 +05:30
Prateek Pandey
62e5b57d90
refact(charts): add pod security policy for zfslocalpv charts (#290)
Signed-off-by: prateekpandey14 <prateek.pandey@mayadata.io>
2021-02-15 15:03:40 +05:30
Shubham Bajpai
36e0f69fd0
chore(operator): update k8s sidecar images to gcr (#284)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-02-05 12:18:41 +05:30
Pawan
88ad25ec9c feat(resize): adding resize support for raw block volumes
Signed-off-by: Pawan <pawan@mayadata.io>
2021-02-02 12:44:02 +05:30
prateekpandey14
8335440d4c [stable/zfs-localpv]: update zfs-localpv charts to 1.3.0
Signed-off-by: prateekpandey14 <prateek.pandey@mayadata.io>
2021-01-14 20:50:17 +05:30
Pawan
b64db082be chore(changelog): adding v1.3.0 changelog
Signed-off-by: Pawan <pawan@mayadata.io>
2021-01-14 20:47:37 +05:30
Shubham Bajpai
bd6df9b31d
feat(chart): add helm chart for zfs local pv (#247)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-01-07 10:44:45 +05:30
Pawan
90ecfe9c73 feat(schd): adding capacity weighted scheduler
The ZFS Driver will use capacity scheduler to pick a node
which has less capacity occupied by the volumes. Making this
as default scheduler as it is better than the volume count based
scheduling. We can use below storageclass to specify the scheduler
```yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
 name: openebs-zfspv
allowVolumeExpansion: true
parameters:
 scheduler: "CapacityWeighted"
 poolname: "zfspv-pool"
provisioner: zfs.csi.openebs.io
```

Please Note that after the upgrade, there will be a change in the behavior.
If we are not using `scheduler` parameter in the storage class then after
the upgrade ZFS Driver will pick the node bases on volume capacity weight
instead of the count.

Signed-off-by: Pawan <pawan@mayadata.io>
2021-01-07 10:38:44 +05:30
Shubham Bajpai
e0fbce805b
chore(operator): bump k8s csi to latest stable container images (#271)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2021-01-05 23:42:20 +05:30
Aman Gupta
602a4eb503
chore(doc): Update backup/restore doc with s3-bucket use (#267)
Signed-off-by: Aman Gupta <aman.gupta@mayadata.io>
2021-01-05 22:49:55 +05:30
Pawan Prakash Sharma
2e5e61d255
fix(mount): creating directory with 0755 permission (#262)
Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-23 08:31:17 +05:30
praveengt
0e3098920c
fix(build): Cross Build enviroment bug fixes (#264)
- Adding typecasting to make compilation work under MAC build environment

- Using go env variable instead of uname for determining platform

Signed-off-by: praveengt <praveen.gt@flipkart.com>
2020-12-21 11:52:36 +05:30
Shubham Bajpai
2906d39d94
refact(csi): use common lib-csi imports (#263)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2020-12-18 21:12:52 +05:30
Pawan
48e6a19d7c chore(doc): adding 1.2.0 changelog
Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-16 01:41:17 +05:30
pawan
bf939b0340 fix(action): using 0.4.2 version docker buildx
Signed-off-by: pawan <pawan@mayadata.io>
2020-12-15 14:01:30 +05:30
Pawan
b42893ce47 fix(mount): fixing idempotency check for the mount path
Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-15 14:01:30 +05:30
Pawan Prakash Sharma
43553d6077
refactor(readme): refactoring readme (#254)
* adding openebs logo and updating project status
* Updating the GA release version

Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-14 20:31:38 +05:30
Pawan Prakash Sharma
ef75e6cb2d
chore(doc): adding installation instruction for microk8s (#251)
Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-14 12:16:09 +05:30
Shubham Bajpai
0c8202bec3
feat(helm): add github action for chart test and release (#250)
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
2020-12-11 19:00:14 +05:30
Pawan
0409fca095 fix(sanity): fixing flaky sanity test case
Also moving to bionic docker image for github action also.

Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-10 20:06:45 +05:30
Pawan
2ae14f556b feat(image): moving to ubuntu bionic(18.04 LTS) docker image
Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-10 15:29:21 +05:30
Pawan Prakash Sharma
a73a59fd49
feat(sanity): adding CSI Sanity test (#232)
* adding CSI Sanity test for ZFS-LocalPV
* make lowercase at all the places

Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-10 11:53:16 +05:30
Aman Gupta
5a5b043507 fix(doc): fixed tha kustomization yaml file path in readme
Signed-off-by: Aman Gupta <aman.gupta@mayadata.io>
2020-12-09 10:08:19 +05:30
Pawan
e1e8aa5839 chore(refactor): refactor scheduler for ZFS-LocalPV
Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-07 16:04:12 +05:30
Pawan
30a7f2317e fix(kust): removing quay as we are using multiarch docker images
Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-04 11:41:18 +05:30
Pawan
d3d4a2da23 chore(doc): update restore doc with node mapping details
Signed-off-by: Pawan <pawan@mayadata.io>
2020-12-02 12:21:47 +05:30