{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27447","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27447/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27447/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27447/events","html_url":"https://github.com/kubernetes/kubernetes/pull/27447","id":160477802,"number":27447,"title":"Add e2e tests for network policy","user":{"login":"robbrockbank","id":3227729,"avatar_url":"https://avatars.githubusercontent.com/u/3227729?v=3","gravatar_id":"","url":"https://api.github.com/users/robbrockbank","html_url":"https://github.com/robbrockbank","followers_url":"https://api.github.com/users/robbrockbank/followers","following_url":"https://api.github.com/users/robbrockbank/following{/other_user}","gists_url":"https://api.github.com/users/robbrockbank/gists{/gist_id}","starred_url":"https://api.github.com/users/robbrockbank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbrockbank/subscriptions","organizations_url":"https://api.github.com/users/robbrockbank/orgs","repos_url":"https://api.github.com/users/robbrockbank/repos","events_url":"https://api.github.com/users/robbrockbank/events{/privacy}","received_events_url":"https://api.github.com/users/robbrockbank/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cla:%20yes","name":"cla: yes","color":"bfe5bf"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note-none","name":"release-note-none","color":"c2e0c6"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/XL","name":"size/XL","color":"ee5500"}],"state":"closed","locked":false,"assignee":{"login":"caseydavenport","id":1944093,"avatar_url":"https://avatars.githubusercontent.com/u/1944093?v=3","gravatar_id":"","url":"https://api.github.com/users/caseydavenport","html_url":"https://github.com/caseydavenport","followers_url":"https://api.github.com/users/caseydavenport/followers","following_url":"https://api.github.com/users/caseydavenport/following{/other_user}","gists_url":"https://api.github.com/users/caseydavenport/gists{/gist_id}","starred_url":"https://api.github.com/users/caseydavenport/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caseydavenport/subscriptions","organizations_url":"https://api.github.com/users/caseydavenport/orgs","repos_url":"https://api.github.com/users/caseydavenport/repos","events_url":"https://api.github.com/users/caseydavenport/events{/privacy}","received_events_url":"https://api.github.com/users/caseydavenport/received_events","type":"User","site_admin":false},"assignees":[{"login":"caseydavenport","id":1944093,"avatar_url":"https://avatars.githubusercontent.com/u/1944093?v=3","gravatar_id":"","url":"https://api.github.com/users/caseydavenport","html_url":"https://github.com/caseydavenport","followers_url":"https://api.github.com/users/caseydavenport/followers","following_url":"https://api.github.com/users/caseydavenport/following{/other_user}","gists_url":"https://api.github.com/users/caseydavenport/gists{/gist_id}","starred_url":"https://api.github.com/users/caseydavenport/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/caseydavenport/subscriptions","organizations_url":"https://api.github.com/users/caseydavenport/orgs","repos_url":"https://api.github.com/users/caseydavenport/repos","events_url":"https://api.github.com/users/caseydavenport/events{/privacy}","received_events_url":"https://api.github.com/users/caseydavenport/received_events","type":"User","site_admin":false}],"milestone":null,"comments":18,"created_at":"2016-06-15T17:21:55Z","updated_at":"2016-10-27T15:35:43Z","closed_at":"2016-10-27T15:35:43Z","pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/27447","html_url":"https://github.com/kubernetes/kubernetes/pull/27447","diff_url":"https://github.com/kubernetes/kubernetes/pull/27447.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/27447.patch"},"body":"This PR adds a new set of e2e tests for testing network policy.  It has been run successfully against a deployment using Calico as the network policy provider.\r\n\r\nSee https://github.com/kubernetes/kubernetes/pull/25638 for PR that added NetworkPolicy resource.\r\n\r\nThe PR consists of:\r\n-  A new netmonitor container.  This is based on the existing network-tester container (test/images/network-tester) but rather than being a single-shot (succeed when connectivity is X), this container returns a dynamic view of the connectivity - thus is more suitable to changing network policy in-place and seeing how connectivity is affected.  The initial implementation in this PR just supports TCP - but could be updated to support UDP as well.  The interface is sufficiently different to network-tester to warrant a separate container.\r\n- A new e2e test file (/test/e2e/network_policy.go) which tests TCP connectivity between pods in two services, with full isolation, mono-directional connectivity and bi-directional connectivity.\r\n\r\nFuture work, not included in this PR would be to include:\r\n-  UDP connectivity\r\n-  Other more complicated label based policy\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.kubernetes.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/27447)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/256677744","html_url":"https://github.com/kubernetes/kubernetes/pull/27447#issuecomment-256677744","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27447","id":256677744,"user":{"login":"robbrockbank","id":3227729,"avatar_url":"https://avatars.githubusercontent.com/u/3227729?v=3","gravatar_id":"","url":"https://api.github.com/users/robbrockbank","html_url":"https://github.com/robbrockbank","followers_url":"https://api.github.com/users/robbrockbank/followers","following_url":"https://api.github.com/users/robbrockbank/following{/other_user}","gists_url":"https://api.github.com/users/robbrockbank/gists{/gist_id}","starred_url":"https://api.github.com/users/robbrockbank/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbrockbank/subscriptions","organizations_url":"https://api.github.com/users/robbrockbank/orgs","repos_url":"https://api.github.com/users/robbrockbank/repos","events_url":"https://api.github.com/users/robbrockbank/events{/privacy}","received_events_url":"https://api.github.com/users/robbrockbank/received_events","type":"User","site_admin":false},"created_at":"2016-10-27T15:35:43Z","updated_at":"2016-10-27T15:35:43Z","body":"Closing - this is being reworked from the ground up by @djosborne."}}
{"actor":{"display_login":"robbrockbank"}}