Docker Client in Kubernetes (aos.c:488 error)

 

Has anyone gotten the accurev client working in a Kubernetes pod? We have made a Docker container with the AccuRev client. When running in our Amazon EKS cluster, we get this error following a login:

e.g.

accurev login <myuser> # Successful!
accurev info #F ails...Client time:    2022/05/03 14:12:10 UTC (1651587130)
Server time:    2022/05/03 14:12:10 UTC (1651587130)
-Error- 1 - aos.c:488 - Failure getting system drive table

The above command work just fine in a plain old Docker. They also work just fine in a local Kubernetes cluster via minikube. It only fails in our cluster in Amazon EKS.

It seems that that cluster doesn't allow something filesystem-wise that the accurev client needs. If only I could see the source code of aos.c, line 488 to figure out what it is doing!

Any thoughts?

Tags:

Top Replies

  • Verified Answer

    +1  

    Problem solved. The accurev CLI looks at /etc/mtab  to examine filesystem mounts. In certain Kubernetes clusters, that file didn't exist. The solution was to ensure that a symlink from /proc/mounts to /etc/mtab exists.

  • 0   in reply to Kirk Vogen

    This will work for insecure "rootfull" dockerd, but it is still an issue for "rootless" podman. Is there any way to have the accurev CLI not rely on /etc/mtab?

    Answer, I was able to workaround by adding "-v /etc/mtab:/etc/mtab" to the podman run command.