{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64005","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64005/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64005/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64005/events","html_url":"https://github.com/kubernetes/kubernetes/pull/64005","id":324241847,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg4OTAxNzM1","number":64005,"title":"Node-Level UserNamespace implementation","user":{"login":"vikaschoudhary16","id":11936386,"node_id":"MDQ6VXNlcjExOTM2Mzg2","avatar_url":"https://avatars3.githubusercontent.com/u/11936386?v=4","gravatar_id":"","url":"https://api.github.com/users/vikaschoudhary16","html_url":"https://github.com/vikaschoudhary16","followers_url":"https://api.github.com/users/vikaschoudhary16/followers","following_url":"https://api.github.com/users/vikaschoudhary16/following{/other_user}","gists_url":"https://api.github.com/users/vikaschoudhary16/gists{/gist_id}","starred_url":"https://api.github.com/users/vikaschoudhary16/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vikaschoudhary16/subscriptions","organizations_url":"https://api.github.com/users/vikaschoudhary16/orgs","repos_url":"https://api.github.com/users/vikaschoudhary16/repos","events_url":"https://api.github.com/users/vikaschoudhary16/events{/privacy}","received_events_url":"https://api.github.com/users/vikaschoudhary16/received_events","type":"User","site_admin":false},"labels":[{"id":451459590,"node_id":"MDU6TGFiZWw0NTE0NTk1OTA=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/area/kubeadm","name":"area/kubeadm","color":"0052cc","default":false},{"id":477397086,"node_id":"MDU6TGFiZWw0NzczOTcwODY=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":261005360,"node_id":"MDU6TGFiZWwyNjEwMDUzNjA=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/api-change","name":"kind/api-change","color":"c7def8","default":false},{"id":267761362,"node_id":"MDU6TGFiZWwyNjc3NjEzNjI=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/feature","name":"kind/feature","color":"c7def8","default":false},{"id":114528068,"node_id":"MDU6TGFiZWwxMTQ1MjgwNjg=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/priority/critical-urgent","name":"priority/critical-urgent","color":"e11d21","default":false},{"id":200149833,"node_id":"MDU6TGFiZWwyMDAxNDk4MzM=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note","name":"release-note","color":"c2e0c6","default":false},{"id":173494222,"node_id":"MDU6TGFiZWwxNzM0OTQyMjI=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/cluster-lifecycle","name":"sig/cluster-lifecycle","color":"d2b48c","default":false},{"id":173493665,"node_id":"MDU6TGFiZWwxNzM0OTM2NjU=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/node","name":"sig/node","color":"d2b48c","default":false},{"id":253451093,"node_id":"MDU6TGFiZWwyNTM0NTEwOTM=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/XXL","name":"size/XXL","color":"ee0000","default":false},{"id":611767149,"node_id":"MDU6TGFiZWw2MTE3NjcxNDk=","url":"https://api.github.com/repos/kubernetes/kubernetes/labels/status/approved-for-milestone","name":"status/approved-for-milestone","color":"fef2c0","default":false}],"state":"open","locked":false,"assignee":{"login":"sjenning","id":493891,"node_id":"MDQ6VXNlcjQ5Mzg5MQ==","avatar_url":"https://avatars2.githubusercontent.com/u/493891?v=4","gravatar_id":"","url":"https://api.github.com/users/sjenning","html_url":"https://github.com/sjenning","followers_url":"https://api.github.com/users/sjenning/followers","following_url":"https://api.github.com/users/sjenning/following{/other_user}","gists_url":"https://api.github.com/users/sjenning/gists{/gist_id}","starred_url":"https://api.github.com/users/sjenning/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjenning/subscriptions","organizations_url":"https://api.github.com/users/sjenning/orgs","repos_url":"https://api.github.com/users/sjenning/repos","events_url":"https://api.github.com/users/sjenning/events{/privacy}","received_events_url":"https://api.github.com/users/sjenning/received_events","type":"User","site_admin":false},"assignees":[{"login":"sjenning","id":493891,"node_id":"MDQ6VXNlcjQ5Mzg5MQ==","avatar_url":"https://avatars2.githubusercontent.com/u/493891?v=4","gravatar_id":"","url":"https://api.github.com/users/sjenning","html_url":"https://github.com/sjenning","followers_url":"https://api.github.com/users/sjenning/followers","following_url":"https://api.github.com/users/sjenning/following{/other_user}","gists_url":"https://api.github.com/users/sjenning/gists{/gist_id}","starred_url":"https://api.github.com/users/sjenning/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjenning/subscriptions","organizations_url":"https://api.github.com/users/sjenning/orgs","repos_url":"https://api.github.com/users/sjenning/repos","events_url":"https://api.github.com/users/sjenning/events{/privacy}","received_events_url":"https://api.github.com/users/sjenning/received_events","type":"User","site_admin":false},{"login":"derekwaynecarr","id":6233452,"node_id":"MDQ6VXNlcjYyMzM0NTI=","avatar_url":"https://avatars3.githubusercontent.com/u/6233452?v=4","gravatar_id":"","url":"https://api.github.com/users/derekwaynecarr","html_url":"https://github.com/derekwaynecarr","followers_url":"https://api.github.com/users/derekwaynecarr/followers","following_url":"https://api.github.com/users/derekwaynecarr/following{/other_user}","gists_url":"https://api.github.com/users/derekwaynecarr/gists{/gist_id}","starred_url":"https://api.github.com/users/derekwaynecarr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/derekwaynecarr/subscriptions","organizations_url":"https://api.github.com/users/derekwaynecarr/orgs","repos_url":"https://api.github.com/users/derekwaynecarr/repos","events_url":"https://api.github.com/users/derekwaynecarr/events{/privacy}","received_events_url":"https://api.github.com/users/derekwaynecarr/received_events","type":"User","site_admin":false},{"login":"dchen1107","id":7740897,"node_id":"MDQ6VXNlcjc3NDA4OTc=","avatar_url":"https://avatars2.githubusercontent.com/u/7740897?v=4","gravatar_id":"","url":"https://api.github.com/users/dchen1107","html_url":"https://github.com/dchen1107","followers_url":"https://api.github.com/users/dchen1107/followers","following_url":"https://api.github.com/users/dchen1107/following{/other_user}","gists_url":"https://api.github.com/users/dchen1107/gists{/gist_id}","starred_url":"https://api.github.com/users/dchen1107/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dchen1107/subscriptions","organizations_url":"https://api.github.com/users/dchen1107/orgs","repos_url":"https://api.github.com/users/dchen1107/repos","events_url":"https://api.github.com/users/dchen1107/events{/privacy}","received_events_url":"https://api.github.com/users/dchen1107/received_events","type":"User","site_admin":false},{"login":"yujuhong","id":10524058,"node_id":"MDQ6VXNlcjEwNTI0MDU4","avatar_url":"https://avatars1.githubusercontent.com/u/10524058?v=4","gravatar_id":"","url":"https://api.github.com/users/yujuhong","html_url":"https://github.com/yujuhong","followers_url":"https://api.github.com/users/yujuhong/followers","following_url":"https://api.github.com/users/yujuhong/following{/other_user}","gists_url":"https://api.github.com/users/yujuhong/gists{/gist_id}","starred_url":"https://api.github.com/users/yujuhong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yujuhong/subscriptions","organizations_url":"https://api.github.com/users/yujuhong/orgs","repos_url":"https://api.github.com/users/yujuhong/repos","events_url":"https://api.github.com/users/yujuhong/events{/privacy}","received_events_url":"https://api.github.com/users/yujuhong/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/38","html_url":"https://github.com/kubernetes/kubernetes/milestone/38","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones/38/labels","id":2848396,"node_id":"MDk6TWlsZXN0b25lMjg0ODM5Ng==","number":38,"title":"v1.11","description":null,"creator":{"login":"mtaufen","id":903617,"node_id":"MDQ6VXNlcjkwMzYxNw==","avatar_url":"https://avatars1.githubusercontent.com/u/903617?v=4","gravatar_id":"","url":"https://api.github.com/users/mtaufen","html_url":"https://github.com/mtaufen","followers_url":"https://api.github.com/users/mtaufen/followers","following_url":"https://api.github.com/users/mtaufen/following{/other_user}","gists_url":"https://api.github.com/users/mtaufen/gists{/gist_id}","starred_url":"https://api.github.com/users/mtaufen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtaufen/subscriptions","organizations_url":"https://api.github.com/users/mtaufen/orgs","repos_url":"https://api.github.com/users/mtaufen/repos","events_url":"https://api.github.com/users/mtaufen/events{/privacy}","received_events_url":"https://api.github.com/users/mtaufen/received_events","type":"User","site_admin":false},"open_issues":35,"closed_issues":296,"state":"open","created_at":"2017-10-18T17:24:38Z","updated_at":"2018-06-06T03:23:36Z","due_on":null,"closed_at":null},"comments":36,"created_at":"2018-05-18T01:41:24Z","updated_at":"2018-06-06T05:06:42Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/64005","html_url":"https://github.com/kubernetes/kubernetes/pull/64005","diff_url":"https://github.com/kubernetes/kubernetes/pull/64005.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/64005.patch"},"body":"**What this PR does / why we need it**:\r\nImplements https://github.com/kubernetes/community/pull/2067\r\n\r\n**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:\r\nFixes #\r\n\r\n**Special notes for your reviewer**:\r\ne2e tests will be added in a separate PR\r\n\r\n```release-note\r\nAdd node-level user-namespace support through a new feature gate `NodeUserNamespace`. This feature gate supersedes the existing feature gate `ExperimentalHostUserNamespaceDefaulting`. `ExperimentalHostUserNamespaceDefaulting`  feature gate is deprecated, not supported, and will be removed next release.\r\n```\r\n/cc @mrunalp @adelton @derekwaynecarr @sjenning @pweil- @euank @Random-Liu @yujuhong @dchen1107 @vishh @kubernetes/sig-node-pr-reviews \r\n/sig node"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/394941443","html_url":"https://github.com/kubernetes/kubernetes/pull/64005#issuecomment-394941443","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/64005","id":394941443,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NDk0MTQ0Mw==","user":{"login":"liggitt","id":980082,"node_id":"MDQ6VXNlcjk4MDA4Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/980082?v=4","gravatar_id":"","url":"https://api.github.com/users/liggitt","html_url":"https://github.com/liggitt","followers_url":"https://api.github.com/users/liggitt/followers","following_url":"https://api.github.com/users/liggitt/following{/other_user}","gists_url":"https://api.github.com/users/liggitt/gists{/gist_id}","starred_url":"https://api.github.com/users/liggitt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/liggitt/subscriptions","organizations_url":"https://api.github.com/users/liggitt/orgs","repos_url":"https://api.github.com/users/liggitt/repos","events_url":"https://api.github.com/users/liggitt/events{/privacy}","received_events_url":"https://api.github.com/users/liggitt/received_events","type":"User","site_admin":false},"created_at":"2018-06-06T05:06:42Z","updated_at":"2018-06-06T05:06:42Z","author_association":"MEMBER","body":"After reading through the [proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/node-usernamespace-remapping.md#implementation-roadmap) behind this and talking through the roadmap with @sjenning and @derekwaynecarr, there are still enough questions about the Pod API that this will have to slip to 1.12. \r\n\r\n* If there's no guarantee of host-level user namespace behavior today (it's runtime-defined), that implies the `hostUserNamespace` field might need to be handled as a tri-state: runtime-defined (as today), explicitly request isolation, or explicitly request host-level\r\n* The proposal references pod-level user-namespaces as a future effort, but the current Pod API only allows expressing \"host\" vs \"not host\". Because this field interacts with storage that is persistent across restarts and even across pods, we need to understand how we will preserve knowledge of which user namespace mode a pod was started in, so that we don't break access to persisted data on an upgrade. That might mean the usernamespace field needs to be an enum, not just a host/not-host bool.\r\n* Are container runtimes actually capable of simultaneously running containers with `hostUserNamespace: true` and `hostUserNamespace: false`? If not, that makes this field unique among the `host...` fields\r\n* The mismatch between host-level, node-level, and pod-level in the feature-gate, pod API, and CRI API is hard to follow. For example, to use a hostUserNamespace field, the NodeUserNamespace feature must be enabled. another example is https://github.com/vikaschoudhary16/kubernetes/blob/userns-new/pkg/kubelet/kuberuntime/helpers.go#L281-L288 using NamespaceMode_NODE to represent host-level, and NamespaceMode_POD to represent isolated, when in fact the namespace isn't pod-osolated, but a node-wide mapping.\r\n\r\n/milestone v1.12"}}
{"actor":{"display_login":"liggitt"}}