nmaupu / freenas-provisioner

Kubernetes external provisioner using Freenas as backend
Apache License 2.0
133 stars 26 forks source link

support quotas #3

Closed travisghansen closed 6 years ago

travisghansen commented 6 years ago

The more I've thought about this approach dataset + nfs share the more I like it. I'd really like to start exploring supporting setting a quota on the dataset when created but am having troubles getting the build to work. Being new to go makes this a bit of a stretch, but I'd like to help. If you've got some pointers on building and running this from a development perspective that would be great.

travisghansen commented 6 years ago
[signal SIGSEGV: segmentation violation code=1 addr=32 pc=94347298903359]

goroutine 1 [running]:
panic
    /build/gcc/src/gcc/libgo/go/runtime/panic.go:557
path.StripVendor..func1
    /build/glide/src/build/src/github.com/Masterminds/glide/path/strip.go:28
filepath.walk
    /build/gcc/src/gcc/libgo/go/path/filepath/path.go:377
filepath.walk
    /build/gcc/src/gcc/libgo/go/path/filepath/path.go:381
filepath.walk
    /build/gcc/src/gcc/libgo/go/path/filepath/path.go:381
filepath.walk
    /build/gcc/src/gcc/libgo/go/path/filepath/path.go:381
filepath.walk
    /build/gcc/src/gcc/libgo/go/path/filepath/path.go:381
path_filepath.Walk
    /build/gcc/src/gcc/libgo/go/path/filepath/path.go:403
github_com_Masterminds_glide_path.StripVendor
    /build/glide/src/build/src/github.com/Masterminds/glide/path/strip.go:22
github_com_Masterminds_glide_action.Install
    /build/glide/src/build/src/github.com/Masterminds/glide/action/install.go:62
main.commands..func12
    /build/glide/src/build/src/github.com/Masterminds/glide/glide.go:510
github_com_Masterminds_glide_vendor_github_com_codegangsta_cli.HandleAction
    /build/glide/src/build/src/github.com/Masterminds/glide/vendor/github.com/codegangsta/cli/app.go:490
github_com_Masterminds_glide_vendor_github_com_codegangsta_cli.Command.Run
    /build/glide/src/build/src/github.com/Masterminds/glide/vendor/github.com/codegangsta/cli/command.go:210
github_com_Masterminds_glide_vendor_github_com_codegangsta_cli.App.Run
    /build/glide/src/build/src/github.com/Masterminds/glide/vendor/github.com/codegangsta/cli/app.go:255
main.main
    /build/glide/src/build/src/github.com/Masterminds/glide/glide.go:104
make: *** [Makefile:27: vendor] Error 2
nmaupu commented 6 years ago

Nice !

Did you succeed in compiling ? It seems that it's an error when running, isn't it ? Also, the code currently support only in-cluster configuration so you will need a Kubernetes cluster to run it (minikube should do it).

Go dependencies are quite tricky specially trying to build stuff around Kubernetes SDK :/

What OS and version of GO are you using ? Also what version of glide are you using, mine is 0.13.0

EDIT: I didn't see the make vendor command. Install glide and try the following :

make clean
glide up
make

EDIT2: I just realized that the code does not compile with go 1.10 yet but I am working on it ! Try with go 1.8

nmaupu commented 6 years ago

Ok, I built it successfully using glide 0.13.0 and go 1.10 using:

make clean
make vendor
make

Don't use glide up command as previously stated, it's messing up the vendor directory.

travisghansen commented 6 years ago

@nmaupu yeah, that's what I've been doing. On arch linux here.

go version
go version go1.10.3 linux/amd64
glide --version
glide version 0.13.0-dev

What's your setup. I'm sure I can sandbox it in some way if necessary.

nmaupu commented 6 years ago

You could try some go building docker image. Also, I know that go is very sensible about changing path where it has been configured for (check GOPATH and GOROOT env var).

travisghansen commented 6 years ago

@nmaupu yeah, I've been using a docker image for development just to build. I'm sure I'll get to the bottom of it eventually on my host machine.

travisghansen commented 6 years ago

Closed by PR #6