{"action":"created","comment":{"url":"https://api.github.com/repos/kubevirt/kubevirt/pulls/comments/197906390","pull_request_review_id":131741438,"id":197906390,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NzkwNjM5MA==","diff_hunk":"@@ -229,6 +229,7 @@ func main() {\n \treadinessFile := flag.String(\"readiness-file\", \"/tmp/health\", \"Pod looks for this file to determine when virt-launcher is initialized\")\n \tgracePeriodSeconds := flag.Int(\"grace-period-seconds\", 30, \"Grace period to observe before sending SIGTERM to vm process\")\n \tallowEmulation := flag.Bool(\"allow-emulation\", false, \"Allow fallback to emulation if /dev/kvm is not present\")\n+\trequestedHooks := flag.Uint(\"requested-hooks\", 0, \"Number of requested hooks, virt-launcher will wait for all of them to become available\")","path":"cmd/virt-launcher/virt-launcher.go","position":4,"original_position":4,"commit_id":"54e232c6945307bd4da4cc51c39cdf475beef55f","original_commit_id":"54e232c6945307bd4da4cc51c39cdf475beef55f","user":{"login":"senior7515","id":175206,"node_id":"MDQ6VXNlcjE3NTIwNg==","avatar_url":"https://avatars1.githubusercontent.com/u/175206?v=4","gravatar_id":"","url":"https://api.github.com/users/senior7515","html_url":"https://github.com/senior7515","followers_url":"https://api.github.com/users/senior7515/followers","following_url":"https://api.github.com/users/senior7515/following{/other_user}","gists_url":"https://api.github.com/users/senior7515/gists{/gist_id}","starred_url":"https://api.github.com/users/senior7515/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/senior7515/subscriptions","organizations_url":"https://api.github.com/users/senior7515/orgs","repos_url":"https://api.github.com/users/senior7515/repos","events_url":"https://api.github.com/users/senior7515/events{/privacy}","received_events_url":"https://api.github.com/users/senior7515/received_events","type":"User","site_admin":false},"body":"Requested hooks at first - I thought was a filter on the endpoints, but what this is - is a `sidecars-hooks` - minor nitpick ","created_at":"2018-06-25T19:00:21Z","updated_at":"2018-06-25T19:00:21Z","html_url":"https://github.com/kubevirt/kubevirt/pull/1171#discussion_r197906390","pull_request_url":"https://api.github.com/repos/kubevirt/kubevirt/pulls/1171","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/kubevirt/kubevirt/pulls/comments/197906390"},"html":{"href":"https://github.com/kubevirt/kubevirt/pull/1171#discussion_r197906390"},"pull_request":{"href":"https://api.github.com/repos/kubevirt/kubevirt/pulls/1171"}}},"pull_request":{"url":"https://api.github.com/repos/kubevirt/kubevirt/pulls/1171","id":195370446,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk1MzcwNDQ2","html_url":"https://github.com/kubevirt/kubevirt/pull/1171","diff_url":"https://github.com/kubevirt/kubevirt/pull/1171.diff","patch_url":"https://github.com/kubevirt/kubevirt/pull/1171.patch","issue_url":"https://api.github.com/repos/kubevirt/kubevirt/issues/1171","number":1171,"state":"open","locked":false,"title":"[WIP] Add hooking support","user":{"login":"phoracek","id":3493830,"node_id":"MDQ6VXNlcjM0OTM4MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/3493830?v=4","gravatar_id":"","url":"https://api.github.com/users/phoracek","html_url":"https://github.com/phoracek","followers_url":"https://api.github.com/users/phoracek/followers","following_url":"https://api.github.com/users/phoracek/following{/other_user}","gists_url":"https://api.github.com/users/phoracek/gists{/gist_id}","starred_url":"https://api.github.com/users/phoracek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phoracek/subscriptions","organizations_url":"https://api.github.com/users/phoracek/orgs","repos_url":"https://api.github.com/users/phoracek/repos","events_url":"https://api.github.com/users/phoracek/events{/privacy}","received_events_url":"https://api.github.com/users/phoracek/received_events","type":"User","site_admin":false},"body":"[Work in progress, will add more functionality in following patches.]\r\n\r\nThis PR should enable KubeVirt to support basic hooking support.\r\n\r\nWith the code in, it should be possible to enable hooking feature gate and request a hook sidecar using a VM annotation. This hook sidecar could subscribe to OnDomainDefine hook point and change the default Domain XML.\r\n\r\nThis PR does not cover security, if the feature gate is opened, anyone can request any hook sidecar. It also does not cover hooking framework (the reason for that is to make even bare gRPC communication well documented).","created_at":"2018-06-17T10:01:30Z","updated_at":"2018-06-25T19:00:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":{"login":"phoracek","id":3493830,"node_id":"MDQ6VXNlcjM0OTM4MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/3493830?v=4","gravatar_id":"","url":"https://api.github.com/users/phoracek","html_url":"https://github.com/phoracek","followers_url":"https://api.github.com/users/phoracek/followers","following_url":"https://api.github.com/users/phoracek/following{/other_user}","gists_url":"https://api.github.com/users/phoracek/gists{/gist_id}","starred_url":"https://api.github.com/users/phoracek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phoracek/subscriptions","organizations_url":"https://api.github.com/users/phoracek/orgs","repos_url":"https://api.github.com/users/phoracek/repos","events_url":"https://api.github.com/users/phoracek/events{/privacy}","received_events_url":"https://api.github.com/users/phoracek/received_events","type":"User","site_admin":false},"assignees":[{"login":"phoracek","id":3493830,"node_id":"MDQ6VXNlcjM0OTM4MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/3493830?v=4","gravatar_id":"","url":"https://api.github.com/users/phoracek","html_url":"https://github.com/phoracek","followers_url":"https://api.github.com/users/phoracek/followers","following_url":"https://api.github.com/users/phoracek/following{/other_user}","gists_url":"https://api.github.com/users/phoracek/gists{/gist_id}","starred_url":"https://api.github.com/users/phoracek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phoracek/subscriptions","organizations_url":"https://api.github.com/users/phoracek/orgs","repos_url":"https://api.github.com/users/phoracek/repos","events_url":"https://api.github.com/users/phoracek/events{/privacy}","received_events_url":"https://api.github.com/users/phoracek/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"vladikr","id":1035064,"node_id":"MDQ6VXNlcjEwMzUwNjQ=","avatar_url":"https://avatars3.githubusercontent.com/u/1035064?v=4","gravatar_id":"","url":"https://api.github.com/users/vladikr","html_url":"https://github.com/vladikr","followers_url":"https://api.github.com/users/vladikr/followers","following_url":"https://api.github.com/users/vladikr/following{/other_user}","gists_url":"https://api.github.com/users/vladikr/gists{/gist_id}","starred_url":"https://api.github.com/users/vladikr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vladikr/subscriptions","organizations_url":"https://api.github.com/users/vladikr/orgs","repos_url":"https://api.github.com/users/vladikr/repos","events_url":"https://api.github.com/users/vladikr/events{/privacy}","received_events_url":"https://api.github.com/users/vladikr/received_events","type":"User","site_admin":false},{"login":"stu-gott","id":7397746,"node_id":"MDQ6VXNlcjczOTc3NDY=","avatar_url":"https://avatars1.githubusercontent.com/u/7397746?v=4","gravatar_id":"","url":"https://api.github.com/users/stu-gott","html_url":"https://github.com/stu-gott","followers_url":"https://api.github.com/users/stu-gott/followers","following_url":"https://api.github.com/users/stu-gott/following{/other_user}","gists_url":"https://api.github.com/users/stu-gott/gists{/gist_id}","starred_url":"https://api.github.com/users/stu-gott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stu-gott/subscriptions","organizations_url":"https://api.github.com/users/stu-gott/orgs","repos_url":"https://api.github.com/users/stu-gott/repos","events_url":"https://api.github.com/users/stu-gott/events{/privacy}","received_events_url":"https://api.github.com/users/stu-gott/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":971140814,"node_id":"MDU6TGFiZWw5NzExNDA4MTQ=","url":"https://api.github.com/repos/kubevirt/kubevirt/labels/size/XXL","name":"size/XXL","color":"ee0000","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kubevirt/kubevirt/pulls/1171/commits","review_comments_url":"https://api.github.com/repos/kubevirt/kubevirt/pulls/1171/comments","review_comment_url":"https://api.github.com/repos/kubevirt/kubevirt/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubevirt/kubevirt/issues/1171/comments","statuses_url":"https://api.github.com/repos/kubevirt/kubevirt/statuses/54e232c6945307bd4da4cc51c39cdf475beef55f","head":{"label":"phoracek:hooks","ref":"hooks","sha":"54e232c6945307bd4da4cc51c39cdf475beef55f","user":{"login":"phoracek","id":3493830,"node_id":"MDQ6VXNlcjM0OTM4MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/3493830?v=4","gravatar_id":"","url":"https://api.github.com/users/phoracek","html_url":"https://github.com/phoracek","followers_url":"https://api.github.com/users/phoracek/followers","following_url":"https://api.github.com/users/phoracek/following{/other_user}","gists_url":"https://api.github.com/users/phoracek/gists{/gist_id}","starred_url":"https://api.github.com/users/phoracek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phoracek/subscriptions","organizations_url":"https://api.github.com/users/phoracek/orgs","repos_url":"https://api.github.com/users/phoracek/repos","events_url":"https://api.github.com/users/phoracek/events{/privacy}","received_events_url":"https://api.github.com/users/phoracek/received_events","type":"User","site_admin":false},"repo":{"id":114942048,"node_id":"MDEwOlJlcG9zaXRvcnkxMTQ5NDIwNDg=","name":"kubevirt","full_name":"phoracek/kubevirt","owner":{"login":"phoracek","id":3493830,"node_id":"MDQ6VXNlcjM0OTM4MzA=","avatar_url":"https://avatars1.githubusercontent.com/u/3493830?v=4","gravatar_id":"","url":"https://api.github.com/users/phoracek","html_url":"https://github.com/phoracek","followers_url":"https://api.github.com/users/phoracek/followers","following_url":"https://api.github.com/users/phoracek/following{/other_user}","gists_url":"https://api.github.com/users/phoracek/gists{/gist_id}","starred_url":"https://api.github.com/users/phoracek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/phoracek/subscriptions","organizations_url":"https://api.github.com/users/phoracek/orgs","repos_url":"https://api.github.com/users/phoracek/repos","events_url":"https://api.github.com/users/phoracek/events{/privacy}","received_events_url":"https://api.github.com/users/phoracek/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/phoracek/kubevirt","description":"A virtualization API and runtime add-on for Kubernetes in order to define and manage virtual machines.","fork":true,"url":"https://api.github.com/repos/phoracek/kubevirt","forks_url":"https://api.github.com/repos/phoracek/kubevirt/forks","keys_url":"https://api.github.com/repos/phoracek/kubevirt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/phoracek/kubevirt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/phoracek/kubevirt/teams","hooks_url":"https://api.github.com/repos/phoracek/kubevirt/hooks","issue_events_url":"https://api.github.com/repos/phoracek/kubevirt/issues/events{/number}","events_url":"https://api.github.com/repos/phoracek/kubevirt/events","assignees_url":"https://api.github.com/repos/phoracek/kubevirt/assignees{/user}","branches_url":"https://api.github.com/repos/phoracek/kubevirt/branches{/branch}","tags_url":"https://api.github.com/repos/phoracek/kubevirt/tags","blobs_url":"https://api.github.com/repos/phoracek/kubevirt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/phoracek/kubevirt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/phoracek/kubevirt/git/refs{/sha}","trees_url":"https://api.github.com/repos/phoracek/kubevirt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/phoracek/kubevirt/statuses/{sha}","languages_url":"https://api.github.com/repos/phoracek/kubevirt/languages","stargazers_url":"https://api.github.com/repos/phoracek/kubevirt/stargazers","contributors_url":"https://api.github.com/repos/phoracek/kubevirt/contributors","subscribers_url":"https://api.github.com/repos/phoracek/kubevirt/subscribers","subscription_url":"https://api.github.com/repos/phoracek/kubevirt/subscription","commits_url":"https://api.github.com/repos/phoracek/kubevirt/commits{/sha}","git_commits_url":"https://api.github.com/repos/phoracek/kubevirt/git/commits{/sha}","comments_url":"https://api.github.com/repos/phoracek/kubevirt/comments{/number}","issue_comment_url":"https://api.github.com/repos/phoracek/kubevirt/issues/comments{/number}","contents_url":"https://api.github.com/repos/phoracek/kubevirt/contents/{+path}","compare_url":"https://api.github.com/repos/phoracek/kubevirt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/phoracek/kubevirt/merges","archive_url":"https://api.github.com/repos/phoracek/kubevirt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/phoracek/kubevirt/downloads","issues_url":"https://api.github.com/repos/phoracek/kubevirt/issues{/number}","pulls_url":"https://api.github.com/repos/phoracek/kubevirt/pulls{/number}","milestones_url":"https://api.github.com/repos/phoracek/kubevirt/milestones{/number}","notifications_url":"https://api.github.com/repos/phoracek/kubevirt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/phoracek/kubevirt/labels{/name}","releases_url":"https://api.github.com/repos/phoracek/kubevirt/releases{/id}","deployments_url":"https://api.github.com/repos/phoracek/kubevirt/deployments","created_at":"2017-12-20T23:55:05Z","updated_at":"2017-12-20T23:55:08Z","pushed_at":"2018-06-24T20:29:13Z","git_url":"git://github.com/phoracek/kubevirt.git","ssh_url":"git@github.com:phoracek/kubevirt.git","clone_url":"https://github.com/phoracek/kubevirt.git","svn_url":"https://github.com/phoracek/kubevirt","homepage":"","size":65665,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kubevirt:master","ref":"master","sha":"f38377abba0b7595d4dbc6da7887a188fac7f78f","user":{"login":"kubevirt","id":18700703,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4NzAwNzAz","avatar_url":"https://avatars1.githubusercontent.com/u/18700703?v=4","gravatar_id":"","url":"https://api.github.com/users/kubevirt","html_url":"https://github.com/kubevirt","followers_url":"https://api.github.com/users/kubevirt/followers","following_url":"https://api.github.com/users/kubevirt/following{/other_user}","gists_url":"https://api.github.com/users/kubevirt/gists{/gist_id}","starred_url":"https://api.github.com/users/kubevirt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubevirt/subscriptions","organizations_url":"https://api.github.com/users/kubevirt/orgs","repos_url":"https://api.github.com/users/kubevirt/repos","events_url":"https://api.github.com/users/kubevirt/events{/privacy}","received_events_url":"https://api.github.com/users/kubevirt/received_events","type":"Organization","site_admin":false},"repo":{"id":76686583,"node_id":"MDEwOlJlcG9zaXRvcnk3NjY4NjU4Mw==","name":"kubevirt","full_name":"kubevirt/kubevirt","owner":{"login":"kubevirt","id":18700703,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4NzAwNzAz","avatar_url":"https://avatars1.githubusercontent.com/u/18700703?v=4","gravatar_id":"","url":"https://api.github.com/users/kubevirt","html_url":"https://github.com/kubevirt","followers_url":"https://api.github.com/users/kubevirt/followers","following_url":"https://api.github.com/users/kubevirt/following{/other_user}","gists_url":"https://api.github.com/users/kubevirt/gists{/gist_id}","starred_url":"https://api.github.com/users/kubevirt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubevirt/subscriptions","organizations_url":"https://api.github.com/users/kubevirt/orgs","repos_url":"https://api.github.com/users/kubevirt/repos","events_url":"https://api.github.com/users/kubevirt/events{/privacy}","received_events_url":"https://api.github.com/users/kubevirt/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kubevirt/kubevirt","description":"Kubernetes Virtualization Operator with API and runtime in order to define and manage virtual machines.","fork":false,"url":"https://api.github.com/repos/kubevirt/kubevirt","forks_url":"https://api.github.com/repos/kubevirt/kubevirt/forks","keys_url":"https://api.github.com/repos/kubevirt/kubevirt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubevirt/kubevirt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubevirt/kubevirt/teams","hooks_url":"https://api.github.com/repos/kubevirt/kubevirt/hooks","issue_events_url":"https://api.github.com/repos/kubevirt/kubevirt/issues/events{/number}","events_url":"https://api.github.com/repos/kubevirt/kubevirt/events","assignees_url":"https://api.github.com/repos/kubevirt/kubevirt/assignees{/user}","branches_url":"https://api.github.com/repos/kubevirt/kubevirt/branches{/branch}","tags_url":"https://api.github.com/repos/kubevirt/kubevirt/tags","blobs_url":"https://api.github.com/repos/kubevirt/kubevirt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubevirt/kubevirt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubevirt/kubevirt/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubevirt/kubevirt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubevirt/kubevirt/statuses/{sha}","languages_url":"https://api.github.com/repos/kubevirt/kubevirt/languages","stargazers_url":"https://api.github.com/repos/kubevirt/kubevirt/stargazers","contributors_url":"https://api.github.com/repos/kubevirt/kubevirt/contributors","subscribers_url":"https://api.github.com/repos/kubevirt/kubevirt/subscribers","subscription_url":"https://api.github.com/repos/kubevirt/kubevirt/subscription","commits_url":"https://api.github.com/repos/kubevirt/kubevirt/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubevirt/kubevirt/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubevirt/kubevirt/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubevirt/kubevirt/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubevirt/kubevirt/contents/{+path}","compare_url":"https://api.github.com/repos/kubevirt/kubevirt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubevirt/kubevirt/merges","archive_url":"https://api.github.com/repos/kubevirt/kubevirt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubevirt/kubevirt/downloads","issues_url":"https://api.github.com/repos/kubevirt/kubevirt/issues{/number}","pulls_url":"https://api.github.com/repos/kubevirt/kubevirt/pulls{/number}","milestones_url":"https://api.github.com/repos/kubevirt/kubevirt/milestones{/number}","notifications_url":"https://api.github.com/repos/kubevirt/kubevirt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubevirt/kubevirt/labels{/name}","releases_url":"https://api.github.com/repos/kubevirt/kubevirt/releases{/id}","deployments_url":"https://api.github.com/repos/kubevirt/kubevirt/deployments","created_at":"2016-12-16T21:24:26Z","updated_at":"2018-06-25T18:13:18Z","pushed_at":"2018-06-25T18:14:04Z","git_url":"git://github.com/kubevirt/kubevirt.git","ssh_url":"git@github.com:kubevirt/kubevirt.git","clone_url":"https://github.com/kubevirt/kubevirt.git","svn_url":"https://github.com/kubevirt/kubevirt","homepage":"","size":82150,"stargazers_count":707,"watchers_count":707,"language":"Go","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":149,"mirror_url":null,"archived":false,"open_issues_count":136,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":149,"open_issues":136,"watchers":707,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubevirt/kubevirt/pulls/1171"},"html":{"href":"https://github.com/kubevirt/kubevirt/pull/1171"},"issue":{"href":"https://api.github.com/repos/kubevirt/kubevirt/issues/1171"},"comments":{"href":"https://api.github.com/repos/kubevirt/kubevirt/issues/1171/comments"},"review_comments":{"href":"https://api.github.com/repos/kubevirt/kubevirt/pulls/1171/comments"},"review_comment":{"href":"https://api.github.com/repos/kubevirt/kubevirt/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubevirt/kubevirt/pulls/1171/commits"},"statuses":{"href":"https://api.github.com/repos/kubevirt/kubevirt/statuses/54e232c6945307bd4da4cc51c39cdf475beef55f"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"senior7515"}}