diff --git a/manager/machine.go b/manager/machine.go index 7c26282f..19b10b3a 100644 --- a/manager/machine.go +++ b/manager/machine.go @@ -18,6 +18,7 @@ import ( "bytes" "flag" "io/ioutil" + "path/filepath" "strings" "syscall" @@ -50,8 +51,13 @@ func getInfoFromFiles(filePaths string) string { return "" } -func getMachineInfo(sysFs sysfs.SysFs, fsInfo fs.FsInfo) (*info.MachineInfo, error) { - cpuinfo, err := ioutil.ReadFile("/proc/cpuinfo") +func getMachineInfo(sysFs sysfs.SysFs, fsInfo fs.FsInfo, inHostNamespace bool) (*info.MachineInfo, error) { + rootFs := "/" + if !inHostNamespace { + rootFs = "/rootfs" + } + + cpuinfo, err := ioutil.ReadFile(filepath.Join(rootFs, "/proc/cpuinfo")) clockSpeed, err := machine.GetClockSpeed(cpuinfo) if err != nil { return nil, err @@ -98,9 +104,9 @@ func getMachineInfo(sysFs sysfs.SysFs, fsInfo fs.FsInfo) (*info.MachineInfo, err DiskMap: diskMap, NetworkDevices: netDevices, Topology: topology, - MachineID: getInfoFromFiles(*machineIdFilePath), + MachineID: getInfoFromFiles(filepath.Join(rootFs, *machineIdFilePath)), SystemUUID: systemUUID, - BootID: getInfoFromFiles(*bootIdFilePath), + BootID: getInfoFromFiles(filepath.Join(rootFs, *bootIdFilePath)), CloudProvider: cloudProvider, InstanceType: instanceType, } diff --git a/manager/manager.go b/manager/manager.go index ad22666d..121580d6 100644 --- a/manager/manager.go +++ b/manager/manager.go @@ -155,7 +155,7 @@ func New(memoryCache *memory.InMemoryCache, sysfs sysfs.SysFs, maxHousekeepingIn allowDynamicHousekeeping: allowDynamicHousekeeping, } - machineInfo, err := getMachineInfo(sysfs, fsInfo) + machineInfo, err := getMachineInfo(sysfs, fsInfo, inHostNamespace) if err != nil { return nil, err }