{"action":"closed","number":5,"pull_request":{"url":"https://api.github.com/repos/noironetworks/opflex/pulls/5","id":225583508,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI1NTgzNTA4","html_url":"https://github.com/noironetworks/opflex/pull/5","diff_url":"https://github.com/noironetworks/opflex/pull/5.diff","patch_url":"https://github.com/noironetworks/opflex/pull/5.patch","issue_url":"https://api.github.com/repos/noironetworks/opflex/issues/5","number":5,"state":"closed","locked":false,"title":"Fix infinite loop in getVlanRangesByIface","user":{"login":"mchalla","id":725475,"node_id":"MDQ6VXNlcjcyNTQ3NQ==","avatar_url":"https://avatars3.githubusercontent.com/u/725475?v=4","gravatar_id":"","url":"https://api.github.com/users/mchalla","html_url":"https://github.com/mchalla","followers_url":"https://api.github.com/users/mchalla/followers","following_url":"https://api.github.com/users/mchalla/following{/other_user}","gists_url":"https://api.github.com/users/mchalla/gists{/gist_id}","starred_url":"https://api.github.com/users/mchalla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mchalla/subscriptions","organizations_url":"https://api.github.com/users/mchalla/orgs","repos_url":"https://api.github.com/users/mchalla/repos","events_url":"https://api.github.com/users/mchalla/events{/privacy}","received_events_url":"https://api.github.com/users/mchalla/received_events","type":"User","site_admin":false},"body":"This code gets triggered on handlePortStatusUpdate and would result in the\r\nopflex agent getting stuck in an infinite loop because the iterator is\r\nnot being incremented in the while loop.\r\n\r\n---------------------------------------------------------------------------\r\nSimple way to repro the issue is to add or del the patch ports on br-fabric\r\nexample:\r\novs-vsctl del-port br-fabric qpi2b4b79dd-6e\r\novs-vsctl add-port br-fabric qpi2b4b79dd-6e -- set interface qpi2b4b79dd-6e type=patch options:peer=qpf2b4b79dd-6e\r\nOr\r\novs-vsctl del-port br-fabric patch-fabric-ex\r\novs-vsctl add-port br-fabric patch-fabric-ex -- set interface patch-fabric-ex type=patch options:peer=patch-ex-fabric\r\n---------------------------------------------------------------------------\r\nVerified we come out of the loop with the fix.\r\n\r\nChange-Id: Ia330e40942083e9d289e256b951cc803a35e4864\r\nSigned-off-by: Madhu Challa <challa@gmail.com>\r\n(cherry picked from commit f03095eb35259694b779d9b8298316920bb41d4c)","created_at":"2018-10-24T23:44:08Z","updated_at":"2018-10-25T03:03:34Z","closed_at":"2018-10-25T03:03:34Z","merged_at":"2018-10-25T03:03:34Z","merge_commit_sha":"bcd1910691e545b7888dfe895311e7cd3470e325","assignee":null,"assignees":[],"requested_reviewers":[{"login":"mandeepdhami","id":71598,"node_id":"MDQ6VXNlcjcxNTk4","avatar_url":"https://avatars3.githubusercontent.com/u/71598?v=4","gravatar_id":"","url":"https://api.github.com/users/mandeepdhami","html_url":"https://github.com/mandeepdhami","followers_url":"https://api.github.com/users/mandeepdhami/followers","following_url":"https://api.github.com/users/mandeepdhami/following{/other_user}","gists_url":"https://api.github.com/users/mandeepdhami/gists{/gist_id}","starred_url":"https://api.github.com/users/mandeepdhami/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mandeepdhami/subscriptions","organizations_url":"https://api.github.com/users/mandeepdhami/orgs","repos_url":"https://api.github.com/users/mandeepdhami/repos","events_url":"https://api.github.com/users/mandeepdhami/events{/privacy}","received_events_url":"https://api.github.com/users/mandeepdhami/received_events","type":"User","site_admin":false},{"login":"tomflynn","id":73869,"node_id":"MDQ6VXNlcjczODY5","avatar_url":"https://avatars3.githubusercontent.com/u/73869?v=4","gravatar_id":"","url":"https://api.github.com/users/tomflynn","html_url":"https://github.com/tomflynn","followers_url":"https://api.github.com/users/tomflynn/followers","following_url":"https://api.github.com/users/tomflynn/following{/other_user}","gists_url":"https://api.github.com/users/tomflynn/gists{/gist_id}","starred_url":"https://api.github.com/users/tomflynn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tomflynn/subscriptions","organizations_url":"https://api.github.com/users/tomflynn/orgs","repos_url":"https://api.github.com/users/tomflynn/repos","events_url":"https://api.github.com/users/tomflynn/events{/privacy}","received_events_url":"https://api.github.com/users/tomflynn/received_events","type":"User","site_admin":false},{"login":"tbachman","id":5181955,"node_id":"MDQ6VXNlcjUxODE5NTU=","avatar_url":"https://avatars1.githubusercontent.com/u/5181955?v=4","gravatar_id":"","url":"https://api.github.com/users/tbachman","html_url":"https://github.com/tbachman","followers_url":"https://api.github.com/users/tbachman/followers","following_url":"https://api.github.com/users/tbachman/following{/other_user}","gists_url":"https://api.github.com/users/tbachman/gists{/gist_id}","starred_url":"https://api.github.com/users/tbachman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbachman/subscriptions","organizations_url":"https://api.github.com/users/tbachman/orgs","repos_url":"https://api.github.com/users/tbachman/repos","events_url":"https://api.github.com/users/tbachman/events{/privacy}","received_events_url":"https://api.github.com/users/tbachman/received_events","type":"User","site_admin":false},{"login":"msandhu2014","id":8486650,"node_id":"MDQ6VXNlcjg0ODY2NTA=","avatar_url":"https://avatars2.githubusercontent.com/u/8486650?v=4","gravatar_id":"","url":"https://api.github.com/users/msandhu2014","html_url":"https://github.com/msandhu2014","followers_url":"https://api.github.com/users/msandhu2014/followers","following_url":"https://api.github.com/users/msandhu2014/following{/other_user}","gists_url":"https://api.github.com/users/msandhu2014/gists{/gist_id}","starred_url":"https://api.github.com/users/msandhu2014/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msandhu2014/subscriptions","organizations_url":"https://api.github.com/users/msandhu2014/orgs","repos_url":"https://api.github.com/users/msandhu2014/repos","events_url":"https://api.github.com/users/msandhu2014/events{/privacy}","received_events_url":"https://api.github.com/users/msandhu2014/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/noironetworks/opflex/pulls/5/commits","review_comments_url":"https://api.github.com/repos/noironetworks/opflex/pulls/5/comments","review_comment_url":"https://api.github.com/repos/noironetworks/opflex/pulls/comments{/number}","comments_url":"https://api.github.com/repos/noironetworks/opflex/issues/5/comments","statuses_url":"https://api.github.com/repos/noironetworks/opflex/statuses/60d68c42155482c84f8a0c09cea7a0f3acb3ed86","head":{"label":"noironetworks:mchalla-ganga","ref":"mchalla-ganga","sha":"60d68c42155482c84f8a0c09cea7a0f3acb3ed86","user":{"login":"noironetworks","id":6634092,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY2MzQwOTI=","avatar_url":"https://avatars0.githubusercontent.com/u/6634092?v=4","gravatar_id":"","url":"https://api.github.com/users/noironetworks","html_url":"https://github.com/noironetworks","followers_url":"https://api.github.com/users/noironetworks/followers","following_url":"https://api.github.com/users/noironetworks/following{/other_user}","gists_url":"https://api.github.com/users/noironetworks/gists{/gist_id}","starred_url":"https://api.github.com/users/noironetworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noironetworks/subscriptions","organizations_url":"https://api.github.com/users/noironetworks/orgs","repos_url":"https://api.github.com/users/noironetworks/repos","events_url":"https://api.github.com/users/noironetworks/events{/privacy}","received_events_url":"https://api.github.com/users/noironetworks/received_events","type":"Organization","site_admin":false},"repo":{"id":46595912,"node_id":"MDEwOlJlcG9zaXRvcnk0NjU5NTkxMg==","name":"opflex","full_name":"noironetworks/opflex","private":false,"owner":{"login":"noironetworks","id":6634092,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY2MzQwOTI=","avatar_url":"https://avatars0.githubusercontent.com/u/6634092?v=4","gravatar_id":"","url":"https://api.github.com/users/noironetworks","html_url":"https://github.com/noironetworks","followers_url":"https://api.github.com/users/noironetworks/followers","following_url":"https://api.github.com/users/noironetworks/following{/other_user}","gists_url":"https://api.github.com/users/noironetworks/gists{/gist_id}","starred_url":"https://api.github.com/users/noironetworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noironetworks/subscriptions","organizations_url":"https://api.github.com/users/noironetworks/orgs","repos_url":"https://api.github.com/users/noironetworks/repos","events_url":"https://api.github.com/users/noironetworks/events{/privacy}","received_events_url":"https://api.github.com/users/noironetworks/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/noironetworks/opflex","description":"Mirror of the OpenDaylight opflex gerrit project","fork":true,"url":"https://api.github.com/repos/noironetworks/opflex","forks_url":"https://api.github.com/repos/noironetworks/opflex/forks","keys_url":"https://api.github.com/repos/noironetworks/opflex/keys{/key_id}","collaborators_url":"https://api.github.com/repos/noironetworks/opflex/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/noironetworks/opflex/teams","hooks_url":"https://api.github.com/repos/noironetworks/opflex/hooks","issue_events_url":"https://api.github.com/repos/noironetworks/opflex/issues/events{/number}","events_url":"https://api.github.com/repos/noironetworks/opflex/events","assignees_url":"https://api.github.com/repos/noironetworks/opflex/assignees{/user}","branches_url":"https://api.github.com/repos/noironetworks/opflex/branches{/branch}","tags_url":"https://api.github.com/repos/noironetworks/opflex/tags","blobs_url":"https://api.github.com/repos/noironetworks/opflex/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/noironetworks/opflex/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/noironetworks/opflex/git/refs{/sha}","trees_url":"https://api.github.com/repos/noironetworks/opflex/git/trees{/sha}","statuses_url":"https://api.github.com/repos/noironetworks/opflex/statuses/{sha}","languages_url":"https://api.github.com/repos/noironetworks/opflex/languages","stargazers_url":"https://api.github.com/repos/noironetworks/opflex/stargazers","contributors_url":"https://api.github.com/repos/noironetworks/opflex/contributors","subscribers_url":"https://api.github.com/repos/noironetworks/opflex/subscribers","subscription_url":"https://api.github.com/repos/noironetworks/opflex/subscription","commits_url":"https://api.github.com/repos/noironetworks/opflex/commits{/sha}","git_commits_url":"https://api.github.com/repos/noironetworks/opflex/git/commits{/sha}","comments_url":"https://api.github.com/repos/noironetworks/opflex/comments{/number}","issue_comment_url":"https://api.github.com/repos/noironetworks/opflex/issues/comments{/number}","contents_url":"https://api.github.com/repos/noironetworks/opflex/contents/{+path}","compare_url":"https://api.github.com/repos/noironetworks/opflex/compare/{base}...{head}","merges_url":"https://api.github.com/repos/noironetworks/opflex/merges","archive_url":"https://api.github.com/repos/noironetworks/opflex/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/noironetworks/opflex/downloads","issues_url":"https://api.github.com/repos/noironetworks/opflex/issues{/number}","pulls_url":"https://api.github.com/repos/noironetworks/opflex/pulls{/number}","milestones_url":"https://api.github.com/repos/noironetworks/opflex/milestones{/number}","notifications_url":"https://api.github.com/repos/noironetworks/opflex/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/noironetworks/opflex/labels{/name}","releases_url":"https://api.github.com/repos/noironetworks/opflex/releases{/id}","deployments_url":"https://api.github.com/repos/noironetworks/opflex/deployments","created_at":"2015-11-21T01:22:46Z","updated_at":"2018-10-23T22:10:58Z","pushed_at":"2018-10-25T03:03:34Z","git_url":"git://github.com/noironetworks/opflex.git","ssh_url":"git@github.com:noironetworks/opflex.git","clone_url":"https://github.com/noironetworks/opflex.git","svn_url":"https://github.com/noironetworks/opflex","homepage":null,"size":11919,"stargazers_count":2,"watchers_count":2,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"epl-1.0","name":"Eclipse Public License 1.0","spdx_id":"EPL-1.0","url":"https://api.github.com/licenses/epl-1.0","node_id":"MDc6TGljZW5zZTc="},"forks":2,"open_issues":0,"watchers":2,"default_branch":"master"}},"base":{"label":"noironetworks:ganga","ref":"ganga","sha":"dc6adca53f25a85467100c140b963d134550122b","user":{"login":"noironetworks","id":6634092,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY2MzQwOTI=","avatar_url":"https://avatars0.githubusercontent.com/u/6634092?v=4","gravatar_id":"","url":"https://api.github.com/users/noironetworks","html_url":"https://github.com/noironetworks","followers_url":"https://api.github.com/users/noironetworks/followers","following_url":"https://api.github.com/users/noironetworks/following{/other_user}","gists_url":"https://api.github.com/users/noironetworks/gists{/gist_id}","starred_url":"https://api.github.com/users/noironetworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noironetworks/subscriptions","organizations_url":"https://api.github.com/users/noironetworks/orgs","repos_url":"https://api.github.com/users/noironetworks/repos","events_url":"https://api.github.com/users/noironetworks/events{/privacy}","received_events_url":"https://api.github.com/users/noironetworks/received_events","type":"Organization","site_admin":false},"repo":{"id":46595912,"node_id":"MDEwOlJlcG9zaXRvcnk0NjU5NTkxMg==","name":"opflex","full_name":"noironetworks/opflex","private":false,"owner":{"login":"noironetworks","id":6634092,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY2MzQwOTI=","avatar_url":"https://avatars0.githubusercontent.com/u/6634092?v=4","gravatar_id":"","url":"https://api.github.com/users/noironetworks","html_url":"https://github.com/noironetworks","followers_url":"https://api.github.com/users/noironetworks/followers","following_url":"https://api.github.com/users/noironetworks/following{/other_user}","gists_url":"https://api.github.com/users/noironetworks/gists{/gist_id}","starred_url":"https://api.github.com/users/noironetworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noironetworks/subscriptions","organizations_url":"https://api.github.com/users/noironetworks/orgs","repos_url":"https://api.github.com/users/noironetworks/repos","events_url":"https://api.github.com/users/noironetworks/events{/privacy}","received_events_url":"https://api.github.com/users/noironetworks/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/noironetworks/opflex","description":"Mirror of the OpenDaylight opflex gerrit project","fork":true,"url":"https://api.github.com/repos/noironetworks/opflex","forks_url":"https://api.github.com/repos/noironetworks/opflex/forks","keys_url":"https://api.github.com/repos/noironetworks/opflex/keys{/key_id}","collaborators_url":"https://api.github.com/repos/noironetworks/opflex/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/noironetworks/opflex/teams","hooks_url":"https://api.github.com/repos/noironetworks/opflex/hooks","issue_events_url":"https://api.github.com/repos/noironetworks/opflex/issues/events{/number}","events_url":"https://api.github.com/repos/noironetworks/opflex/events","assignees_url":"https://api.github.com/repos/noironetworks/opflex/assignees{/user}","branches_url":"https://api.github.com/repos/noironetworks/opflex/branches{/branch}","tags_url":"https://api.github.com/repos/noironetworks/opflex/tags","blobs_url":"https://api.github.com/repos/noironetworks/opflex/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/noironetworks/opflex/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/noironetworks/opflex/git/refs{/sha}","trees_url":"https://api.github.com/repos/noironetworks/opflex/git/trees{/sha}","statuses_url":"https://api.github.com/repos/noironetworks/opflex/statuses/{sha}","languages_url":"https://api.github.com/repos/noironetworks/opflex/languages","stargazers_url":"https://api.github.com/repos/noironetworks/opflex/stargazers","contributors_url":"https://api.github.com/repos/noironetworks/opflex/contributors","subscribers_url":"https://api.github.com/repos/noironetworks/opflex/subscribers","subscription_url":"https://api.github.com/repos/noironetworks/opflex/subscription","commits_url":"https://api.github.com/repos/noironetworks/opflex/commits{/sha}","git_commits_url":"https://api.github.com/repos/noironetworks/opflex/git/commits{/sha}","comments_url":"https://api.github.com/repos/noironetworks/opflex/comments{/number}","issue_comment_url":"https://api.github.com/repos/noironetworks/opflex/issues/comments{/number}","contents_url":"https://api.github.com/repos/noironetworks/opflex/contents/{+path}","compare_url":"https://api.github.com/repos/noironetworks/opflex/compare/{base}...{head}","merges_url":"https://api.github.com/repos/noironetworks/opflex/merges","archive_url":"https://api.github.com/repos/noironetworks/opflex/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/noironetworks/opflex/downloads","issues_url":"https://api.github.com/repos/noironetworks/opflex/issues{/number}","pulls_url":"https://api.github.com/repos/noironetworks/opflex/pulls{/number}","milestones_url":"https://api.github.com/repos/noironetworks/opflex/milestones{/number}","notifications_url":"https://api.github.com/repos/noironetworks/opflex/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/noironetworks/opflex/labels{/name}","releases_url":"https://api.github.com/repos/noironetworks/opflex/releases{/id}","deployments_url":"https://api.github.com/repos/noironetworks/opflex/deployments","created_at":"2015-11-21T01:22:46Z","updated_at":"2018-10-23T22:10:58Z","pushed_at":"2018-10-25T03:03:34Z","git_url":"git://github.com/noironetworks/opflex.git","ssh_url":"git@github.com:noironetworks/opflex.git","clone_url":"https://github.com/noironetworks/opflex.git","svn_url":"https://github.com/noironetworks/opflex","homepage":null,"size":11919,"stargazers_count":2,"watchers_count":2,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"epl-1.0","name":"Eclipse Public License 1.0","spdx_id":"EPL-1.0","url":"https://api.github.com/licenses/epl-1.0","node_id":"MDc6TGljZW5zZTc="},"forks":2,"open_issues":0,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/noironetworks/opflex/pulls/5"},"html":{"href":"https://github.com/noironetworks/opflex/pull/5"},"issue":{"href":"https://api.github.com/repos/noironetworks/opflex/issues/5"},"comments":{"href":"https://api.github.com/repos/noironetworks/opflex/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/noironetworks/opflex/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/noironetworks/opflex/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/noironetworks/opflex/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/noironetworks/opflex/statuses/60d68c42155482c84f8a0c09cea7a0f3acb3ed86"}},"author_association":"NONE","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"snaiksat","id":940042,"node_id":"MDQ6VXNlcjk0MDA0Mg==","avatar_url":"https://avatars3.githubusercontent.com/u/940042?v=4","gravatar_id":"","url":"https://api.github.com/users/snaiksat","html_url":"https://github.com/snaiksat","followers_url":"https://api.github.com/users/snaiksat/followers","following_url":"https://api.github.com/users/snaiksat/following{/other_user}","gists_url":"https://api.github.com/users/snaiksat/gists{/gist_id}","starred_url":"https://api.github.com/users/snaiksat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snaiksat/subscriptions","organizations_url":"https://api.github.com/users/snaiksat/orgs","repos_url":"https://api.github.com/users/snaiksat/repos","events_url":"https://api.github.com/users/snaiksat/events{/privacy}","received_events_url":"https://api.github.com/users/snaiksat/received_events","type":"User","site_admin":false},"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":1,"additions":2,"deletions":0,"changed_files":1}}
{"actor":{"display_login":"snaiksat"}}