{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/10563","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/10563/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/10563/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/10563/events","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/10563","id":92169801,"number":10563,"title":"rbd mount fencing","user":{"login":"rootfs","id":7062400,"avatar_url":"https://avatars.githubusercontent.com/u/7062400?v=3","gravatar_id":"","url":"https://api.github.com/users/rootfs","html_url":"https://github.com/rootfs","followers_url":"https://api.github.com/users/rootfs/followers","following_url":"https://api.github.com/users/rootfs/following{/other_user}","gists_url":"https://api.github.com/users/rootfs/gists{/gist_id}","starred_url":"https://api.github.com/users/rootfs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rootfs/subscriptions","organizations_url":"https://api.github.com/users/rootfs/orgs","repos_url":"https://api.github.com/users/rootfs/repos","events_url":"https://api.github.com/users/rootfs/events{/privacy}","received_events_url":"https://api.github.com/users/rootfs/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf"}],"state":"open","locked":false,"assignee":{"login":"thockin","id":5595220,"avatar_url":"https://avatars.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"milestone":null,"comments":6,"created_at":"2015-06-30T18:46:53Z","updated_at":"2015-07-06T16:42:46Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/pulls/10563","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/10563","diff_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/10563.diff","patch_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/10563.patch"},"body":"This aims to fix #10462.\r\n\r\nIn event of multiple pods mounting the same rbd volume, only one can succeed. This avoids multiple pod writing to the rbd volume and corrupt data.\r\n\r\nrbd mount fencing uses [rbd lock add|remove|list](http://ceph.com/docs/master/man/8/rbd/). Kubelet mounter checks if the rbd image has a lock, if lock exists and is held by others, then no more mount and kubelet fails the pod. Read-only mount can still go without checking lock.\r\n\r\nStill running tests to rule out regression. Big appreciation for volunteers helping me test it."},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments/118920854","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/pull/10563#issuecomment-118920854","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/10563","id":118920854,"user":{"login":"thockin","id":5595220,"avatar_url":"https://avatars.githubusercontent.com/u/5595220?v=3","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"created_at":"2015-07-06T16:42:46Z","updated_at":"2015-07-06T16:42:46Z","body":"I see.  It feels brittle but I can't find a reason it won't work off the top of my head.\r\n\r\nLGTM, but I don't think this can go in before 1.0"}}