Repository: kubernetes
Issue: EBS volume remains attached
Labels: kind/bug,sig/storage,lifecycle/frozen,area/provider/aws

<!-- This form is for bug reports and feature requests ONLY! 

If you're looking for help check [Stack Overflow](https://stackoverflow.com/questions/tagged/kubernetes) and the [troubleshooting guide](https://kubernetes.io/docs/tasks/debug-application-cluster/troubleshooting/).
-->

**Is this a BUG REPORT or FEATURE REQUEST?**:

> Uncomment only one, leave it on its own line: 
>
/kind bug
> /kind feature

@kubernetes/sig-aws-bugs
@kubernetes/sig-storage-bugs

**What happened**:
A dynamic gp2 EBS volume fails detaching when it's PVC is deleted.

**What you expected to happen**:
The volume should detach from the node and be deleted.

**How to reproduce it (as minimally and precisely as possible)**:
1. Create a gp2 PVC in a custom namespace.
2. Attach the volume to a Pod that is serving NFS using it.
3. Delete the NFS deployment.
4. Delete PVC.
5. View PV logs (describe)

**Anything else we need to know?**:
The Pod is serving kernel space NFS with privileged execution enabled.

**PV logs show:**
`Name:		pvc-6d16e0e2-9e61-11e7-8d0a-020e29f6e7aa
Labels:		failure-domain.beta.kubernetes.io/region=eu-west-1
		failure-domain.beta.kubernetes.io/zone=eu-west-1c
Annotations:	kubernetes.io/createdby=aws-ebs-dynamic-provisioner
		pv.kubernetes.io/bound-by-controller=yes
		pv.kubernetes.io/provisioned-by=kubernetes.io/aws-ebs
StorageClass:	gp2
Status:		Released
Claim:		ns-lala/pvc-gp2-3-lala-my-second-env
Reclaim Policy:	Delete
Access Modes:	RWO
Capacity:	100Gi
Message:
Source:
    Type:	AWSElasticBlockStore (a Persistent Disk resource in AWS)
    VolumeID:	aws://eu-west-1c/vol-02e0d7af3a2ed3cd7
    FSType:	ext4
    Partition:	0
    ReadOnly:	false
Events:
  FirstSeen	LastSeen	Count	From				SubObjectPath	Type		Reason		Message
  ---------	--------	-----	----				-------------	--------	------		-------
  6m		6m		1	persistentvolume-controller			Normal		VolumeDelete	VolumeInUse: Volume vol-02e0d7af3a2ed3cd7 is currently attached to i-098542f86525fa716
		status code: 400, request id: 1f147f8f-46a4-4a84-a4c8-57fa36f1291c
  5m		5m	1	persistentvolume-controller		Normal	VolumeDelete	VolumeInUse: Volume vol-02e0d7af3a2ed3cd7 is currently attached to i-098542f86525fa716
		status code: 400, request id: 00e8ad51-235d-49e1-a6d9-7471a4783be7
  5m		5m	1	persistentvolume-controller		Normal	VolumeDelete	VolumeInUse: Volume vol-02e0d7af3a2ed3cd7 is currently attached to i-098542f86525fa716
		status code: 400, request id: d2dd099a-8078-462a-9fc4-4e22a7403aaf
  5m		5m	1	persistentvolume-controller		Normal	VolumeDelete	VolumeInUse: Volume vol-02e0d7af3a2ed3cd7 is currently attached to i-098542f86525fa716
		status code: 400, request id: ec0cc658-30f1-4a77-a30f-caf1f2f51b7a
  5m		5m	1	persistentvolume-controller		Normal	VolumeDelete	VolumeInUse: Volume vol-02e0d7af3a2ed3cd7 is currently attached to i-098542f86525fa716
		status code: 400, request id: 9d8d255f-25d9-4bf3-875e-511ab15bcbcf
  4m		4m	1	persistentvolume-controller		Normal	VolumeDelete	VolumeInUse: Volume vol-02e0d7af3a2ed3cd7 is currently attached to i-098542f86525fa716
		status code: 400, request id: 8fad4241-6e91-4405-9556-83d52ec64a36
  4m		4m	1	persistentvolume-controller		Normal	VolumeDelete	VolumeInUse: Volume vol-02e0d7af3a2ed3cd7 is currently attached to i-098542f86525fa716
		status code: 400, request id: 867143c0-8114-4260-a592-8aaa1a0b92ad
  3m		3m	1	persistentvolume-controller		Normal	VolumeDelete	VolumeInUse: Volume vol-02e0d7af3a2ed3cd7 is currently attached to i-098542f86525fa716
		status code: 400, request id: 30398105-fde1-42af-8c6b-e2bf84bed2bf
  2m		2m	1	persistentvolume-controller		Normal	VolumeDelete	VolumeInUse: Volume vol-02e0d7af3a2ed3cd7 is currently attached to i-098542f86525fa716`

**Environment**:
- Kubernetes version (use `kubectl version`): Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.7", GitCommit:"095136c3078ccf887b9034b7ce598a0a1faff769", GitTreeState:"clean", BuildDate:"2017-07-05T16:51:56Z", GoVersion:"go1.7.6", Compiler:"gc", Platform:"linux/amd64"}
- Cloud provider or hardware configuration**: AWS / m4.xlarge
- OS (e.g. from /etc/os-release): Debian GNU/Linux 8 (jessie)
- Kernel (e.g. `uname -a`): Linux ip-172-20-98-70 4.4.78-k8s #1 SMP Fri Jul 28 01:28:39 UTC 2017 x86_64 GNU/Linux
- Install tools: KOPS
- Others: None