vmware-archive / vsphere-storage-for-docker

vSphere Storage for Docker
https://vmware.github.io/vsphere-storage-for-docker
Apache License 2.0
251 stars 95 forks source link

[SKIP CI] Dependency update to use sirupsen/logrus #2030

Closed shuklanirdesh82 closed 6 years ago

shuklanirdesh82 commented 6 years ago

Note: this the whole work which is under progress for #2000. Currently there is one failure left to resolve, the review will be broken down into smaller part later on.

@govint to have a look!

So far all the dependency errors are resolved but following one.

nshukla-mbp:docker-volume-vsphere nshukla$ make build-all 
/Library/Developer/CommandLineTools/usr/bin/make --directory=client_plugin build-all
../misc/scripts/build.sh pylint
make: Entering directory '/go/src/github.com/vmware/docker-volume-vsphere/esx_service'
make: Nothing to be done for 'pylint'.
make: Leaving directory '/go/src/github.com/vmware/docker-volume-vsphere/esx_service'
../misc/scripts/build.sh build
make: Entering directory `/go/src/github.com/vmware/docker-volume-vsphere/client_plugin'
go build --ldflags '-extldflags "-static"' -o ../build/docker-volume-vsphere github.com/vmware/docker-volume-vsphere/client_plugin/vmdk_plugin
# github.com/vmware/docker-volume-vsphere/vendor/github.com/docker/go-plugins-helpers/sdk
../vendor/github.com/docker/go-plugins-helpers/sdk/unix_listener.go:30:40: cannot use group (type string) as type int in argument to sockets.NewUnixSocket
make: *** [../build/docker-volume-vsphere] Error 2
make: Leaving directory `/go/src/github.com/vmware/docker-volume-vsphere/client_plugin'
make[1]: *** [dockerbuild] Error 2
make: *** [build-all] Error 2

What to look for:

  1. go version is updated to 1.9.2
  2. Docker file is updated (Dockerfile.vibauthor-and-go)
  3. older vendor folder is archived
  4. New dependency vendor folder is generated through dep init
  5. Build script is updated to use new image (Dockerfile.vibauthor-and-go)
govint commented 6 years ago
  1. Unused packages is one thing, there is also the case of packages that are submitted into vendor/* and that don;t exist any more. One example is inotify which doesn't exist and hence _utils/fs/fslinux.go that uses this package interfaces must be modified to move to using interfaces in fsnotify. Lets make a separate issue for that and merge that in then continue this one or make the change as part of this PR.
  2. Remove all of the existing vendor packages from the repo and replace with the new ones pulled by dep. The new pkgs should be merged in.
  3. Add a make file target to rebuild the vendor folder by dev. (should be able to clobber and recreate). Basically, remove make gvt and add a new one to run dep.
  4. Add documentation to install golang/dep and the versions needed (or create a container that can run this like gvt).