This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-rover.git


The following commit(s) were added to refs/heads/main by this push:
     new 782bcd5  Reduce file mount needs when deploy in the Kubernetes (#146)
782bcd5 is described below

commit 782bcd50f85ad64593ed49cf1ba5f7f36f29c85f
Author: mrproliu <[email protected]>
AuthorDate: Wed Sep 25 18:39:29 2024 +0800

    Reduce file mount needs when deploy in the Kubernetes (#146)
---
 CHANGES.md                                         |  1 +
 pkg/accesslog/collector/ztunnel.go                 |  2 +-
 pkg/accesslog/common/connection.go                 |  2 +-
 pkg/process/finders/base/tool.go                   |  2 +-
 pkg/process/finders/kubernetes/finder.go           |  2 +-
 pkg/tools/btf/check.go                             | 58 ----------------------
 pkg/tools/host/file.go                             | 34 +++++++++----
 pkg/tools/operator/distribution.go                 |  8 +--
 pkg/tools/process/process.go                       |  8 +--
 pkg/tools/profiling/api.go                         |  2 +-
 pkg/tools/profiling/kernel.go                      |  8 +--
 pkg/tools/ssl/gotls.go                             |  2 +-
 test/e2e/cases/access_log/rover.yaml               | 12 ++---
 test/e2e/cases/process/istio/rover.yaml            | 12 ++---
 test/e2e/cases/profiling/continuous/rover.yaml     | 12 ++---
 .../cases/profiling/task/network/envoy/rover.yaml  | 12 ++---
 test/e2e/cases/profiling/task/network/rover.yaml   | 12 ++---
 test/e2e/cases/profiling/task/offcpu/rover.yaml    | 12 ++---
 test/e2e/cases/profiling/task/oncpu/rover.yaml     | 12 ++---
 19 files changed, 85 insertions(+), 128 deletions(-)

diff --git a/CHANGES.md b/CHANGES.md
index ad12449..91bf302 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -12,6 +12,7 @@ Release Notes.
 * Introduce `MonitorFilter` into access log module. 
 * Support monitoring ztunnel to adapt istio ambient mode.
 * Enhance get connection address strategy in access log module.
+* Reduce file mount needs when deploy in the Kubernetes, split env name 
`ROVER_HOST_MAPPING` to `ROVER_HOST_PROC_MAPPING` and `ROVER_HOST_ETC_MAPPING`.
 
 #### Bug Fixes
 * Fixed the issue where `conntrack` could not find the Reply IP in the access 
log module.
diff --git a/pkg/accesslog/collector/ztunnel.go 
b/pkg/accesslog/collector/ztunnel.go
index 16c39a5..35465a2 100644
--- a/pkg/accesslog/collector/ztunnel.go
+++ b/pkg/accesslog/collector/ztunnel.go
@@ -182,7 +182,7 @@ func (z *ZTunnelCollector) findZTunnelProcessAndCollect() 
error {
 }
 
 func (z *ZTunnelCollector) collectZTunnelProcess(p *process.Process) error {
-       pidExeFile := host.GetFileInHost(fmt.Sprintf("/proc/%d/exe", p.Pid))
+       pidExeFile := host.GetHostProcInHost(fmt.Sprintf("%d/exe", p.Pid))
        elfFile, err := elf.NewFile(pidExeFile)
        if err != nil {
                return fmt.Errorf("read executable file error: %v", err)
diff --git a/pkg/accesslog/common/connection.go 
b/pkg/accesslog/common/connection.go
index fe1065c..690d781 100644
--- a/pkg/accesslog/common/connection.go
+++ b/pkg/accesslog/common/connection.go
@@ -216,7 +216,7 @@ func (c *ConnectionManager) Start(ctx context.Context, 
accessLogContext *AccessL
 }
 
 func (c *ConnectionManager) checkProcessFDExist(pid, fd uint32) bool {
-       return path.Exists(host.GetFileInHost(fmt.Sprintf("/proc/%d/fd/%d", 
pid, fd)))
+       return path.Exists(host.GetHostProcInHost(fmt.Sprintf("%d/fd/%d", pid, 
fd)))
 }
 
 func (c *ConnectionManager) Stop() {
diff --git a/pkg/process/finders/base/tool.go b/pkg/process/finders/base/tool.go
index 749d4f6..f2413be 100644
--- a/pkg/process/finders/base/tool.go
+++ b/pkg/process/finders/base/tool.go
@@ -52,7 +52,7 @@ func tryToFindFileExecutePath(ps *process.Process) string {
        if path.Exists(exe) {
                return exe
        }
-       pathInNs := host.GetFileInHost(fmt.Sprintf("/proc/%d/root%s", ps.Pid, 
exe))
+       pathInNs := host.GetHostProcInHost(fmt.Sprintf("%d/root%s", ps.Pid, 
exe))
        if path.Exists(pathInNs) {
                return pathInNs
        }
diff --git a/pkg/process/finders/kubernetes/finder.go 
b/pkg/process/finders/kubernetes/finder.go
index 6637a7f..03a0ba7 100644
--- a/pkg/process/finders/kubernetes/finder.go
+++ b/pkg/process/finders/kubernetes/finder.go
@@ -270,7 +270,7 @@ func (f *ProcessFinder) buildEntity(err error, ps 
*process.Process, pc *PodConta
 }
 
 func (f *ProcessFinder) getProcessCGroup(pid int32) ([]string, error) {
-       processCgroupFilePath := 
host.GetFileInHost(fmt.Sprintf("/proc/%d/cgroup", pid))
+       processCgroupFilePath := 
host.GetHostProcInHost(fmt.Sprintf("%d/cgroup", pid))
        cgroupFile, err := os.Open(processCgroupFilePath)
        if err != nil {
                return nil, err
diff --git a/pkg/tools/btf/check.go b/pkg/tools/btf/check.go
deleted file mode 100644
index 9cc3afe..0000000
--- a/pkg/tools/btf/check.go
+++ /dev/null
@@ -1,58 +0,0 @@
-// Licensed to Apache Software Foundation (ASF) under one or more contributor
-// license agreements. See the NOTICE file distributed with
-// this work for additional information regarding copyright
-// ownership. Apache Software Foundation (ASF) licenses this file to you 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 btf
-
-import (
-       "debug/elf"
-       "fmt"
-
-       "github.com/apache/skywalking-rover/pkg/tools/host"
-       "github.com/apache/skywalking-rover/pkg/tools/operator"
-       "github.com/apache/skywalking-rover/pkg/tools/path"
-)
-
-func ExistKernelBTF() (string, error) {
-       if path.Exists(host.GetFileInHost("/sys/kernel/btf/vmlinux")) {
-               return "/sys/kernel/btf/vmlinux", nil
-       }
-
-       uname, err := operator.GetOSUname()
-       if err != nil {
-               return "", err
-       }
-
-       // use same list of locations as libbpf
-       // 
https://github.com/libbpf/libbpf/blob/9a3a42608dbe3731256a5682a125ac1e23bced8f/src/btf.c#L3114-L3122
-       locations := []string{
-               "/boot/vmlinux-%s",
-               "/lib/modules/%s/vmlinux-%[1]s",
-               "/lib/modules/%s/build/vmlinux",
-               "/usr/lib/modules/%s/kernel/vmlinux",
-               "/usr/lib/debug/boot/vmlinux-%s",
-               "/usr/lib/debug/boot/vmlinux-%s.debug",
-               "/usr/lib/debug/lib/modules/%s/vmlinux",
-       }
-
-       for _, loc := range locations {
-               _, err := elf.Open(host.GetFileInHost(fmt.Sprintf(loc, 
uname.Release)))
-               if err == nil {
-                       return loc, nil
-               }
-       }
-       return "", fmt.Errorf("could not found")
-}
diff --git a/pkg/tools/host/file.go b/pkg/tools/host/file.go
index 63f6de3..ac02ec1 100644
--- a/pkg/tools/host/file.go
+++ b/pkg/tools/host/file.go
@@ -19,23 +19,37 @@ package host
 
 import (
        "os"
-       "strings"
+       "path"
 )
 
-var hostMappingPath string
+var (
+       hostProcMappingPath string
+       hostEtcMappingPath  string
+)
 
 func init() {
-       hostMappingPath = os.Getenv("ROVER_HOST_MAPPING")
+       hostProcMappingPath = os.Getenv("ROVER_HOST_PROC_MAPPING")
        // adapt with gopsutil framework to read the right process directory of 
host
-       if hostMappingPath != "" {
-               os.Setenv("HOST_PROC", hostMappingPath+"/proc")
+       if hostProcMappingPath != "" {
+               os.Setenv("HOST_PROC", hostProcMappingPath)
+       }
+       hostEtcMappingPath = os.Getenv("ROVER_HOST_ETC_MAPPING")
+}
+
+func GetHostProcInHost(procSubPath string) string {
+       if hostProcMappingPath != "" {
+               return cleanPath(hostProcMappingPath + "/" + procSubPath)
        }
+       return cleanPath("/proc/" + procSubPath)
 }
 
-// GetFileInHost means add the host root mapping prefix, it's dependent when 
the rover is deploy in a container
-func GetFileInHost(absPath string) string {
-       if hostMappingPath != "" && strings.HasPrefix(absPath, hostMappingPath) 
{
-               return absPath
+func GetHostEtcInHost(etcSubPath string) string {
+       if hostEtcMappingPath != "" {
+               return cleanPath(hostEtcMappingPath + "/" + etcSubPath)
        }
-       return hostMappingPath + absPath
+       return cleanPath("/etc/" + etcSubPath)
+}
+
+func cleanPath(p string) string {
+       return path.Clean(p)
 }
diff --git a/pkg/tools/operator/distribution.go 
b/pkg/tools/operator/distribution.go
index 4ea9304..423c8ba 100644
--- a/pkg/tools/operator/distribution.go
+++ b/pkg/tools/operator/distribution.go
@@ -38,8 +38,8 @@ type DistributionInfo struct {
 // GetDistributionInfo of machine
 func GetDistributionInfo() (*DistributionInfo, error) {
        var result = &DistributionInfo{}
-       tryingToFindDistributionByReleaseFile(result, "/etc/lsb-release", 
"DISTRIB_ID", "DISTRIB_RELEASE", "")
-       tryingToFindDistributionByReleaseFile(result, "/etc/os-release", "ID", 
"VERSION_ID", "")
+       tryingToFindDistributionByReleaseFile(result, "lsb-release", 
"DISTRIB_ID", "DISTRIB_RELEASE", "")
+       tryingToFindDistributionByReleaseFile(result, "os-release", "ID", 
"VERSION_ID", "")
 
        tryingToFindDistributionByCommand(result, "Distributor ID", "Release", 
"", "lsb_release", "-a")
        tryingToFindDistributionByCommand(result, "", "", "Architecture", 
"hostnamectl")
@@ -56,11 +56,11 @@ func GetDistributionInfo() (*DistributionInfo, error) {
        return result, nil
 }
 
-func tryingToFindDistributionByReleaseFile(data *DistributionInfo, filename, 
nameKey, versionKey, architectureKey string) {
+func tryingToFindDistributionByReleaseFile(data *DistributionInfo, 
etcSubFilename, nameKey, versionKey, architectureKey string) {
        if data.AllDataSuccess() {
                return
        }
-       file, err := os.Open(host.GetFileInHost(filename))
+       file, err := os.Open(host.GetHostEtcInHost(etcSubFilename))
        if err != nil {
                return
        }
diff --git a/pkg/tools/process/process.go b/pkg/tools/process/process.go
index b2b79d9..87930e2 100644
--- a/pkg/tools/process/process.go
+++ b/pkg/tools/process/process.go
@@ -55,10 +55,10 @@ var (
 
 // KernelFileProfilingStat is works for read the kernel and get is support for 
kernel symbol analyze
 func KernelFileProfilingStat() (*profiling.Info, error) {
-       if !kernelFinder.IsSupport(profiling.KernelSymbolFilePath) {
+       if !kernelFinder.IsSupport(profiling.KernelProcSymbolFilePath) {
                return nil, fmt.Errorf("not support kernel space profiling")
        }
-       return kernelFinder.Analyze(profiling.KernelSymbolFilePath)
+       return kernelFinder.Analyze(profiling.KernelProcSymbolFilePath)
 }
 
 // ProfilingStat is validating the exe file could be profiling and get info
@@ -95,7 +95,7 @@ func Modules(pid int32) ([]*profiling.Module, error) {
 
 func analyzeProfilingInfo(context *analyzeContext, pid int32) 
(*profiling.Info, error) {
        // analyze process mapping
-       mapFile, _ := os.Open(host2.GetFileInHost(fmt.Sprintf("/proc/%d/maps", 
pid)))
+       mapFile, _ := os.Open(host2.GetHostProcInHost(fmt.Sprintf("%d/maps", 
pid)))
        scanner := bufio.NewScanner(mapFile)
        modules := make(map[string]*profiling.Module)
        for scanner.Scan() {
@@ -126,7 +126,7 @@ func analyzeProfilingInfo(context *analyzeContext, pid 
int32) (*profiling.Info,
                        module.Ranges = append(module.Ranges, moduleRange)
                        continue
                }
-               modulePath := 
host2.GetFileInHost(fmt.Sprintf("/proc/%d/root%s", pid, moduleName))
+               modulePath := host2.GetHostProcInHost(fmt.Sprintf("%d/root%s", 
pid, moduleName))
                if !path.Exists(modulePath) {
                        log.Debugf("could not found the module, ignore. name: 
%s, path: %s", moduleName, modulePath)
                        continue
diff --git a/pkg/tools/profiling/api.go b/pkg/tools/profiling/api.go
index 518da05..d1ba207 100644
--- a/pkg/tools/profiling/api.go
+++ b/pkg/tools/profiling/api.go
@@ -29,7 +29,7 @@ import (
 type ModuleType int8
 
 var (
-       KernelSymbolFilePath = "/proc/kallsyms"
+       KernelProcSymbolFilePath = "kallsyms" // after host.GetHostProcInHost, 
should be "/proc/kallsyms"
 
        log = logger.GetLogger("tools", "profiling")
 )
diff --git a/pkg/tools/profiling/kernel.go b/pkg/tools/profiling/kernel.go
index 51a75c4..25d3dfe 100644
--- a/pkg/tools/profiling/kernel.go
+++ b/pkg/tools/profiling/kernel.go
@@ -33,20 +33,20 @@ type KernelFinder struct {
 }
 
 func NewKernelFinder() *KernelFinder {
-       stat, _ := os.Stat(host.GetFileInHost(KernelSymbolFilePath))
+       stat, _ := os.Stat(host.GetHostProcInHost(KernelProcSymbolFilePath))
        return &KernelFinder{kernelFileExists: stat != nil}
 }
 
 func (k *KernelFinder) IsSupport(filepath string) bool {
-       if filepath != KernelSymbolFilePath {
+       if filepath != KernelProcSymbolFilePath {
                return false
        }
-       stat, _ := os.Stat(filepath)
+       stat, _ := os.Stat(host.GetHostProcInHost(filepath))
        return stat != nil
 }
 
 func (k *KernelFinder) Analyze(filepath string) (*Info, error) {
-       kernelPath, err := os.Open(filepath)
+       kernelPath, err := os.Open(host.GetHostProcInHost(filepath))
        if err != nil {
                return nil, err
        }
diff --git a/pkg/tools/ssl/gotls.go b/pkg/tools/ssl/gotls.go
index 7520d27..2b2b3d7 100644
--- a/pkg/tools/ssl/gotls.go
+++ b/pkg/tools/ssl/gotls.go
@@ -85,7 +85,7 @@ func (r *Register) GoTLS(symbolAddrMap *ebpf.Map, write, 
writeRet, read, readRet
                if buildVersionSymbol == nil {
                        return false, nil
                }
-               pidExeFile := host.GetFileInHost(fmt.Sprintf("/proc/%d/exe", 
r.pid))
+               pidExeFile := host.GetHostProcInHost(fmt.Sprintf("%d/exe", 
r.pid))
                elfFile, err := elf.NewFile(pidExeFile)
                if err != nil {
                        return false, fmt.Errorf("read executable file error: 
%v", err)
diff --git a/test/e2e/cases/access_log/rover.yaml 
b/test/e2e/cases/access_log/rover.yaml
index e32f779..8b6a2a5 100644
--- a/test/e2e/cases/access_log/rover.yaml
+++ b/test/e2e/cases/access_log/rover.yaml
@@ -68,8 +68,8 @@ spec:
                 - SYS_ADMIN
             privileged: true
           volumeMounts:
-            - name: host
-              mountPath: /host
+            - name: host-proc
+              mountPath: /host-proc
               readOnly: true
             - name: host-sys
               mountPath: /sys
@@ -90,8 +90,8 @@ spec:
               value: "false"
             - name: 
ROVER_PROCESS_DISCOVERY_KUBERNETES_ANALYZER_ISTIO_APPLICATION_ACTIVE
               value: "false"
-            - name: ROVER_HOST_MAPPING
-              value: /host
+            - name: ROVER_HOST_PROC_MAPPING
+              value: /host-proc
             - name: ROVER_ACCESS_LOG_ACTIVE
               value: "true"
             - name: ROVER_ACCESS_LOG_FLUSH_PERIOD
@@ -100,9 +100,9 @@ spec:
       hostNetwork: true
       dnsPolicy: ClusterFirstWithHostNet
       volumes:
-        - name: host
+        - name: host-proc
           hostPath:
-            path: /host
+            path: /host/proc
             type: Directory
         - name: host-sys
           hostPath:
diff --git a/test/e2e/cases/process/istio/rover.yaml 
b/test/e2e/cases/process/istio/rover.yaml
index 7c8e0c2..501fe20 100644
--- a/test/e2e/cases/process/istio/rover.yaml
+++ b/test/e2e/cases/process/istio/rover.yaml
@@ -68,8 +68,8 @@ spec:
                 - SYS_ADMIN
             privileged: true
           volumeMounts:
-            - name: host
-              mountPath: /host
+            - name: host-proc
+              mountPath: /host-proc
               readOnly: true
           env:
             - name: ROVER_PROCESS_DISCOVERY_KUBERNETES_ACTIVE
@@ -89,15 +89,15 @@ spec:
               value: "true"
             - name: 
ROVER_PROCESS_DISCOVERY_KUBERNETES_ANALYZER_K8S_SERVICE_ACTIVE
               value: "false"
-            - name: ROVER_HOST_MAPPING
-              value: /host
+            - name: ROVER_HOST_PROC_MAPPING
+              value: /host-proc
             - name: ROVER_CORE_CLUSTER_NAME
               value: e2e
       hostPID: true
       hostNetwork: true
       dnsPolicy: ClusterFirstWithHostNet
       volumes:
-        - name: host
+        - name: host-proc
           hostPath:
-            path: /host
+            path: /host/proc
             type: Directory
\ No newline at end of file
diff --git a/test/e2e/cases/profiling/continuous/rover.yaml 
b/test/e2e/cases/profiling/continuous/rover.yaml
index 2b32bf2..fdbefb5 100644
--- a/test/e2e/cases/profiling/continuous/rover.yaml
+++ b/test/e2e/cases/profiling/continuous/rover.yaml
@@ -68,8 +68,8 @@ spec:
                 - SYS_ADMIN
             privileged: true
           volumeMounts:
-            - name: host
-              mountPath: /host
+            - name: host-proc
+              mountPath: /host-proc
               readOnly: true
           env:
             - name: ROVER_PROCESS_DISCOVERY_KUBERNETES_ACTIVE
@@ -93,13 +93,13 @@ spec:
               value: "test-continuous"
             - name: 
ROVER_PROCESS_DISCOVERY_KUBERNETES_ANALYZER_K8S_SERVICE_INSTANCE_NAME
               value: "test-instance"
-            - name: ROVER_HOST_MAPPING
-              value: /host
+            - name: ROVER_HOST_PROC_MAPPING
+              value: /host-proc
       hostPID: true
       hostNetwork: true
       dnsPolicy: ClusterFirstWithHostNet
       volumes:
-        - name: host
+        - name: host-proc
           hostPath:
-            path: /host
+            path: /host/proc
             type: Directory
\ No newline at end of file
diff --git a/test/e2e/cases/profiling/task/network/envoy/rover.yaml 
b/test/e2e/cases/profiling/task/network/envoy/rover.yaml
index de72937..9f33f60 100644
--- a/test/e2e/cases/profiling/task/network/envoy/rover.yaml
+++ b/test/e2e/cases/profiling/task/network/envoy/rover.yaml
@@ -68,8 +68,8 @@ spec:
                 - SYS_ADMIN
             privileged: true
           volumeMounts:
-            - name: host
-              mountPath: /host
+            - name: host-proc
+              mountPath: /host-proc
               readOnly: true
           env:
             - name: ROVER_PROCESS_DISCOVERY_KUBERNETES_ACTIVE
@@ -83,8 +83,8 @@ spec:
               value: skywalking-oap.istio-system:11800
             - name: 
ROVER_PROCESS_DISCOVERY_KUBERNETES_ANALYZER_K8S_SERVICE_ACTIVE
               value: "false"
-            - name: ROVER_HOST_MAPPING
-              value: /host
+            - name: ROVER_HOST_PROC_MAPPING
+              value: /host-proc
             - name: ROVER_LOGGER_LEVEL
               value: DEBUG
             - name: 
ROVER_PROCESS_DISCOVERY_KUBERNETES_ANALYZER_ISTIO_APPLICATION_PROCESS_NAME
@@ -97,7 +97,7 @@ spec:
       hostNetwork: true
       dnsPolicy: ClusterFirstWithHostNet
       volumes:
-        - name: host
+        - name: host-proc
           hostPath:
-            path: /host
+            path: /host/proc
             type: Directory
\ No newline at end of file
diff --git a/test/e2e/cases/profiling/task/network/rover.yaml 
b/test/e2e/cases/profiling/task/network/rover.yaml
index 1c543d5..9818c78 100644
--- a/test/e2e/cases/profiling/task/network/rover.yaml
+++ b/test/e2e/cases/profiling/task/network/rover.yaml
@@ -68,8 +68,8 @@ spec:
                 - SYS_ADMIN
             privileged: true
           volumeMounts:
-            - name: host
-              mountPath: /host
+            - name: host-proc
+              mountPath: /host-proc
               readOnly: true
           env:
             - name: ROVER_PROCESS_DISCOVERY_KUBERNETES_ACTIVE
@@ -95,13 +95,13 @@ spec:
               value: test
             - name: 
ROVER_PROCESS_DISCOVERY_KUBERNETES_ANALYZER_K8S_SERVICE_PROCESS_NAME
               value: service
-            - name: ROVER_HOST_MAPPING
-              value: /host
+            - name: ROVER_HOST_PROC_MAPPING
+              value: /host-proc
       hostPID: true
       hostNetwork: true
       dnsPolicy: ClusterFirstWithHostNet
       volumes:
-        - name: host
+        - name: host-proc
           hostPath:
-            path: /host
+            path: /host/proc
             type: Directory
\ No newline at end of file
diff --git a/test/e2e/cases/profiling/task/offcpu/rover.yaml 
b/test/e2e/cases/profiling/task/offcpu/rover.yaml
index 556bfe2..0c71974 100644
--- a/test/e2e/cases/profiling/task/offcpu/rover.yaml
+++ b/test/e2e/cases/profiling/task/offcpu/rover.yaml
@@ -68,8 +68,8 @@ spec:
                 - SYS_ADMIN
             privileged: true
           volumeMounts:
-            - name: host
-              mountPath: /host
+            - name: host-proc
+              mountPath: /host-proc
               readOnly: true
           env:
             - name: ROVER_PROCESS_DISCOVERY_KUBERNETES_ACTIVE
@@ -93,13 +93,13 @@ spec:
               value: "file"
             - name: 
ROVER_PROCESS_DISCOVERY_KUBERNETES_ANALYZER_K8S_SERVICE_INSTANCE_NAME
               value: "test-instance"
-            - name: ROVER_HOST_MAPPING
-              value: /host
+            - name: ROVER_HOST_PROC_MAPPING
+              value: /host-proc
       hostPID: true
       hostNetwork: true
       dnsPolicy: ClusterFirstWithHostNet
       volumes:
-        - name: host
+        - name: host-proc
           hostPath:
-            path: /host
+            path: /host/proc
             type: Directory
\ No newline at end of file
diff --git a/test/e2e/cases/profiling/task/oncpu/rover.yaml 
b/test/e2e/cases/profiling/task/oncpu/rover.yaml
index 5e88bdf..d14dd7b 100644
--- a/test/e2e/cases/profiling/task/oncpu/rover.yaml
+++ b/test/e2e/cases/profiling/task/oncpu/rover.yaml
@@ -68,8 +68,8 @@ spec:
                 - SYS_ADMIN
             privileged: true
           volumeMounts:
-            - name: host
-              mountPath: /host
+            - name: host-proc
+              mountPath: /host-proc
               readOnly: true
           env:
             - name: ROVER_PROCESS_DISCOVERY_KUBERNETES_ACTIVE
@@ -93,13 +93,13 @@ spec:
               value: "sqrt"
             - name: 
ROVER_PROCESS_DISCOVERY_KUBERNETES_ANALYZER_K8S_SERVICE_INSTANCE_NAME
               value: "test-instance"
-            - name: ROVER_HOST_MAPPING
-              value: /host
+            - name: ROVER_HOST_PROC_MAPPING
+              value: /host-proc
       hostPID: true
       hostNetwork: true
       dnsPolicy: ClusterFirstWithHostNet
       volumes:
-        - name: host
+        - name: host-proc
           hostPath:
-            path: /host
+            path: /host/proc
             type: Directory
\ No newline at end of file

Reply via email to