-
Notifications
You must be signed in to change notification settings - Fork 40.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Container Can not Run: oci runtime error: container_linux.go: not a directory. When mounting Configmaps and a subpath in the same directory #61545
Comments
/sig storage joel, does this look related to the overlapping volume work you did around the atomic writer volumes? (#60342) |
/kind bug |
cc @jsafrane |
A limitation of #60342 is that it assumes that mount points are directories, not files, when it pre-creates mount points (so that Docker won't attempt to and fail due to a RO volume). I think that the issue is that once a mount point is created as a directory within a configmap, Docker will fail to bind-mount a file over the top of the directory. If that's true, I'm not sure how we can fix this without being told not to create a nested mount point. Ugly! It's tempting to agree with @sjenning that we should just draw a line in the sand and say that we don't support nested volumes beneath API data volumes. @Joseph-Irving until we figure out a way to fix this, as a work-around, you may need to mount the config map elsewhere and create symlinks to its data. Edit: I wrote all of the above without actually trying anything out or looking at any code so I may be totally wrong in my interpretation. I won't have time to look at it until next week. |
Yes, when you bind mount, the target has to be the same file type as the source |
Hi, I was just wondering you had made any decisions in regard to this? If you've decided to not support this I think it would make sense to have a validation check on the API that will prevent you from creating a subPath in the same path as another volume, or at least catch the error and have it return something a bit more readable to prevent confusion. |
DOESN'T WORK: container_linux.go:247: starting container process caused "process_linux.go:364: container init caused \"rootfs_linux.go:54: mounting \\\"/var/lib/origin/openshift.local.volumes/pods/17fc70d1-54a5-11e8-9538-42010a8e0002/volume-subpaths/secret-key/awx-web/1\\\" to rootfs \\\"/var/lib/docker/overlay2/f6fe3a44129970b8a0f83f3242743813ddf991b17e379da919b912d398c1c720/merged\\\" at \\\"/var/lib/docker/overlay2/f6fe3a44129970b8a0f83f3242743813ddf991b17e379da919b912d398c1c720/merged/etc/tower/SECRET_KEY\\\" caused \\\"not a directory\\\"\"" known, kubernetes/kubernetes#61545
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Rotten issues close after 30d of inactivity. Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
@fejta-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
We are seeing the same issue: Versions:
Error causing the crashLoop
@nikhita could this be re-opened, is there a known fix, or a duplicate issue I should track? |
@Hashfyre I don't think there are any plans to address this in the near future because it would warrant an api change. Ref: #61563 (comment). |
- same like manila-share-netapp deployment - workaround for kubernetes/kubernetes#61545
/kind bug
What happened:
After upgrading to 1.94 (now on 1.9.6) I could not run my flannel container
The error is
What you expected to happen:
The container would be created and run
How to reproduce it (as minimally and precisely as possible):
Using this deployment I could reproduce it, the important part being that I'm mounting the configmap as directory and then mounting a file from the emptyDir as a SubPath in the same directory.
Anything else we need to know?:
Environment::
kubectl version
):AWS
uname -a
):Docker:
Storage driver is overlay2
The text was updated successfully, but these errors were encountered: