Skip to content
This repository has been archived by the owner on Oct 21, 2020. It is now read-only.

Commit

Permalink
Update nfs to lib 4 and client-go w GetReference fix
Browse files Browse the repository at this point in the history
  • Loading branch information
wongma7 committed Aug 16, 2019
1 parent 3e04a53 commit ea6f149
Show file tree
Hide file tree
Showing 10 changed files with 410 additions and 84 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -4,7 +4,7 @@ os:

language: go
go:
- 1.11.1
- 1.12.9
services: docker

go_import_path: github.com/kubernetes-incubator/external-storage
Expand Down
2 changes: 1 addition & 1 deletion deploy.sh
Expand Up @@ -44,7 +44,7 @@ openebs-provisioner
rbd-provisioner
)

regex="^($(IFS=\|; echo "${provisioners[*]}"))-(v[0-9]+\.[0-9]+\.[0-9]+-k8s1.[0-9]+)$"
regex="^($(IFS=\|; echo "${provisioners[*]}"))-(v[0-9]+\.[0-9]+\.[0-9]+)$"
if [[ "${TRAVIS_TAG}" =~ $regex ]]; then
PROVISIONER="${BASH_REMATCH[1]}"
export VERSION="${BASH_REMATCH[2]}"
Expand Down
2 changes: 1 addition & 1 deletion nfs/Makefile
Expand Up @@ -22,7 +22,7 @@ IMAGE = $(REGISTRY)nfs-provisioner:$(VERSION)
MUTABLE_IMAGE = $(REGISTRY)nfs-provisioner:latest

all build:
GOOS=linux go build ./cmd/nfs-provisioner
GO111MODULE=on GOOS=linux go build ./cmd/nfs-provisioner
.PHONY: all build

container: build quick-container
Expand Down
20 changes: 20 additions & 0 deletions nfs/go.mod
@@ -0,0 +1,20 @@
module github.com/kubernetes-incubator/external-storage/nfs

go 1.12

require (
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
github.com/guelfey/go.dbus v0.0.0-20131113121618-f6a3a2366cc3
github.com/imdario/mergo v0.3.7 // indirect
github.com/kubernetes-sigs/sig-storage-lib-external-provisioner v4.0.0+incompatible
github.com/miekg/dns v1.1.15 // indirect
github.com/prometheus/client_golang v1.1.0 // indirect
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4 // indirect
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
k8s.io/api v0.0.0-20190814101207-0772a1bdf941
k8s.io/apimachinery v0.0.0-20190814100815-533d101be9a6
k8s.io/client-go v0.0.0-20190816061517-44c2c549a534
k8s.io/utils v0.0.0-20190809000727-6c36bc71fc4a // indirect
sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.0+incompatible // indirect
)
230 changes: 230 additions & 0 deletions nfs/go.sum

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions nfs/pkg/volume/provision.go
Expand Up @@ -195,7 +195,7 @@ func (p *nfsProvisioner) ShouldProvision(claim *v1.PersistentVolumeClaim) bool {

// Provision creates a volume i.e. the storage asset and returns a PV object for
// the volume.
func (p *nfsProvisioner) Provision(options controller.VolumeOptions) (*v1.PersistentVolume, error) {
func (p *nfsProvisioner) Provision(options controller.ProvisionOptions) (*v1.PersistentVolume, error) {
volume, err := p.createVolume(options)
if err != nil {
return nil, err
Expand All @@ -211,7 +211,7 @@ func (p *nfsProvisioner) Provision(options controller.VolumeOptions) (*v1.Persis
annotations[VolumeGidAnnotationKey] = strconv.FormatUint(volume.supGroup, 10)
}
// Only use legacy mount options annotation if StorageClass.MountOptions is empty
if volume.mountOptions != "" && options.MountOptions == nil {
if volume.mountOptions != "" && options.StorageClass.MountOptions == nil {
annotations[MountOptionAnnotation] = volume.mountOptions
}
annotations[annProvisionerID] = string(p.identity)
Expand All @@ -223,7 +223,7 @@ func (p *nfsProvisioner) Provision(options controller.VolumeOptions) (*v1.Persis
Annotations: annotations,
},
Spec: v1.PersistentVolumeSpec{
PersistentVolumeReclaimPolicy: options.PersistentVolumeReclaimPolicy,
PersistentVolumeReclaimPolicy: *options.StorageClass.ReclaimPolicy,
AccessModes: options.PVC.Spec.AccessModes,
Capacity: v1.ResourceList{
v1.ResourceName(v1.ResourceStorage): options.PVC.Spec.Resources.Requests[v1.ResourceName(v1.ResourceStorage)],
Expand All @@ -235,7 +235,7 @@ func (p *nfsProvisioner) Provision(options controller.VolumeOptions) (*v1.Persis
ReadOnly: false,
},
},
MountOptions: options.MountOptions,
MountOptions: options.StorageClass.MountOptions,
},
}

Expand All @@ -258,7 +258,7 @@ type volume struct {
// zero/non-zero supplemental group, the block it added to either the ganesha
// config or /etc/exports, and the exportID
// TODO return values
func (p *nfsProvisioner) createVolume(options controller.VolumeOptions) (volume, error) {
func (p *nfsProvisioner) createVolume(options controller.ProvisionOptions) (volume, error) {
gid, rootSquash, mountOptions, err := p.validateOptions(options)
if err != nil {
return volume{}, fmt.Errorf("error validating options for volume: %v", err)
Expand Down Expand Up @@ -304,11 +304,11 @@ func (p *nfsProvisioner) createVolume(options controller.VolumeOptions) (volume,
}, nil
}

func (p *nfsProvisioner) validateOptions(options controller.VolumeOptions) (string, bool, string, error) {
func (p *nfsProvisioner) validateOptions(options controller.ProvisionOptions) (string, bool, string, error) {
gid := "none"
rootSquash := false
mountOptions := ""
for k, v := range options.Parameters {
for k, v := range options.StorageClass.Parameters {
switch strings.ToLower(k) {
case "gid":
if strings.ToLower(v) == "none" {
Expand Down

0 comments on commit ea6f149

Please sign in to comment.