{"action":"created","issue":{"url":"https://api.github.com/repos/openshift/origin/issues/4926","labels_url":"https://api.github.com/repos/openshift/origin/issues/4926/labels{/name}","comments_url":"https://api.github.com/repos/openshift/origin/issues/4926/comments","events_url":"https://api.github.com/repos/openshift/origin/issues/4926/events","html_url":"https://github.com/openshift/origin/pull/4926","id":109554754,"number":4926,"title":"Add a LatestBuilds diagnostic.","user":{"login":"dgoodwin","id":51265,"avatar_url":"https://avatars.githubusercontent.com/u/51265?v=3","gravatar_id":"","url":"https://api.github.com/users/dgoodwin","html_url":"https://github.com/dgoodwin","followers_url":"https://api.github.com/users/dgoodwin/followers","following_url":"https://api.github.com/users/dgoodwin/following{/other_user}","gists_url":"https://api.github.com/users/dgoodwin/gists{/gist_id}","starred_url":"https://api.github.com/users/dgoodwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgoodwin/subscriptions","organizations_url":"https://api.github.com/users/dgoodwin/orgs","repos_url":"https://api.github.com/users/dgoodwin/repos","events_url":"https://api.github.com/users/dgoodwin/events{/privacy}","received_events_url":"https://api.github.com/users/dgoodwin/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-10-02T19:16:05Z","updated_at":"2015-10-05T11:58:59Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openshift/origin/pulls/4926","html_url":"https://github.com/openshift/origin/pull/4926","diff_url":"https://github.com/openshift/origin/pull/4926.diff","patch_url":"https://github.com/openshift/origin/pull/4926.patch"},"body":"This diagnostic lists all build configs in the current client context and\r\nproject, then checks if the latest build was successful or not. If the build\r\nstatus reported error or failure we notify the user immediately.\r\n\r\nThe diagnostic then scans the build logs for any build with failed status, and\r\napplies a series of regexes to each line looking for common problems we could\r\nreport on. Today the only problem being detected is the registry being denied\r\nwriting to disk due to a common selinux issue."},"comment":{"url":"https://api.github.com/repos/openshift/origin/issues/comments/145505693","html_url":"https://github.com/openshift/origin/pull/4926#issuecomment-145505693","issue_url":"https://api.github.com/repos/openshift/origin/issues/4926","id":145505693,"user":{"login":"dgoodwin","id":51265,"avatar_url":"https://avatars.githubusercontent.com/u/51265?v=3","gravatar_id":"","url":"https://api.github.com/users/dgoodwin","html_url":"https://github.com/dgoodwin","followers_url":"https://api.github.com/users/dgoodwin/followers","following_url":"https://api.github.com/users/dgoodwin/following{/other_user}","gists_url":"https://api.github.com/users/dgoodwin/gists{/gist_id}","starred_url":"https://api.github.com/users/dgoodwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgoodwin/subscriptions","organizations_url":"https://api.github.com/users/dgoodwin/orgs","repos_url":"https://api.github.com/users/dgoodwin/repos","events_url":"https://api.github.com/users/dgoodwin/events{/privacy}","received_events_url":"https://api.github.com/users/dgoodwin/received_events","type":"User","site_admin":false},"created_at":"2015-10-05T11:58:59Z","updated_at":"2015-10-05T11:58:59Z","body":"I spoke with @sosiouxme  before starting out and as I understood it his thought was not just to scan for this one string, rather to set up to scan for multiple things we might be able to make suggestions on fixing, for both build and deployment configs. So ideally I'd envision it not as just a check for this one problem (just a starting point), and there's an element of \"here are some things you can try\". It feels like a better fit for the diagnostics framework than oc status to me, and also not something a builder should be responsible for. (but I'm pretty new :))\r\n\r\nAs far as your worry about scanning the logs, I assume that's just the time required to do so? Bearing in mind that we only scan the latest build for a build config *if it failed* (forgot to mention this earlier), so hopefully we're seldom going to go too bar beyond one build log fetch here. I could make the output a little more informative so it shows exactly what it's doing during the parts that might take a bit of time (fetch the log and scan the log). Because it's a diagnostic I don't think it's too harmful for the user to control-C if they see it grabbing a huge logfile. \r\n\r\nI could also make it a diagnostic that isn't run by default if desired.\r\n\r\nPersonally I feel better about it as a diagnostic, more flexibility and pre-established precedent for suggesting fixes, easy to skip, and abort, won't slow down any critical components. In time I suspect we could come up with other errors we could make suggestions for and end up with something quite high value for customers and ourselves."}}