{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/49390","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/49390/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/49390/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/49390/events","html_url":"https://github.com/kubernetes/kubernetes/pull/49390","id":244709142,"number":49390,"title":"Add possibility to tag Amazon AWS EBS volumes through an annotation in PVC","user":{"login":"scholzj","id":5658439,"avatar_url":"https://avatars0.githubusercontent.com/u/5658439?v=4","gravatar_id":"","url":"https://api.github.com/users/scholzj","html_url":"https://github.com/scholzj","followers_url":"https://api.github.com/users/scholzj/followers","following_url":"https://api.github.com/users/scholzj/following{/other_user}","gists_url":"https://api.github.com/users/scholzj/gists{/gist_id}","starred_url":"https://api.github.com/users/scholzj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/scholzj/subscriptions","organizations_url":"https://api.github.com/users/scholzj/orgs","repos_url":"https://api.github.com/users/scholzj/repos","events_url":"https://api.github.com/users/scholzj/events{/privacy}","received_events_url":"https://api.github.com/users/scholzj/received_events","type":"User","site_admin":false},"labels":[{"id":477397086,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":200149833,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note","name":"release-note","color":"c2e0c6","default":false},{"id":253450934,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/M","name":"size/M","color":"eebb00","default":false}],"state":"open","locked":false,"assignee":{"login":"justinsb","id":100893,"avatar_url":"https://avatars2.githubusercontent.com/u/100893?v=4","gravatar_id":"","url":"https://api.github.com/users/justinsb","html_url":"https://github.com/justinsb","followers_url":"https://api.github.com/users/justinsb/followers","following_url":"https://api.github.com/users/justinsb/following{/other_user}","gists_url":"https://api.github.com/users/justinsb/gists{/gist_id}","starred_url":"https://api.github.com/users/justinsb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinsb/subscriptions","organizations_url":"https://api.github.com/users/justinsb/orgs","repos_url":"https://api.github.com/users/justinsb/repos","events_url":"https://api.github.com/users/justinsb/events{/privacy}","received_events_url":"https://api.github.com/users/justinsb/received_events","type":"User","site_admin":false},"assignees":[{"login":"gnufied","id":278,"avatar_url":"https://avatars0.githubusercontent.com/u/278?v=4","gravatar_id":"","url":"https://api.github.com/users/gnufied","html_url":"https://github.com/gnufied","followers_url":"https://api.github.com/users/gnufied/followers","following_url":"https://api.github.com/users/gnufied/following{/other_user}","gists_url":"https://api.github.com/users/gnufied/gists{/gist_id}","starred_url":"https://api.github.com/users/gnufied/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gnufied/subscriptions","organizations_url":"https://api.github.com/users/gnufied/orgs","repos_url":"https://api.github.com/users/gnufied/repos","events_url":"https://api.github.com/users/gnufied/events{/privacy}","received_events_url":"https://api.github.com/users/gnufied/received_events","type":"User","site_admin":false},{"login":"justinsb","id":100893,"avatar_url":"https://avatars2.githubusercontent.com/u/100893?v=4","gravatar_id":"","url":"https://api.github.com/users/justinsb","html_url":"https://github.com/justinsb","followers_url":"https://api.github.com/users/justinsb/followers","following_url":"https://api.github.com/users/justinsb/following{/other_user}","gists_url":"https://api.github.com/users/justinsb/gists{/gist_id}","starred_url":"https://api.github.com/users/justinsb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinsb/subscriptions","organizations_url":"https://api.github.com/users/justinsb/orgs","repos_url":"https://api.github.com/users/justinsb/repos","events_url":"https://api.github.com/users/justinsb/events{/privacy}","received_events_url":"https://api.github.com/users/justinsb/received_events","type":"User","site_admin":false},{"login":"saad-ali","id":10052848,"avatar_url":"https://avatars1.githubusercontent.com/u/10052848?v=4","gravatar_id":"","url":"https://api.github.com/users/saad-ali","html_url":"https://github.com/saad-ali","followers_url":"https://api.github.com/users/saad-ali/followers","following_url":"https://api.github.com/users/saad-ali/following{/other_user}","gists_url":"https://api.github.com/users/saad-ali/gists{/gist_id}","starred_url":"https://api.github.com/users/saad-ali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saad-ali/subscriptions","organizations_url":"https://api.github.com/users/saad-ali/orgs","repos_url":"https://api.github.com/users/saad-ali/repos","events_url":"https://api.github.com/users/saad-ali/events{/privacy}","received_events_url":"https://api.github.com/users/saad-ali/received_events","type":"User","site_admin":false}],"milestone":null,"comments":8,"created_at":"2017-07-21T15:44:29Z","updated_at":"2017-07-24T20:52:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/49390","html_url":"https://github.com/kubernetes/kubernetes/pull/49390","diff_url":"https://github.com/kubernetes/kubernetes/pull/49390.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/49390.patch"},"body":"**What this PR does / why we need it**:\r\nWhen running Kubernetes in enterprise environment (such as in my work) it is often required to attach some special tags to some resources such as disks or loadbalancers. Such tags are often used for security (what kind of data is stored on the disk) or cost splitting purposes (which project / department should pay for it). \r\n\r\nOn AWS, it is currently possible to tag ELB loadbalancers using the annotation in the service resource (`service.beta.kubernetes.io/aws-load-balancer-additional-resource-tags`). But it is not possible to tag EBS volumes. This PR adds the possibility to tag EBS volumes using annotation from persistent volume claim. The annotation name is used `volume.beta.kubernetes.io/aws-block-storage-additional-resource-tags`.\r\n\r\nTo avoid unnecessary duplication I also did some minor refactoring for the function parsing tags from annotation so that the same function can be used for both volumes and load balancers. The things are now split between `pkg/volume` and `pkg/cloudprovider`, but it seemed to me better than duplicating code.\r\n\r\n**Which issue this PR fixes**\r\nn/a\r\n\r\n**Special notes for your reviewer**:\r\nn/a\r\n\r\n**Release note**:\r\n```release-note\r\nAdd possibility to tag Amazon AWS EBS volumes through an annotation in PVC\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/317550922","html_url":"https://github.com/kubernetes/kubernetes/pull/49390#issuecomment-317550922","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/49390","id":317550922,"user":{"login":"k8s-merge-robot","id":13653959,"avatar_url":"https://avatars0.githubusercontent.com/u/13653959?v=4","gravatar_id":"","url":"https://api.github.com/users/k8s-merge-robot","html_url":"https://github.com/k8s-merge-robot","followers_url":"https://api.github.com/users/k8s-merge-robot/followers","following_url":"https://api.github.com/users/k8s-merge-robot/following{/other_user}","gists_url":"https://api.github.com/users/k8s-merge-robot/gists{/gist_id}","starred_url":"https://api.github.com/users/k8s-merge-robot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/k8s-merge-robot/subscriptions","organizations_url":"https://api.github.com/users/k8s-merge-robot/orgs","repos_url":"https://api.github.com/users/k8s-merge-robot/repos","events_url":"https://api.github.com/users/k8s-merge-robot/events{/privacy}","received_events_url":"https://api.github.com/users/k8s-merge-robot/received_events","type":"User","site_admin":false},"created_at":"2017-07-24T20:52:10Z","updated_at":"2017-07-24T20:52:10Z","body":"[APPROVALNOTIFIER] This PR is **NOT APPROVED**\n\nThis pull-request has been approved by: *<a href=\"https://github.com/kubernetes/kubernetes/pull/49390#\" title=\"Author self-approved\">scholzj</a>*\nWe suggest the following additional approver: **justinsb**\n\nAssign the PR to them by writing `/assign @justinsb` in a comment when ready.\n\n*No associated issue*. Update pull-request body to add a reference to an issue, or get approval with `/approve no-issue`\n\nThe full list of commands accepted by this bot can be found [here](https://github.com/kubernetes/test-infra/blob/master/commands.md).\n\n<details open>\nNeeds approval from an approver in each of these OWNERS Files:\n\n- **[pkg/cloudprovider/providers/aws/OWNERS](https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/aws/OWNERS)**\n- **[pkg/volume/aws_ebs/OWNERS](https://github.com/kubernetes/kubernetes/blob/master/pkg/volume/aws_ebs/OWNERS)**\n\nYou can indicate your approval by writing `/approve` in a comment\nYou can cancel your approval by writing `/approve cancel` in a comment\n</details>\n<!-- META={\"approvers\":[\"justinsb\"]} -->"}}
{"actor":{"display_login":"k8s-merge-robot"}}