feat(validation): adding validation for ZFSPV CR parameters (#66)

Validating few parameters for the ZFSVolume custom resource

- compression can be "on", "off", "lzjb", "gzip", "gzip-[1-9]", "zle" and "lz4"
- encryption can be "on", "off", "aes-128-ccm", "aes-192-ccm", "aes-256-ccm", "aes-128-gcm", "aes-192-gcm", and "aes-256-gcm"
- dedup can be "on" and "off"
- poolname can be string
- ownernodeid can be string
- thinprovision can be "yes" and "no"
- volumetype can be "DATASET" and "ZVOL"

Also added required fields needed to create ZFSVolume CR
- ownerNodeID
- poolname
- volumeType
- capacity


Signed-off-by: Pawan <pawan@mayadata.io>
This commit is contained in:
Pawan Prakash Sharma 2020-04-14 17:26:46 +05:30 committed by GitHub
parent fbd4812642
commit ae724ee096
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 2206 additions and 342 deletions

View file

@ -61,12 +61,16 @@ test: format
# Bootstrap downloads tools required
# during build
.PHONY: bootstrap
bootstrap:
bootstrap: controller-gen
@for tool in $(EXTERNAL_TOOLS) ; do \
echo "+ Installing $$tool" ; \
go get -u $$tool; \
done
.PHONY: controller-gen
controller-gen:
TMP_DIR=$(shell mktemp -d) && cd $$TMP_DIR && go mod init tmp && go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.2.8 && rm -rf $$TMP_DIR;
# SRC_PKG is the path of code files
SRC_PKG := github.com/openebs/zfs-localpv/pkg
@ -136,7 +140,7 @@ informer:
manifests:
@echo "+ Generating zfs localPV crds"
$(PWD)/buildscripts/update-crd.sh
$(PWD)/buildscripts/generate-manifests.sh
.PHONY: zfs-driver
zfs-driver: format