From a457392ec3b3f76d5d3cd6eec2e9b0dc54146396 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Mon, 12 Jun 2017 01:55:23 +0200 Subject: [PATCH] refactor: clean coreos/etcd dependency. --- glide.lock | 6 -- .../coreos/etcd/pkg/fileutil/fileutil.go | 63 ------------ .../coreos/etcd/pkg/fileutil/lock_plan9.go | 90 ----------------- .../coreos/etcd/pkg/fileutil/lock_solaris.go | 98 ------------------- .../coreos/etcd/pkg/fileutil/lock_unix.go | 76 -------------- .../coreos/etcd/pkg/fileutil/lock_windows.go | 71 -------------- .../pkg/fileutil/perallocate_unsupported.go | 28 ------ .../coreos/etcd/pkg/fileutil/preallocate.go | 42 -------- .../coreos/etcd/pkg/fileutil/purge.go | 80 --------------- .../github.com/coreos/etcd/version/version.go | 91 ----------------- 10 files changed, 645 deletions(-) delete mode 100644 vendor/github.com/coreos/etcd/pkg/fileutil/fileutil.go delete mode 100644 vendor/github.com/coreos/etcd/pkg/fileutil/lock_plan9.go delete mode 100644 vendor/github.com/coreos/etcd/pkg/fileutil/lock_solaris.go delete mode 100644 vendor/github.com/coreos/etcd/pkg/fileutil/lock_unix.go delete mode 100644 vendor/github.com/coreos/etcd/pkg/fileutil/lock_windows.go delete mode 100644 vendor/github.com/coreos/etcd/pkg/fileutil/perallocate_unsupported.go delete mode 100644 vendor/github.com/coreos/etcd/pkg/fileutil/preallocate.go delete mode 100644 vendor/github.com/coreos/etcd/pkg/fileutil/purge.go delete mode 100644 vendor/github.com/coreos/etcd/version/version.go diff --git a/glide.lock b/glide.lock index d665c55f4..9a5863499 100644 --- a/glide.lock +++ b/glide.lock @@ -93,15 +93,9 @@ imports: - name: github.com/coreos/etcd version: c400d05d0aa73e21e431c16145e558d624098018 subpackages: - - Godeps/_workspace/src/github.com/coreos/go-systemd/journal - - Godeps/_workspace/src/github.com/coreos/pkg/capnslog - - Godeps/_workspace/src/github.com/ugorji/go/codec - - Godeps/_workspace/src/golang.org/x/net/context - client - - pkg/fileutil - pkg/pathutil - pkg/types - - version - name: github.com/coreos/go-oidc version: 5644a2f50e2d2d5ba0b474bc5bc55fea1925936d subpackages: diff --git a/vendor/github.com/coreos/etcd/pkg/fileutil/fileutil.go b/vendor/github.com/coreos/etcd/pkg/fileutil/fileutil.go deleted file mode 100644 index b9702ca8a..000000000 --- a/vendor/github.com/coreos/etcd/pkg/fileutil/fileutil.go +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Package fileutil implements utility functions related to files and paths. -package fileutil - -import ( - "io/ioutil" - "os" - "path" - "sort" - - "github.com/coreos/pkg/capnslog" -) - -const ( - privateFileMode = 0600 -) - -var ( - plog = capnslog.NewPackageLogger("github.com/coreos/etcd/pkg", "fileutil") -) - -// IsDirWriteable checks if dir is writable by writing and removing a file -// to dir. It returns nil if dir is writable. -func IsDirWriteable(dir string) error { - f := path.Join(dir, ".touch") - if err := ioutil.WriteFile(f, []byte(""), privateFileMode); err != nil { - return err - } - return os.Remove(f) -} - -// ReadDir returns the filenames in the given directory in sorted order. -func ReadDir(dirpath string) ([]string, error) { - dir, err := os.Open(dirpath) - if err != nil { - return nil, err - } - defer dir.Close() - names, err := dir.Readdirnames(-1) - if err != nil { - return nil, err - } - sort.Strings(names) - return names, nil -} - -func Exist(name string) bool { - _, err := os.Stat(name) - return err == nil -} diff --git a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_plan9.go b/vendor/github.com/coreos/etcd/pkg/fileutil/lock_plan9.go deleted file mode 100644 index 311288de0..000000000 --- a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_plan9.go +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package fileutil - -import ( - "errors" - "os" - "syscall" - "time" -) - -var ( - ErrLocked = errors.New("file already locked") -) - -type Lock interface { - Name() string - TryLock() error - Lock() error - Unlock() error - Destroy() error -} - -type lock struct { - fname string - file *os.File -} - -func (l *lock) Name() string { - return l.fname -} - -// TryLock acquires exclusivity on the lock without blocking -func (l *lock) TryLock() error { - err := os.Chmod(l.fname, syscall.DMEXCL|0600) - if err != nil { - return err - } - - f, err := os.Open(l.fname) - if err != nil { - return ErrLocked - } - - l.file = f - return nil -} - -// Lock acquires exclusivity on the lock with blocking -func (l *lock) Lock() error { - err := os.Chmod(l.fname, syscall.DMEXCL|0600) - if err != nil { - return err - } - - for { - f, err := os.Open(l.fname) - if err == nil { - l.file = f - return nil - } - time.Sleep(10 * time.Millisecond) - } -} - -// Unlock unlocks the lock -func (l *lock) Unlock() error { - return l.file.Close() -} - -func (l *lock) Destroy() error { - return nil -} - -func NewLock(file string) (Lock, error) { - l := &lock{fname: file} - return l, nil -} diff --git a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_solaris.go b/vendor/github.com/coreos/etcd/pkg/fileutil/lock_solaris.go deleted file mode 100644 index 1929bd1fc..000000000 --- a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_solaris.go +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build solaris - -package fileutil - -import ( - "errors" - "os" - "syscall" -) - -var ( - ErrLocked = errors.New("file already locked") -) - -type Lock interface { - Name() string - TryLock() error - Lock() error - Unlock() error - Destroy() error -} - -type lock struct { - fd int - file *os.File -} - -func (l *lock) Name() string { - return l.file.Name() -} - -// TryLock acquires exclusivity on the lock without blocking -func (l *lock) TryLock() error { - var lock syscall.Flock_t - lock.Start = 0 - lock.Len = 0 - lock.Pid = 0 - lock.Type = syscall.F_WRLCK - lock.Whence = 0 - lock.Pid = 0 - err := syscall.FcntlFlock(uintptr(l.fd), syscall.F_SETLK, &lock) - if err != nil && err == syscall.EAGAIN { - return ErrLocked - } - return err -} - -// Lock acquires exclusivity on the lock without blocking -func (l *lock) Lock() error { - var lock syscall.Flock_t - lock.Start = 0 - lock.Len = 0 - lock.Type = syscall.F_WRLCK - lock.Whence = 0 - lock.Pid = 0 - return syscall.FcntlFlock(uintptr(l.fd), syscall.F_SETLK, &lock) -} - -// Unlock unlocks the lock -func (l *lock) Unlock() error { - var lock syscall.Flock_t - lock.Start = 0 - lock.Len = 0 - lock.Type = syscall.F_UNLCK - lock.Whence = 0 - err := syscall.FcntlFlock(uintptr(l.fd), syscall.F_SETLK, &lock) - if err != nil && err == syscall.EAGAIN { - return ErrLocked - } - return err -} - -func (l *lock) Destroy() error { - return l.file.Close() -} - -func NewLock(file string) (Lock, error) { - f, err := os.OpenFile(file, os.O_WRONLY, 0600) - if err != nil { - return nil, err - } - l := &lock{int(f.Fd()), f} - return l, nil -} diff --git a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_unix.go b/vendor/github.com/coreos/etcd/pkg/fileutil/lock_unix.go deleted file mode 100644 index f6e69cc34..000000000 --- a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_unix.go +++ /dev/null @@ -1,76 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build !windows,!plan9,!solaris - -package fileutil - -import ( - "errors" - "os" - "syscall" -) - -var ( - ErrLocked = errors.New("file already locked") -) - -type Lock interface { - Name() string - TryLock() error - Lock() error - Unlock() error - Destroy() error -} - -type lock struct { - fd int - file *os.File -} - -func (l *lock) Name() string { - return l.file.Name() -} - -// TryLock acquires exclusivity on the lock without blocking -func (l *lock) TryLock() error { - err := syscall.Flock(l.fd, syscall.LOCK_EX|syscall.LOCK_NB) - if err != nil && err == syscall.EWOULDBLOCK { - return ErrLocked - } - return err -} - -// Lock acquires exclusivity on the lock without blocking -func (l *lock) Lock() error { - return syscall.Flock(l.fd, syscall.LOCK_EX) -} - -// Unlock unlocks the lock -func (l *lock) Unlock() error { - return syscall.Flock(l.fd, syscall.LOCK_UN) -} - -func (l *lock) Destroy() error { - return l.file.Close() -} - -func NewLock(file string) (Lock, error) { - f, err := os.Open(file) - if err != nil { - return nil, err - } - l := &lock{int(f.Fd()), f} - return l, nil -} diff --git a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_windows.go b/vendor/github.com/coreos/etcd/pkg/fileutil/lock_windows.go deleted file mode 100644 index a0a928b90..000000000 --- a/vendor/github.com/coreos/etcd/pkg/fileutil/lock_windows.go +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build windows - -package fileutil - -import ( - "errors" - "os" -) - -var ( - ErrLocked = errors.New("file already locked") -) - -type Lock interface { - Name() string - TryLock() error - Lock() error - Unlock() error - Destroy() error -} - -type lock struct { - fd int - file *os.File -} - -func (l *lock) Name() string { - return l.file.Name() -} - -// TryLock acquires exclusivity on the lock without blocking -func (l *lock) TryLock() error { - return nil -} - -// Lock acquires exclusivity on the lock without blocking -func (l *lock) Lock() error { - return nil -} - -// Unlock unlocks the lock -func (l *lock) Unlock() error { - return nil -} - -func (l *lock) Destroy() error { - return l.file.Close() -} - -func NewLock(file string) (Lock, error) { - f, err := os.Open(file) - if err != nil { - return nil, err - } - l := &lock{int(f.Fd()), f} - return l, nil -} diff --git a/vendor/github.com/coreos/etcd/pkg/fileutil/perallocate_unsupported.go b/vendor/github.com/coreos/etcd/pkg/fileutil/perallocate_unsupported.go deleted file mode 100644 index c1a952bb7..000000000 --- a/vendor/github.com/coreos/etcd/pkg/fileutil/perallocate_unsupported.go +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build !linux - -package fileutil - -import "os" - -// Preallocate tries to allocate the space for given -// file. This operation is only supported on linux by a -// few filesystems (btrfs, ext4, etc.). -// If the operation is unsupported, no error will be returned. -// Otherwise, the error encountered will be returned. -func Preallocate(f *os.File, sizeInBytes int) error { - return nil -} diff --git a/vendor/github.com/coreos/etcd/pkg/fileutil/preallocate.go b/vendor/github.com/coreos/etcd/pkg/fileutil/preallocate.go deleted file mode 100644 index c4bd4f4c8..000000000 --- a/vendor/github.com/coreos/etcd/pkg/fileutil/preallocate.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// +build linux - -package fileutil - -import ( - "os" - "syscall" -) - -// Preallocate tries to allocate the space for given -// file. This operation is only supported on linux by a -// few filesystems (btrfs, ext4, etc.). -// If the operation is unsupported, no error will be returned. -// Otherwise, the error encountered will be returned. -func Preallocate(f *os.File, sizeInBytes int) error { - // use mode = 1 to keep size - // see FALLOC_FL_KEEP_SIZE - err := syscall.Fallocate(int(f.Fd()), 1, 0, int64(sizeInBytes)) - if err != nil { - errno, ok := err.(syscall.Errno) - // treat not support as nil error - if ok && errno == syscall.ENOTSUP { - return nil - } - return err - } - return nil -} diff --git a/vendor/github.com/coreos/etcd/pkg/fileutil/purge.go b/vendor/github.com/coreos/etcd/pkg/fileutil/purge.go deleted file mode 100644 index 375aa9719..000000000 --- a/vendor/github.com/coreos/etcd/pkg/fileutil/purge.go +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package fileutil - -import ( - "os" - "path" - "sort" - "strings" - "time" -) - -func PurgeFile(dirname string, suffix string, max uint, interval time.Duration, stop <-chan struct{}) <-chan error { - errC := make(chan error, 1) - go func() { - for { - fnames, err := ReadDir(dirname) - if err != nil { - errC <- err - return - } - newfnames := make([]string, 0) - for _, fname := range fnames { - if strings.HasSuffix(fname, suffix) { - newfnames = append(newfnames, fname) - } - } - sort.Strings(newfnames) - for len(newfnames) > int(max) { - f := path.Join(dirname, newfnames[0]) - l, err := NewLock(f) - if err != nil { - errC <- err - return - } - err = l.TryLock() - if err != nil { - break - } - err = os.Remove(f) - if err != nil { - errC <- err - return - } - err = l.Unlock() - if err != nil { - plog.Errorf("error unlocking %s when purging file (%v)", l.Name(), err) - errC <- err - return - } - err = l.Destroy() - if err != nil { - plog.Errorf("error destroying lock %s when purging file (%v)", l.Name(), err) - errC <- err - return - } - plog.Infof("purged file %s successfully", f) - newfnames = newfnames[1:] - } - select { - case <-time.After(interval): - case <-stop: - return - } - } - }() - return errC -} diff --git a/vendor/github.com/coreos/etcd/version/version.go b/vendor/github.com/coreos/etcd/version/version.go deleted file mode 100644 index 976917e95..000000000 --- a/vendor/github.com/coreos/etcd/version/version.go +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright 2015 CoreOS, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Package version implements etcd version parsing and contains latest version -// information. -package version - -import ( - "fmt" - "os" - "path" - "strings" - - "github.com/coreos/etcd/pkg/fileutil" - "github.com/coreos/etcd/pkg/types" -) - -var ( - // MinClusterVersion is the min cluster version this etcd binary is compatible with. - MinClusterVersion = "2.2.0" - Version = "2.3.0-alpha.0+git" - - // Git SHA Value will be set during build - GitSHA = "Not provided (use ./build instead of go build)" -) - -// WalVersion is an enum for versions of etcd logs. -type DataDirVersion string - -const ( - DataDirUnknown DataDirVersion = "Unknown WAL" - DataDir2_0 DataDirVersion = "2.0.0" - DataDir2_0Proxy DataDirVersion = "2.0 proxy" - DataDir2_0_1 DataDirVersion = "2.0.1" -) - -type Versions struct { - Server string `json:"etcdserver"` - Cluster string `json:"etcdcluster"` - // TODO: raft state machine version -} - -func DetectDataDir(dirpath string) (DataDirVersion, error) { - names, err := fileutil.ReadDir(dirpath) - if err != nil { - if os.IsNotExist(err) { - err = nil - } - // Error reading the directory - return DataDirUnknown, err - } - nameSet := types.NewUnsafeSet(names...) - if nameSet.Contains("member") { - ver, err := DetectDataDir(path.Join(dirpath, "member")) - if ver == DataDir2_0 { - return DataDir2_0_1, nil - } - return ver, err - } - if nameSet.ContainsAll([]string{"snap", "wal"}) { - // .../wal cannot be empty to exist. - walnames, err := fileutil.ReadDir(path.Join(dirpath, "wal")) - if err == nil && len(walnames) > 0 { - return DataDir2_0, nil - } - } - if nameSet.ContainsAll([]string{"proxy"}) { - return DataDir2_0Proxy, nil - } - return DataDirUnknown, nil -} - -// Cluster only keeps the major.minor. -func Cluster(v string) string { - vs := strings.Split(v, ".") - if len(vs) <= 2 { - return v - } - return fmt.Sprintf("%s.%s", vs[0], vs[1]) -}