diff --git a/deploy/Dockerfile b/deploy/Dockerfile index 50f9ad47..9f1eef30 100644 --- a/deploy/Dockerfile +++ b/deploy/Dockerfile @@ -5,6 +5,7 @@ ENV GLIBC_VERSION "2.23-r3" RUN apk --no-cache add ca-certificates wget device-mapper && \ apk --no-cache add zfs --repository http://dl-3.alpinelinux.org/alpine/edge/main/ && \ + apk --no-cache add thin-provisioning-tools --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ && \ wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://raw.githubusercontent.com/sgerrand/alpine-pkg-glibc/master/sgerrand.rsa.pub && \ wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-${GLIBC_VERSION}.apk && \ wget https://github.com/andyshinn/alpine-pkg-glibc/releases/download/${GLIBC_VERSION}/glibc-bin-${GLIBC_VERSION}.apk && \ diff --git a/devicemapper/util.go b/devicemapper/util.go index 0621972a..4a811d5f 100644 --- a/devicemapper/util.go +++ b/devicemapper/util.go @@ -22,15 +22,11 @@ import ( // ThinLsBinaryPresent returns the location of the thin_ls binary in the mount // namespace cadvisor is running in or an error. The locations checked are: // +// - /sbin/ // - /bin/ // - /usr/sbin/ // - /usr/bin/ // -// ThinLsBinaryPresent checks these paths relative to: -// -// 1. For non-containerized operation - `/` -// 2. For containerized operation - `/rootfs` -// // The thin_ls binary is provided by the device-mapper-persistent-data // package. func ThinLsBinaryPresent() (string, error) { @@ -39,7 +35,7 @@ func ThinLsBinaryPresent() (string, error) { err error ) - for _, path := range []string{"/bin", "/usr/sbin/", "/usr/bin"} { + for _, path := range []string{"/sbin", "/bin", "/usr/sbin/", "/usr/bin"} { // try paths for non-containerized operation // note: thin_ls is most likely a symlink to pdata_tools thinLsPath = filepath.Join(path, "thin_ls") @@ -47,13 +43,6 @@ func ThinLsBinaryPresent() (string, error) { if err == nil { return thinLsPath, nil } - - // try paths for containerized operation - thinLsPath = filepath.Join("/rootfs", thinLsPath) - _, err = os.Stat(thinLsPath) - if err == nil { - return thinLsPath, nil - } } return "", fmt.Errorf("unable to find thin_ls binary")