{"action":"created","comment":{"url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/comments/25780889","id":25780889,"diff_hunk":"@@ -0,0 +1,254 @@\n+#!/usr/bin/python","path":"roles/openshift_common/library/openshift_manage_iptables.py","position":1,"original_position":1,"commit_id":"826c3ac7eeedc3e88fa8d6011801624d686524cd","original_commit_id":"826c3ac7eeedc3e88fa8d6011801624d686524cd","user":{"login":"twiest","id":732867,"avatar_url":"https://avatars.githubusercontent.com/u/732867?v=3","gravatar_id":"","url":"https://api.github.com/users/twiest","html_url":"https://github.com/twiest","followers_url":"https://api.github.com/users/twiest/followers","following_url":"https://api.github.com/users/twiest/following{/other_user}","gists_url":"https://api.github.com/users/twiest/gists{/gist_id}","starred_url":"https://api.github.com/users/twiest/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/twiest/subscriptions","organizations_url":"https://api.github.com/users/twiest/orgs","repos_url":"https://api.github.com/users/twiest/repos","events_url":"https://api.github.com/users/twiest/events{/privacy}","received_events_url":"https://api.github.com/users/twiest/received_events","type":"User","site_admin":false},"body":"To keep our python code as consistent as possible, we've been adding the following line to the top of all of our python scripts. I know it doesn't solve all consistency problems, but it solves a lot of them.\r\n\r\n# vim: expandtab:tabstop=4:shiftwidth=4","created_at":"2015-03-04T15:08:47Z","updated_at":"2015-03-04T15:08:47Z","html_url":"https://github.com/openshift/openshift-ansible/pull/94#discussion_r25780889","pull_request_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/94","_links":{"self":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/comments/25780889"},"html":{"href":"https://github.com/openshift/openshift-ansible/pull/94#discussion_r25780889"},"pull_request":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/94"}}},"pull_request":{"url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/94","id":30405218,"html_url":"https://github.com/openshift/openshift-ansible/pull/94","diff_url":"https://github.com/openshift/openshift-ansible/pull/94.diff","patch_url":"https://github.com/openshift/openshift-ansible/pull/94.patch","issue_url":"https://api.github.com/repos/openshift/openshift-ansible/issues/94","number":94,"state":"open","locked":false,"title":"Add iptables firewall support to openshift-common","user":{"login":"detiber","id":915544,"avatar_url":"https://avatars.githubusercontent.com/u/915544?v=3","gravatar_id":"","url":"https://api.github.com/users/detiber","html_url":"https://github.com/detiber","followers_url":"https://api.github.com/users/detiber/followers","following_url":"https://api.github.com/users/detiber/following{/other_user}","gists_url":"https://api.github.com/users/detiber/gists{/gist_id}","starred_url":"https://api.github.com/users/detiber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/detiber/subscriptions","organizations_url":"https://api.github.com/users/detiber/orgs","repos_url":"https://api.github.com/users/detiber/repos","events_url":"https://api.github.com/users/detiber/events{/privacy}","received_events_url":"https://api.github.com/users/detiber/received_events","type":"User","site_admin":false},"body":"- Set base_os to default to not installing firewalld when the host has a role\r\n  of openshift_master or openshift_node\r\n- Hardcoded openshift_common to use iptables (through the vars directory)\r\n  until upstream support is in place for firewalld\r\n- Added a iptables firewall module for maintaining the following (in a mostly\r\n  naive manner):\r\n  - ensure the OPENSHIFT_ALLOW chain is defined\r\n  - ensure that there is a jump rule in the INPUT chain for OPENSHIFT_ALLOW\r\n  - adds or removes entries from the OPENSHIFT_ALLOW chain\r\n  - issues '/usr/libexec/iptables/iptables.init save' when rules are changed\r\n- Limitations of iptables firewall module\r\n  - only allows setting of ports/protocols to open\r\n  - no testing on ipv6 support","created_at":"2015-03-03T19:39:25Z","updated_at":"2015-03-04T15:08:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cbfcc2ff06e4a64d6211ccedba700304d3c355b7","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/94/commits","review_comments_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/94/comments","review_comment_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openshift/openshift-ansible/issues/94/comments","statuses_url":"https://api.github.com/repos/openshift/openshift-ansible/statuses/826c3ac7eeedc3e88fa8d6011801624d686524cd","head":{"label":"detiber:iptables","ref":"iptables","sha":"826c3ac7eeedc3e88fa8d6011801624d686524cd","user":{"login":"detiber","id":915544,"avatar_url":"https://avatars.githubusercontent.com/u/915544?v=3","gravatar_id":"","url":"https://api.github.com/users/detiber","html_url":"https://github.com/detiber","followers_url":"https://api.github.com/users/detiber/followers","following_url":"https://api.github.com/users/detiber/following{/other_user}","gists_url":"https://api.github.com/users/detiber/gists{/gist_id}","starred_url":"https://api.github.com/users/detiber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/detiber/subscriptions","organizations_url":"https://api.github.com/users/detiber/orgs","repos_url":"https://api.github.com/users/detiber/repos","events_url":"https://api.github.com/users/detiber/events{/privacy}","received_events_url":"https://api.github.com/users/detiber/received_events","type":"User","site_admin":false},"repo":{"id":29140945,"name":"openshift-ansible","full_name":"detiber/openshift-ansible","owner":{"login":"detiber","id":915544,"avatar_url":"https://avatars.githubusercontent.com/u/915544?v=3","gravatar_id":"","url":"https://api.github.com/users/detiber","html_url":"https://github.com/detiber","followers_url":"https://api.github.com/users/detiber/followers","following_url":"https://api.github.com/users/detiber/following{/other_user}","gists_url":"https://api.github.com/users/detiber/gists{/gist_id}","starred_url":"https://api.github.com/users/detiber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/detiber/subscriptions","organizations_url":"https://api.github.com/users/detiber/orgs","repos_url":"https://api.github.com/users/detiber/repos","events_url":"https://api.github.com/users/detiber/events{/privacy}","received_events_url":"https://api.github.com/users/detiber/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/detiber/openshift-ansible","description":"OpenShift Online's Ansible Code","fork":true,"url":"https://api.github.com/repos/detiber/openshift-ansible","forks_url":"https://api.github.com/repos/detiber/openshift-ansible/forks","keys_url":"https://api.github.com/repos/detiber/openshift-ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/detiber/openshift-ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/detiber/openshift-ansible/teams","hooks_url":"https://api.github.com/repos/detiber/openshift-ansible/hooks","issue_events_url":"https://api.github.com/repos/detiber/openshift-ansible/issues/events{/number}","events_url":"https://api.github.com/repos/detiber/openshift-ansible/events","assignees_url":"https://api.github.com/repos/detiber/openshift-ansible/assignees{/user}","branches_url":"https://api.github.com/repos/detiber/openshift-ansible/branches{/branch}","tags_url":"https://api.github.com/repos/detiber/openshift-ansible/tags","blobs_url":"https://api.github.com/repos/detiber/openshift-ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/detiber/openshift-ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/detiber/openshift-ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/detiber/openshift-ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/detiber/openshift-ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/detiber/openshift-ansible/languages","stargazers_url":"https://api.github.com/repos/detiber/openshift-ansible/stargazers","contributors_url":"https://api.github.com/repos/detiber/openshift-ansible/contributors","subscribers_url":"https://api.github.com/repos/detiber/openshift-ansible/subscribers","subscription_url":"https://api.github.com/repos/detiber/openshift-ansible/subscription","commits_url":"https://api.github.com/repos/detiber/openshift-ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/detiber/openshift-ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/detiber/openshift-ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/detiber/openshift-ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/detiber/openshift-ansible/contents/{+path}","compare_url":"https://api.github.com/repos/detiber/openshift-ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/detiber/openshift-ansible/merges","archive_url":"https://api.github.com/repos/detiber/openshift-ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/detiber/openshift-ansible/downloads","issues_url":"https://api.github.com/repos/detiber/openshift-ansible/issues{/number}","pulls_url":"https://api.github.com/repos/detiber/openshift-ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/detiber/openshift-ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/detiber/openshift-ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/detiber/openshift-ansible/labels{/name}","releases_url":"https://api.github.com/repos/detiber/openshift-ansible/releases{/id}","created_at":"2015-01-12T15:09:30Z","updated_at":"2015-03-03T19:33:19Z","pushed_at":"2015-03-03T21:02:00Z","git_url":"git://github.com/detiber/openshift-ansible.git","ssh_url":"git@github.com:detiber/openshift-ansible.git","clone_url":"https://github.com/detiber/openshift-ansible.git","svn_url":"https://github.com/detiber/openshift-ansible","homepage":"","size":604,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"openshift:master","ref":"master","sha":"fed63a0aeb5a90cf1894a3cd6a1db7d3321ad8eb","user":{"login":"openshift","id":792337,"avatar_url":"https://avatars.githubusercontent.com/u/792337?v=3","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"repo":{"id":24109199,"name":"openshift-ansible","full_name":"openshift/openshift-ansible","owner":{"login":"openshift","id":792337,"avatar_url":"https://avatars.githubusercontent.com/u/792337?v=3","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openshift/openshift-ansible","description":"OpenShift Ansible Code","fork":false,"url":"https://api.github.com/repos/openshift/openshift-ansible","forks_url":"https://api.github.com/repos/openshift/openshift-ansible/forks","keys_url":"https://api.github.com/repos/openshift/openshift-ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openshift/openshift-ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openshift/openshift-ansible/teams","hooks_url":"https://api.github.com/repos/openshift/openshift-ansible/hooks","issue_events_url":"https://api.github.com/repos/openshift/openshift-ansible/issues/events{/number}","events_url":"https://api.github.com/repos/openshift/openshift-ansible/events","assignees_url":"https://api.github.com/repos/openshift/openshift-ansible/assignees{/user}","branches_url":"https://api.github.com/repos/openshift/openshift-ansible/branches{/branch}","tags_url":"https://api.github.com/repos/openshift/openshift-ansible/tags","blobs_url":"https://api.github.com/repos/openshift/openshift-ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openshift/openshift-ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openshift/openshift-ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/openshift/openshift-ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openshift/openshift-ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/openshift/openshift-ansible/languages","stargazers_url":"https://api.github.com/repos/openshift/openshift-ansible/stargazers","contributors_url":"https://api.github.com/repos/openshift/openshift-ansible/contributors","subscribers_url":"https://api.github.com/repos/openshift/openshift-ansible/subscribers","subscription_url":"https://api.github.com/repos/openshift/openshift-ansible/subscription","commits_url":"https://api.github.com/repos/openshift/openshift-ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/openshift/openshift-ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/openshift/openshift-ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/openshift/openshift-ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/openshift/openshift-ansible/contents/{+path}","compare_url":"https://api.github.com/repos/openshift/openshift-ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openshift/openshift-ansible/merges","archive_url":"https://api.github.com/repos/openshift/openshift-ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openshift/openshift-ansible/downloads","issues_url":"https://api.github.com/repos/openshift/openshift-ansible/issues{/number}","pulls_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/openshift/openshift-ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/openshift/openshift-ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openshift/openshift-ansible/labels{/name}","releases_url":"https://api.github.com/repos/openshift/openshift-ansible/releases{/id}","created_at":"2014-09-16T17:07:51Z","updated_at":"2015-03-03T20:50:12Z","pushed_at":"2015-03-03T20:50:12Z","git_url":"git://github.com/openshift/openshift-ansible.git","ssh_url":"git@github.com:openshift/openshift-ansible.git","clone_url":"https://github.com/openshift/openshift-ansible.git","svn_url":"https://github.com/openshift/openshift-ansible","homepage":"","size":1183,"stargazers_count":12,"watchers_count":12,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":22,"mirror_url":null,"open_issues_count":7,"forks":22,"open_issues":7,"watchers":12,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/94"},"html":{"href":"https://github.com/openshift/openshift-ansible/pull/94"},"issue":{"href":"https://api.github.com/repos/openshift/openshift-ansible/issues/94"},"comments":{"href":"https://api.github.com/repos/openshift/openshift-ansible/issues/94/comments"},"review_comments":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/94/comments"},"review_comment":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/94/commits"},"statuses":{"href":"https://api.github.com/repos/openshift/openshift-ansible/statuses/826c3ac7eeedc3e88fa8d6011801624d686524cd"}}}}