{"action":"created","issue":{"url":"https://api.github.com/repos/openshift/origin/issues/19706","repository_url":"https://api.github.com/repos/openshift/origin","labels_url":"https://api.github.com/repos/openshift/origin/issues/19706/labels{/name}","comments_url":"https://api.github.com/repos/openshift/origin/issues/19706/comments","events_url":"https://api.github.com/repos/openshift/origin/issues/19706/events","html_url":"https://github.com/openshift/origin/pull/19706","id":322894559,"number":19706,"title":"Tune to prevent haproxy stress test flakes","user":{"login":"smarterclayton","id":1163175,"avatar_url":"https://avatars0.githubusercontent.com/u/1163175?v=4","gravatar_id":"","url":"https://api.github.com/users/smarterclayton","html_url":"https://github.com/smarterclayton","followers_url":"https://api.github.com/users/smarterclayton/followers","following_url":"https://api.github.com/users/smarterclayton/following{/other_user}","gists_url":"https://api.github.com/users/smarterclayton/gists{/gist_id}","starred_url":"https://api.github.com/users/smarterclayton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/smarterclayton/subscriptions","organizations_url":"https://api.github.com/users/smarterclayton/orgs","repos_url":"https://api.github.com/users/smarterclayton/repos","events_url":"https://api.github.com/users/smarterclayton/events{/privacy}","received_events_url":"https://api.github.com/users/smarterclayton/received_events","type":"User","site_admin":false},"labels":[{"id":223051294,"url":"https://api.github.com/repos/openshift/origin/labels/approved","name":"approved","color":"0ffa16","default":false},{"id":640548612,"url":"https://api.github.com/repos/openshift/origin/labels/size/XL","name":"size/XL","color":"ee5500","default":false}],"state":"open","locked":false,"assignee":{"login":"knobunc","id":10033853,"avatar_url":"https://avatars1.githubusercontent.com/u/10033853?v=4","gravatar_id":"","url":"https://api.github.com/users/knobunc","html_url":"https://github.com/knobunc","followers_url":"https://api.github.com/users/knobunc/followers","following_url":"https://api.github.com/users/knobunc/following{/other_user}","gists_url":"https://api.github.com/users/knobunc/gists{/gist_id}","starred_url":"https://api.github.com/users/knobunc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knobunc/subscriptions","organizations_url":"https://api.github.com/users/knobunc/orgs","repos_url":"https://api.github.com/users/knobunc/repos","events_url":"https://api.github.com/users/knobunc/events{/privacy}","received_events_url":"https://api.github.com/users/knobunc/received_events","type":"User","site_admin":false},"assignees":[{"login":"knobunc","id":10033853,"avatar_url":"https://avatars1.githubusercontent.com/u/10033853?v=4","gravatar_id":"","url":"https://api.github.com/users/knobunc","html_url":"https://github.com/knobunc","followers_url":"https://api.github.com/users/knobunc/followers","following_url":"https://api.github.com/users/knobunc/following{/other_user}","gists_url":"https://api.github.com/users/knobunc/gists{/gist_id}","starred_url":"https://api.github.com/users/knobunc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/knobunc/subscriptions","organizations_url":"https://api.github.com/users/knobunc/orgs","repos_url":"https://api.github.com/users/knobunc/repos","events_url":"https://api.github.com/users/knobunc/events{/privacy}","received_events_url":"https://api.github.com/users/knobunc/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2018-05-14T16:41:28Z","updated_at":"2018-05-16T04:23:15Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/openshift/origin/pulls/19706","html_url":"https://github.com/openshift/origin/pull/19706","diff_url":"https://github.com/openshift/origin/pull/19706.diff","patch_url":"https://github.com/openshift/origin/pull/19706.patch"},"body":"The stress test is not tuned particularly well for passing.  We create 3 routers with conflicting status and update 10 routes.  The hard stop for conflict detection is at 10 conflicts every 12 seconds.  \r\n\r\nThe test is intended to verify that we hard stop when conflicting, and that a subsequent edit of a route converges at O(routers).\r\n\r\nThis commit changes the number of conflicts a router tolerates before blocking all updates.  Since conflict detection is reliable (we see a route we changed change to a different status value) the new value 5 is just as safe as the old value of 10.  To detect a conflict we need to see our own write (20-40ms later) and another router needs to see that write and modify (20-40ms later than that) and then we need to detect it.  So in normal tests it's roughly 60ms from first router write to detected conflict.  Since status updates are written in a background goroutine it's possible that a number of writes succeed for multiple routes.\r\n\r\nI've also increased the number of routes - that should more clearly identify the upper bounds of conflict writes (which should be <15 + initial writes detected)."},"comment":{"url":"https://api.github.com/repos/openshift/origin/issues/comments/389390200","html_url":"https://github.com/openshift/origin/pull/19706#issuecomment-389390200","issue_url":"https://api.github.com/repos/openshift/origin/issues/19706","id":389390200,"user":{"login":"openshift-ci-robot","id":30189103,"avatar_url":"https://avatars1.githubusercontent.com/u/30189103?v=4","gravatar_id":"","url":"https://api.github.com/users/openshift-ci-robot","html_url":"https://github.com/openshift-ci-robot","followers_url":"https://api.github.com/users/openshift-ci-robot/followers","following_url":"https://api.github.com/users/openshift-ci-robot/following{/other_user}","gists_url":"https://api.github.com/users/openshift-ci-robot/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift-ci-robot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift-ci-robot/subscriptions","organizations_url":"https://api.github.com/users/openshift-ci-robot/orgs","repos_url":"https://api.github.com/users/openshift-ci-robot/repos","events_url":"https://api.github.com/users/openshift-ci-robot/events{/privacy}","received_events_url":"https://api.github.com/users/openshift-ci-robot/received_events","type":"User","site_admin":false},"created_at":"2018-05-16T04:23:15Z","updated_at":"2018-05-16T04:23:15Z","author_association":"NONE","body":"[APPROVALNOTIFIER] This PR is **APPROVED**\n\nThis pull-request has been approved by: *<a href=\"https://github.com/openshift/origin/pull/19706#issuecomment-389187700\" title=\"LGTM\">knobunc</a>*, *<a href=\"https://github.com/openshift/origin/pull/19706#\" title=\"Author self-approved\">smarterclayton</a>*\n\nThe full list of commands accepted by this bot can be found [here](https://go.k8s.io/bot-commands).\n\nThe pull request process is described [here](https://git.k8s.io/community/contributors/guide/owners.md#the-code-review-process)\n\n<details >\nNeeds approval from an approver in each of these files:\n\n- ~~[pkg/cmd/infra/router/OWNERS](https://github.com/openshift/origin/blob/master/pkg/cmd/infra/router/OWNERS)~~ [knobunc,smarterclayton]\n- ~~[pkg/router/OWNERS](https://github.com/openshift/origin/blob/master/pkg/router/OWNERS)~~ [knobunc,smarterclayton]\n- ~~[test/extended/OWNERS](https://github.com/openshift/origin/blob/master/test/extended/OWNERS)~~ [knobunc,smarterclayton]\n- ~~[test/integration/OWNERS](https://github.com/openshift/origin/blob/master/test/integration/OWNERS)~~ [knobunc,smarterclayton]\n\nApprovers can indicate their approval by writing `/approve` in a comment\nApprovers can cancel approval by writing `/approve cancel` in a comment\n</details>\n<!-- META={\"approvers\":[]} -->"}}
{"actor":{"display_login":"openshift-ci-robot"}}