{"action":"created","comment":{"url":"https://api.github.com/repos/kubernetes/website/pulls/comments/217847664","pull_request_review_id":155558998,"id":217847664,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxNzg0NzY2NA==","diff_hunk":"@@ -365,6 +365,42 @@ This applies only to significant, user-visible behaviors which impact the\n correctness of applications running on Kubernetes or that impact the\n administration of Kubernetes clusters, and which are being removed entirely.\n \n+The exception to the above rule are **feature-gates**. Feature gates are a set of\n+key=value pairs that enable users to enable/disable experimental features.\n+Features can be in Alpha, Beta or GA stage.\n+Due to the particular nature of feature gates we recommend that when features\n+hit GA, the correspondent feature gate be dropped.\n+\n+As a user of feature gates please consider that upon feedback on the experimental\n+feature, the feature gate will be removed when one of the following scenarios apply:\n+\n+  * The feature is enabled by default (it can go GA), the deprecation of the\n+     feature gate will be announced simultaneously.\n+  * The feature is dropped, then the deprecation of the feature and the corresponding\n+     feature gate are announced and both will be eventually removed at the same time.\n+  * The feature is a candidate to become a configurable option, this happens when the\n+     old behavior is needed by users. The new option is introduced as soon as we\n+     identify the need and it follows the feature lifecycle as well as feature\n+     deprecation rules.\n+\n+This ensures that users do not end up using a feature gate to turn on/off a feature\n+that is GA. However there is an exception to the above scenarios. At times the\n+old behavior requires a considerable amount of time before it can be deprecated and\n+removed. In this case the new feature might graduate to GA and be enabled by default\n+but the correspondent feature gate can only be removed once the old behavior is removed.\n+\n+Feature gates are not versioned in the same way as the previously discussed components,\n+therefore the rules for deprecation are as follows:\n+\n+**Rule #8a: Feature gates must function after their announced deprecation for no less than:**\n+\n+   * **GA: 6 months or 2 releases (whichever is longer)**\n+   * **Beta: 3 months or 1 release (whichever is longer)**\n+   * **Alpha: 0 releases**\n+\n+**Rule #8b: Feature gates must function as long as the old feature is not deprecated","path":"content/en/docs/reference/using-api/deprecation-policy.md","position":37,"original_position":37,"commit_id":"ae5a11ede00ef529e9bd9ace8aa52ef96d2ac239","original_commit_id":"ae5a11ede00ef529e9bd9ace8aa52ef96d2ac239","user":{"login":"thockin","id":5595220,"node_id":"MDQ6VXNlcjU1OTUyMjA=","avatar_url":"https://avatars0.githubusercontent.com/u/5595220?v=4","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},"body":"My interpretation of the discussion was that a gate should function for some time after final promotion to GA.\r\n\r\nAlpha features that are removed = remove the gate at the same time\r\n\r\nBeta features which are EOL'ed = deprecate the gate at the same time, remove at the same time\r\n\r\nBeta features which become GA = 6 months\r\n\r\n\r\nDid I mis-perceive?","created_at":"2018-09-14T21:30:44Z","updated_at":"2018-09-14T21:30:51Z","html_url":"https://github.com/kubernetes/website/pull/10294#discussion_r217847664","pull_request_url":"https://api.github.com/repos/kubernetes/website/pulls/10294","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/kubernetes/website/pulls/comments/217847664"},"html":{"href":"https://github.com/kubernetes/website/pull/10294#discussion_r217847664"},"pull_request":{"href":"https://api.github.com/repos/kubernetes/website/pulls/10294"}}},"pull_request":{"url":"https://api.github.com/repos/kubernetes/website/pulls/10294","id":215384027,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE1Mzg0MDI3","html_url":"https://github.com/kubernetes/website/pull/10294","diff_url":"https://github.com/kubernetes/website/pull/10294.diff","patch_url":"https://github.com/kubernetes/website/pull/10294.patch","issue_url":"https://api.github.com/repos/kubernetes/website/issues/10294","number":10294,"state":"open","locked":false,"title":"Added feature-gates deprecation guidelines and policy as per discussi…","user":{"login":"anlunas","id":28844903,"node_id":"MDQ6VXNlcjI4ODQ0OTAz","avatar_url":"https://avatars3.githubusercontent.com/u/28844903?v=4","gravatar_id":"","url":"https://api.github.com/users/anlunas","html_url":"https://github.com/anlunas","followers_url":"https://api.github.com/users/anlunas/followers","following_url":"https://api.github.com/users/anlunas/following{/other_user}","gists_url":"https://api.github.com/users/anlunas/gists{/gist_id}","starred_url":"https://api.github.com/users/anlunas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anlunas/subscriptions","organizations_url":"https://api.github.com/users/anlunas/orgs","repos_url":"https://api.github.com/users/anlunas/repos","events_url":"https://api.github.com/users/anlunas/events{/privacy}","received_events_url":"https://api.github.com/users/anlunas/received_events","type":"User","site_admin":false},"body":"Added feature-gates deprecation guidelines and policy as per discussion SIG-architecture meeting 6th Sept 2018. \r\nhttps://docs.google.com/document/d/1BusX-ipd9QK58HugU5R-sQF_z4a36oPmkKihv3vTx6o/edit?usp=sharing ","created_at":"2018-09-13T19:05:28Z","updated_at":"2018-09-14T21:30:51Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5b4c38610dafd554c3ed2a3516ec6a8ee8f3c610","assignee":{"login":"bradtopol","id":6720670,"node_id":"MDQ6VXNlcjY3MjA2NzA=","avatar_url":"https://avatars1.githubusercontent.com/u/6720670?v=4","gravatar_id":"","url":"https://api.github.com/users/bradtopol","html_url":"https://github.com/bradtopol","followers_url":"https://api.github.com/users/bradtopol/followers","following_url":"https://api.github.com/users/bradtopol/following{/other_user}","gists_url":"https://api.github.com/users/bradtopol/gists{/gist_id}","starred_url":"https://api.github.com/users/bradtopol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bradtopol/subscriptions","organizations_url":"https://api.github.com/users/bradtopol/orgs","repos_url":"https://api.github.com/users/bradtopol/repos","events_url":"https://api.github.com/users/bradtopol/events{/privacy}","received_events_url":"https://api.github.com/users/bradtopol/received_events","type":"User","site_admin":false},"assignees":[{"login":"bradtopol","id":6720670,"node_id":"MDQ6VXNlcjY3MjA2NzA=","avatar_url":"https://avatars1.githubusercontent.com/u/6720670?v=4","gravatar_id":"","url":"https://api.github.com/users/bradtopol","html_url":"https://github.com/bradtopol","followers_url":"https://api.github.com/users/bradtopol/followers","following_url":"https://api.github.com/users/bradtopol/following{/other_user}","gists_url":"https://api.github.com/users/bradtopol/gists{/gist_id}","starred_url":"https://api.github.com/users/bradtopol/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bradtopol/subscriptions","organizations_url":"https://api.github.com/users/bradtopol/orgs","repos_url":"https://api.github.com/users/bradtopol/repos","events_url":"https://api.github.com/users/bradtopol/events{/privacy}","received_events_url":"https://api.github.com/users/bradtopol/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"lavalamp","id":647318,"node_id":"MDQ6VXNlcjY0NzMxOA==","avatar_url":"https://avatars0.githubusercontent.com/u/647318?v=4","gravatar_id":"","url":"https://api.github.com/users/lavalamp","html_url":"https://github.com/lavalamp","followers_url":"https://api.github.com/users/lavalamp/followers","following_url":"https://api.github.com/users/lavalamp/following{/other_user}","gists_url":"https://api.github.com/users/lavalamp/gists{/gist_id}","starred_url":"https://api.github.com/users/lavalamp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lavalamp/subscriptions","organizations_url":"https://api.github.com/users/lavalamp/orgs","repos_url":"https://api.github.com/users/lavalamp/repos","events_url":"https://api.github.com/users/lavalamp/events{/privacy}","received_events_url":"https://api.github.com/users/lavalamp/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":484571291,"node_id":"MDU6TGFiZWw0ODQ1NzEyOTE=","url":"https://api.github.com/repos/kubernetes/website/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":764237957,"node_id":"MDU6TGFiZWw3NjQyMzc5NTc=","url":"https://api.github.com/repos/kubernetes/website/labels/do-not-merge/hold","name":"do-not-merge/hold","color":"e11d21","default":false},{"id":764236749,"node_id":"MDU6TGFiZWw3NjQyMzY3NDk=","url":"https://api.github.com/repos/kubernetes/website/labels/sig/architecture","name":"sig/architecture","color":"d2b48c","default":false},{"id":676038766,"node_id":"MDU6TGFiZWw2NzYwMzg3NjY=","url":"https://api.github.com/repos/kubernetes/website/labels/size/M","name":"size/M","color":"eebb00","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kubernetes/website/pulls/10294/commits","review_comments_url":"https://api.github.com/repos/kubernetes/website/pulls/10294/comments","review_comment_url":"https://api.github.com/repos/kubernetes/website/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes/website/issues/10294/comments","statuses_url":"https://api.github.com/repos/kubernetes/website/statuses/ae5a11ede00ef529e9bd9ace8aa52ef96d2ac239","head":{"label":"anlunas:feature-gates-deprecation-branch","ref":"feature-gates-deprecation-branch","sha":"ae5a11ede00ef529e9bd9ace8aa52ef96d2ac239","user":{"login":"anlunas","id":28844903,"node_id":"MDQ6VXNlcjI4ODQ0OTAz","avatar_url":"https://avatars3.githubusercontent.com/u/28844903?v=4","gravatar_id":"","url":"https://api.github.com/users/anlunas","html_url":"https://github.com/anlunas","followers_url":"https://api.github.com/users/anlunas/followers","following_url":"https://api.github.com/users/anlunas/following{/other_user}","gists_url":"https://api.github.com/users/anlunas/gists{/gist_id}","starred_url":"https://api.github.com/users/anlunas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anlunas/subscriptions","organizations_url":"https://api.github.com/users/anlunas/orgs","repos_url":"https://api.github.com/users/anlunas/repos","events_url":"https://api.github.com/users/anlunas/events{/privacy}","received_events_url":"https://api.github.com/users/anlunas/received_events","type":"User","site_admin":false},"repo":{"id":108183625,"node_id":"MDEwOlJlcG9zaXRvcnkxMDgxODM2MjU=","name":"website","full_name":"anlunas/website","owner":{"login":"anlunas","id":28844903,"node_id":"MDQ6VXNlcjI4ODQ0OTAz","avatar_url":"https://avatars3.githubusercontent.com/u/28844903?v=4","gravatar_id":"","url":"https://api.github.com/users/anlunas","html_url":"https://github.com/anlunas","followers_url":"https://api.github.com/users/anlunas/followers","following_url":"https://api.github.com/users/anlunas/following{/other_user}","gists_url":"https://api.github.com/users/anlunas/gists{/gist_id}","starred_url":"https://api.github.com/users/anlunas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anlunas/subscriptions","organizations_url":"https://api.github.com/users/anlunas/orgs","repos_url":"https://api.github.com/users/anlunas/repos","events_url":"https://api.github.com/users/anlunas/events{/privacy}","received_events_url":"https://api.github.com/users/anlunas/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/anlunas/website","description":"Kubernetes website and documentation repo: ","fork":true,"url":"https://api.github.com/repos/anlunas/website","forks_url":"https://api.github.com/repos/anlunas/website/forks","keys_url":"https://api.github.com/repos/anlunas/website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/anlunas/website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/anlunas/website/teams","hooks_url":"https://api.github.com/repos/anlunas/website/hooks","issue_events_url":"https://api.github.com/repos/anlunas/website/issues/events{/number}","events_url":"https://api.github.com/repos/anlunas/website/events","assignees_url":"https://api.github.com/repos/anlunas/website/assignees{/user}","branches_url":"https://api.github.com/repos/anlunas/website/branches{/branch}","tags_url":"https://api.github.com/repos/anlunas/website/tags","blobs_url":"https://api.github.com/repos/anlunas/website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/anlunas/website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/anlunas/website/git/refs{/sha}","trees_url":"https://api.github.com/repos/anlunas/website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/anlunas/website/statuses/{sha}","languages_url":"https://api.github.com/repos/anlunas/website/languages","stargazers_url":"https://api.github.com/repos/anlunas/website/stargazers","contributors_url":"https://api.github.com/repos/anlunas/website/contributors","subscribers_url":"https://api.github.com/repos/anlunas/website/subscribers","subscription_url":"https://api.github.com/repos/anlunas/website/subscription","commits_url":"https://api.github.com/repos/anlunas/website/commits{/sha}","git_commits_url":"https://api.github.com/repos/anlunas/website/git/commits{/sha}","comments_url":"https://api.github.com/repos/anlunas/website/comments{/number}","issue_comment_url":"https://api.github.com/repos/anlunas/website/issues/comments{/number}","contents_url":"https://api.github.com/repos/anlunas/website/contents/{+path}","compare_url":"https://api.github.com/repos/anlunas/website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/anlunas/website/merges","archive_url":"https://api.github.com/repos/anlunas/website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/anlunas/website/downloads","issues_url":"https://api.github.com/repos/anlunas/website/issues{/number}","pulls_url":"https://api.github.com/repos/anlunas/website/pulls{/number}","milestones_url":"https://api.github.com/repos/anlunas/website/milestones{/number}","notifications_url":"https://api.github.com/repos/anlunas/website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/anlunas/website/labels{/name}","releases_url":"https://api.github.com/repos/anlunas/website/releases{/id}","deployments_url":"https://api.github.com/repos/anlunas/website/deployments","created_at":"2017-10-24T21:05:45Z","updated_at":"2018-09-13T17:31:12Z","pushed_at":"2018-09-13T19:02:23Z","git_url":"git://github.com/anlunas/website.git","ssh_url":"git@github.com:anlunas/website.git","clone_url":"https://github.com/anlunas/website.git","svn_url":"https://github.com/anlunas/website","homepage":"https://kubernetes.io","size":125870,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"cc-by-4.0","name":"Creative Commons Attribution 4.0","spdx_id":"CC-BY-4.0","url":"https://api.github.com/licenses/cc-by-4.0","node_id":"MDc6TGljZW5zZTI1"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kubernetes:master","ref":"master","sha":"ee35f4518dd2ceb8d5a4f4386956f62d045d7a70","user":{"login":"kubernetes","id":13629408,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzNjI5NDA4","avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"repo":{"id":51478266,"node_id":"MDEwOlJlcG9zaXRvcnk1MTQ3ODI2Ng==","name":"website","full_name":"kubernetes/website","owner":{"login":"kubernetes","id":13629408,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzNjI5NDA4","avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kubernetes/website","description":"Kubernetes website and documentation repo: ","fork":false,"url":"https://api.github.com/repos/kubernetes/website","forks_url":"https://api.github.com/repos/kubernetes/website/forks","keys_url":"https://api.github.com/repos/kubernetes/website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubernetes/website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubernetes/website/teams","hooks_url":"https://api.github.com/repos/kubernetes/website/hooks","issue_events_url":"https://api.github.com/repos/kubernetes/website/issues/events{/number}","events_url":"https://api.github.com/repos/kubernetes/website/events","assignees_url":"https://api.github.com/repos/kubernetes/website/assignees{/user}","branches_url":"https://api.github.com/repos/kubernetes/website/branches{/branch}","tags_url":"https://api.github.com/repos/kubernetes/website/tags","blobs_url":"https://api.github.com/repos/kubernetes/website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubernetes/website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubernetes/website/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubernetes/website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubernetes/website/statuses/{sha}","languages_url":"https://api.github.com/repos/kubernetes/website/languages","stargazers_url":"https://api.github.com/repos/kubernetes/website/stargazers","contributors_url":"https://api.github.com/repos/kubernetes/website/contributors","subscribers_url":"https://api.github.com/repos/kubernetes/website/subscribers","subscription_url":"https://api.github.com/repos/kubernetes/website/subscription","commits_url":"https://api.github.com/repos/kubernetes/website/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubernetes/website/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubernetes/website/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubernetes/website/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubernetes/website/contents/{+path}","compare_url":"https://api.github.com/repos/kubernetes/website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubernetes/website/merges","archive_url":"https://api.github.com/repos/kubernetes/website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubernetes/website/downloads","issues_url":"https://api.github.com/repos/kubernetes/website/issues{/number}","pulls_url":"https://api.github.com/repos/kubernetes/website/pulls{/number}","milestones_url":"https://api.github.com/repos/kubernetes/website/milestones{/number}","notifications_url":"https://api.github.com/repos/kubernetes/website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubernetes/website/labels{/name}","releases_url":"https://api.github.com/repos/kubernetes/website/releases{/id}","deployments_url":"https://api.github.com/repos/kubernetes/website/deployments","created_at":"2016-02-10T22:46:48Z","updated_at":"2018-09-14T18:12:57Z","pushed_at":"2018-09-14T19:04:25Z","git_url":"git://github.com/kubernetes/website.git","ssh_url":"git@github.com:kubernetes/website.git","clone_url":"https://github.com/kubernetes/website.git","svn_url":"https://github.com/kubernetes/website","homepage":"https://kubernetes.io","size":157792,"stargazers_count":727,"watchers_count":727,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3173,"mirror_url":null,"archived":false,"open_issues_count":455,"license":{"key":"cc-by-4.0","name":"Creative Commons Attribution 4.0","spdx_id":"CC-BY-4.0","url":"https://api.github.com/licenses/cc-by-4.0","node_id":"MDc6TGljZW5zZTI1"},"forks":3173,"open_issues":455,"watchers":727,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes/website/pulls/10294"},"html":{"href":"https://github.com/kubernetes/website/pull/10294"},"issue":{"href":"https://api.github.com/repos/kubernetes/website/issues/10294"},"comments":{"href":"https://api.github.com/repos/kubernetes/website/issues/10294/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes/website/pulls/10294/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes/website/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes/website/pulls/10294/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes/website/statuses/ae5a11ede00ef529e9bd9ace8aa52ef96d2ac239"}},"author_association":"NONE"}}
{"actor":{"display_login":"thockin"}}