don't look in host path for thin_ls binary

This commit is contained in:
Seth Jennings 2017-02-01 09:43:20 -06:00
parent c30a9e7d36
commit cd41c0bd60
2 changed files with 3 additions and 13 deletions

View File

@ -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 && \

View File

@ -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")