From 4c1fdf9bdd8047c430280259fe2bf36c26b59d02 Mon Sep 17 00:00:00 2001 From: Antonio Ojea Date: Wed, 8 Mar 2023 15:40:02 +0000 Subject: [PATCH 1/2] Update ci dependencies Remove golang 1.18 and add golang 1.20 Bump golangci-lint to 1.51.2 --- .github/workflows/test.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3e3a48fa..e2042f4f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,7 +4,7 @@ jobs: build: strategy: matrix: - go-version: [1.18.x, 1.19.x] + go-version: [1.19.x, 1.20.x] platform: [windows-latest] runs-on: ${{ matrix.platform }} steps: @@ -24,7 +24,7 @@ jobs: test: strategy: matrix: - go-version: [1.18.x, 1.19.x] + go-version: [1.19.x, 1.20.x] platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} steps: @@ -47,7 +47,7 @@ jobs: - name: Lint run: | docker run --rm -v `pwd`:/go/src/k8s.io/klog -w /go/src/k8s.io/klog \ - golangci/golangci-lint:v1.46.2 golangci-lint run --disable-all -v \ + golangci/golangci-lint:v1.51.2 golangci-lint run --disable-all -v \ -E govet -E misspell -E gofmt -E ineffassign -E golint apidiff: runs-on: ubuntu-latest @@ -56,7 +56,7 @@ jobs: - name: Install Go uses: actions/setup-go@v3 with: - go-version: 1.19.x + go-version: 1.20.x - name: Add GOBIN to PATH run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH - name: Install dependencies From 54c123e7d36376466022996f6ce980efc3ce2486 Mon Sep 17 00:00:00 2001 From: Antonio Ojea Date: Wed, 8 Mar 2023 15:51:49 +0000 Subject: [PATCH 2/2] fix format --- inotify/inotify_linux.go | 32 ++++++++++++++++---------------- nsenter/nsenter.go | 27 ++++++++++++++++----------- 2 files changed, 32 insertions(+), 27 deletions(-) diff --git a/inotify/inotify_linux.go b/inotify/inotify_linux.go index fbb50c23..2b9eabbd 100644 --- a/inotify/inotify_linux.go +++ b/inotify/inotify_linux.go @@ -9,23 +9,23 @@ Package inotify implements a wrapper for the Linux inotify system. Example: - watcher, err := inotify.NewWatcher() - if err != nil { - log.Fatal(err) - } - err = watcher.Watch("/tmp") - if err != nil { - log.Fatal(err) - } - for { - select { - case ev := <-watcher.Event: - log.Println("event:", ev) - case err := <-watcher.Error: - log.Println("error:", err) - } - } + watcher, err := inotify.NewWatcher() + if err != nil { + log.Fatal(err) + } + err = watcher.Watch("/tmp") + if err != nil { + log.Fatal(err) + } + for { + select { + case ev := <-watcher.Event: + log.Println("event:", ev) + case err := <-watcher.Error: + log.Println("error:", err) + } + } */ package inotify // import "k8s.io/utils/inotify" diff --git a/nsenter/nsenter.go b/nsenter/nsenter.go index 237b636b..6f847db8 100644 --- a/nsenter/nsenter.go +++ b/nsenter/nsenter.go @@ -49,26 +49,28 @@ type Nsenter = NSEnter // // NSEnter requires: // -// 1. Docker >= 1.6 due to the dependency on the slave propagation mode +// 1. Docker >= 1.6 due to the dependency on the slave propagation mode // of the bind-mount of the kubelet root directory in the container. // Docker 1.5 used a private propagation mode for bind-mounts, so mounts // performed in the host's mount namespace do not propagate out to the // bind-mount in this docker version. -// 2. The host's root filesystem must be available at /rootfs -// 3. The nsenter binary must be on the Kubelet process' PATH in the container's +// 2. The host's root filesystem must be available at /rootfs +// 3. The nsenter binary must be on the Kubelet process' PATH in the container's // filesystem. -// 4. The Kubelet process must have CAP_SYS_ADMIN (required by nsenter); at +// 4. The Kubelet process must have CAP_SYS_ADMIN (required by nsenter); at // the present, this effectively means that the kubelet is running in a // privileged container. -// 5. The volume path used by the Kubelet must be the same inside and outside +// 5. The volume path used by the Kubelet must be the same inside and outside // the container and be writable by the container (to initialize volume) // contents. TODO: remove this requirement. -// 6. The host image must have "mount", "findmnt", "umount", "stat", "touch", +// 6. The host image must have "mount", "findmnt", "umount", "stat", "touch", // "mkdir", "ls", "sh" and "chmod" binaries in /bin, /usr/sbin, or /usr/bin -// 7. The host image should have systemd-run in /bin, /usr/sbin, or /usr/bin if +// 7. The host image should have systemd-run in /bin, /usr/sbin, or /usr/bin if // systemd is installed/enabled in the operating system. +// // For more information about mount propagation modes, see: -// https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt +// +// https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt type NSEnter struct { // a map of commands to their paths on the host filesystem paths map[string]string @@ -174,10 +176,13 @@ func (ne *NSEnter) SupportsSystemd() (string, bool) { // exist. When it's false, it evaluates symlinks of the existing part and // blindly adds the non-existing part: // pathname: /mnt/volume/non/existing/directory -// /mnt/volume exists -// non/existing/directory does not exist +// +// /mnt/volume exists +// non/existing/directory does not exist +// // -> It resolves symlinks in /mnt/volume to say /mnt/foo and returns -// /mnt/foo/non/existing/directory. +// +// /mnt/foo/non/existing/directory. // // BEWARE! EvalSymlinks is not able to detect symlink looks with mustExist=false! // If /tmp/link is symlink to /tmp/link, EvalSymlinks(/tmp/link/foo) returns /tmp/link/foo.