<p>If I create this pod:</p>

<pre><code>apiVersion: v1
kind: Pod
metadata:
name: dsm-manager
spec:
containers:
- name: dsm-manager
image: ******
imagePullPolicy: Always
command:
- /sbin/init
volumeMounts:
- mountPath: /srv/project/DSMManager/snapshots
name: dsm-snapshot-storage
volumes:
- name: dsm-snapshot-storage
awsElasticBlockStore:
volumeID: aws://us-west-2b/vol-43e44482
fsType: ext4
imagePullSecrets:
- name: dockerregistrykey
</code></pre>

<p>It always works, but if I delete it and re-create it it gets stuck with status 'CreatingContainer'. Looking in the events yields:<br>
-Unable to mount volumes for pod "dsm-manager_default": Timeout waiting for volume state<br>
-Error syncing pod, skipping: Timeout waiting for volume state</p>

<p>If I delete the pod and re-create it the same thing happens no matter what I do. However if I attach the volume to some instance and then detach it through the aws cli, then create the pod it works find. I'm wondering if the volume isn't being detached properly. For now I just have this odd work flow of attaching the volume to a random instance then detaching it while updating the container image</p>

<p>This is likely caused by a bug in the Kubernetes EBS management code, and should be fixed by <a href="https://github.com/kubernetes/kubernetes/pull/14493">PR #14493</a>. To summarize, not validating the device block cache was causing the kubelet to think the disk was still attached after it had actually been detached.</p>
