{"action":"created","comment":{"url":"https://api.github.com/repos/heptio/sonobuoy/pulls/comments/168788965","pull_request_review_id":97217154,"id":168788965,"diff_hunk":"@@ -35,17 +35,17 @@ import (\n )\n \n // Run is the main entrypoint for discovery\n-func Run(kubeClient kubernetes.Interface, cfg *config.Config) (errCount uint) {\n+func Run(kubeClient kubernetes.Interface, cfg *config.Config) (errCount uint, err error) {\n \tt := time.Now()\n \n \t// 1. Create the directory which will store the results, including the\n \t// `meta` directory inside it (which we always need regardless of\n \t// config)\n \toutpath := path.Join(cfg.ResultsDir, cfg.UUID)\n \tmetapath := path.Join(outpath, MetaLocation)\n-\terr := os.MkdirAll(metapath, 0755)\n+\terr = os.MkdirAll(metapath, 0755)\n \tif err != nil {\n-\t\tpanic(err.Error())\n+\t\treturn errCount, errors.Wrap(err, \"could not create directory to store results\")","path":"pkg/discovery/discovery.go","position":17,"original_position":17,"commit_id":"976ac5f66cbb29ff2a82d136f37ad800b3ab0f9e","original_commit_id":"976ac5f66cbb29ff2a82d136f37ad800b3ab0f9e","user":{"login":"timothysc","id":169553,"avatar_url":"https://avatars0.githubusercontent.com/u/169553?v=4","gravatar_id":"","url":"https://api.github.com/users/timothysc","html_url":"https://github.com/timothysc","followers_url":"https://api.github.com/users/timothysc/followers","following_url":"https://api.github.com/users/timothysc/following{/other_user}","gists_url":"https://api.github.com/users/timothysc/gists{/gist_id}","starred_url":"https://api.github.com/users/timothysc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timothysc/subscriptions","organizations_url":"https://api.github.com/users/timothysc/orgs","repos_url":"https://api.github.com/users/timothysc/repos","events_url":"https://api.github.com/users/timothysc/events{/privacy}","received_events_url":"https://api.github.com/users/timothysc/received_events","type":"User","site_admin":false},"body":"@alexbrand - yup! ","created_at":"2018-02-16T15:34:38Z","updated_at":"2018-02-16T15:34:38Z","html_url":"https://github.com/heptio/sonobuoy/pull/260#discussion_r168788965","pull_request_url":"https://api.github.com/repos/heptio/sonobuoy/pulls/260","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/heptio/sonobuoy/pulls/comments/168788965"},"html":{"href":"https://github.com/heptio/sonobuoy/pull/260#discussion_r168788965"},"pull_request":{"href":"https://api.github.com/repos/heptio/sonobuoy/pulls/260"}},"in_reply_to_id":168784219},"pull_request":{"url":"https://api.github.com/repos/heptio/sonobuoy/pulls/260","id":169645040,"html_url":"https://github.com/heptio/sonobuoy/pull/260","diff_url":"https://github.com/heptio/sonobuoy/pull/260.diff","patch_url":"https://github.com/heptio/sonobuoy/pull/260.patch","issue_url":"https://api.github.com/repos/heptio/sonobuoy/issues/260","number":260,"state":"open","locked":false,"title":"Exit with an error instead of panic","user":{"login":"alexbrand","id":545723,"avatar_url":"https://avatars2.githubusercontent.com/u/545723?v=4","gravatar_id":"","url":"https://api.github.com/users/alexbrand","html_url":"https://github.com/alexbrand","followers_url":"https://api.github.com/users/alexbrand/followers","following_url":"https://api.github.com/users/alexbrand/following{/other_user}","gists_url":"https://api.github.com/users/alexbrand/gists{/gist_id}","starred_url":"https://api.github.com/users/alexbrand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexbrand/subscriptions","organizations_url":"https://api.github.com/users/alexbrand/orgs","repos_url":"https://api.github.com/users/alexbrand/repos","events_url":"https://api.github.com/users/alexbrand/events{/privacy}","received_events_url":"https://api.github.com/users/alexbrand/received_events","type":"User","site_admin":false},"body":"Fixes #257 \r\n\r\n```\r\nSonobuoy has to perform a couple of operations before actually starting\r\na test. Instead of panicking when one of these ops fails, return an\r\nerror and exit with a non-zero exit code.\r\n\r\nSigned-off-by: Alexander Brand <alexbrand09@gmail.com>\r\n```\r\n\r\nFailure output sample:\r\n```\r\nINFO[0000] Scanning plugins in ./plugins.d (pwd: /Users/abrand/go/src/github.com/heptio/sonobuoy)\r\nINFO[0000] unknown template type                         filename=e2e.jsonnet\r\nINFO[0000] unknown template type                         filename=heptio-e2e.jsonnet\r\nINFO[0000] unknown template type                         filename=systemd_logs.jsonnet\r\nINFO[0000] Scanning plugins in /etc/sonobuoy/plugins.d (pwd: /Users/abrand/go/src/github.com/heptio/sonobuoy)\r\nINFO[0000] Directory (/etc/sonobuoy/plugins.d) does not exist\r\nINFO[0000] Scanning plugins in ~/sonobuoy/plugins.d (pwd: /Users/abrand/go/src/github.com/heptio/sonobuoy)\r\nINFO[0000] Directory (~/sonobuoy/plugins.d) does not exist\r\nINFO[0000] Loading plugin driver DaemonSet\r\nINFO[0000] Loading plugin driver Job\r\nINFO[0000] Filtering namespaces based on the following regex:.*|heptio-sonobuoy\r\nERRO[0030] could not filter namespaces: Get https://192.168.99.100:8443/api/v1/namespaces: dial tcp 192.168.99.100:8443: i/o timeout\r\nexit status 1\r\n```","created_at":"2018-02-16T14:59:53Z","updated_at":"2018-02-16T15:34:38Z","closed_at":null,"merged_at":null,"merge_commit_sha":"36c3dc8a55589907527883c79e12af66c3b47cb4","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/heptio/sonobuoy/pulls/260/commits","review_comments_url":"https://api.github.com/repos/heptio/sonobuoy/pulls/260/comments","review_comment_url":"https://api.github.com/repos/heptio/sonobuoy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/heptio/sonobuoy/issues/260/comments","statuses_url":"https://api.github.com/repos/heptio/sonobuoy/statuses/976ac5f66cbb29ff2a82d136f37ad800b3ab0f9e","head":{"label":"alexbrand:fix-257","ref":"fix-257","sha":"976ac5f66cbb29ff2a82d136f37ad800b3ab0f9e","user":{"login":"alexbrand","id":545723,"avatar_url":"https://avatars2.githubusercontent.com/u/545723?v=4","gravatar_id":"","url":"https://api.github.com/users/alexbrand","html_url":"https://github.com/alexbrand","followers_url":"https://api.github.com/users/alexbrand/followers","following_url":"https://api.github.com/users/alexbrand/following{/other_user}","gists_url":"https://api.github.com/users/alexbrand/gists{/gist_id}","starred_url":"https://api.github.com/users/alexbrand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexbrand/subscriptions","organizations_url":"https://api.github.com/users/alexbrand/orgs","repos_url":"https://api.github.com/users/alexbrand/repos","events_url":"https://api.github.com/users/alexbrand/events{/privacy}","received_events_url":"https://api.github.com/users/alexbrand/received_events","type":"User","site_admin":false},"repo":{"id":121762538,"name":"sonobuoy","full_name":"alexbrand/sonobuoy","owner":{"login":"alexbrand","id":545723,"avatar_url":"https://avatars2.githubusercontent.com/u/545723?v=4","gravatar_id":"","url":"https://api.github.com/users/alexbrand","html_url":"https://github.com/alexbrand","followers_url":"https://api.github.com/users/alexbrand/followers","following_url":"https://api.github.com/users/alexbrand/following{/other_user}","gists_url":"https://api.github.com/users/alexbrand/gists{/gist_id}","starred_url":"https://api.github.com/users/alexbrand/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexbrand/subscriptions","organizations_url":"https://api.github.com/users/alexbrand/orgs","repos_url":"https://api.github.com/users/alexbrand/repos","events_url":"https://api.github.com/users/alexbrand/events{/privacy}","received_events_url":"https://api.github.com/users/alexbrand/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/alexbrand/sonobuoy","description":"Heptio Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner. Brought to you by Heptio.","fork":true,"url":"https://api.github.com/repos/alexbrand/sonobuoy","forks_url":"https://api.github.com/repos/alexbrand/sonobuoy/forks","keys_url":"https://api.github.com/repos/alexbrand/sonobuoy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alexbrand/sonobuoy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alexbrand/sonobuoy/teams","hooks_url":"https://api.github.com/repos/alexbrand/sonobuoy/hooks","issue_events_url":"https://api.github.com/repos/alexbrand/sonobuoy/issues/events{/number}","events_url":"https://api.github.com/repos/alexbrand/sonobuoy/events","assignees_url":"https://api.github.com/repos/alexbrand/sonobuoy/assignees{/user}","branches_url":"https://api.github.com/repos/alexbrand/sonobuoy/branches{/branch}","tags_url":"https://api.github.com/repos/alexbrand/sonobuoy/tags","blobs_url":"https://api.github.com/repos/alexbrand/sonobuoy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alexbrand/sonobuoy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alexbrand/sonobuoy/git/refs{/sha}","trees_url":"https://api.github.com/repos/alexbrand/sonobuoy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alexbrand/sonobuoy/statuses/{sha}","languages_url":"https://api.github.com/repos/alexbrand/sonobuoy/languages","stargazers_url":"https://api.github.com/repos/alexbrand/sonobuoy/stargazers","contributors_url":"https://api.github.com/repos/alexbrand/sonobuoy/contributors","subscribers_url":"https://api.github.com/repos/alexbrand/sonobuoy/subscribers","subscription_url":"https://api.github.com/repos/alexbrand/sonobuoy/subscription","commits_url":"https://api.github.com/repos/alexbrand/sonobuoy/commits{/sha}","git_commits_url":"https://api.github.com/repos/alexbrand/sonobuoy/git/commits{/sha}","comments_url":"https://api.github.com/repos/alexbrand/sonobuoy/comments{/number}","issue_comment_url":"https://api.github.com/repos/alexbrand/sonobuoy/issues/comments{/number}","contents_url":"https://api.github.com/repos/alexbrand/sonobuoy/contents/{+path}","compare_url":"https://api.github.com/repos/alexbrand/sonobuoy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alexbrand/sonobuoy/merges","archive_url":"https://api.github.com/repos/alexbrand/sonobuoy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alexbrand/sonobuoy/downloads","issues_url":"https://api.github.com/repos/alexbrand/sonobuoy/issues{/number}","pulls_url":"https://api.github.com/repos/alexbrand/sonobuoy/pulls{/number}","milestones_url":"https://api.github.com/repos/alexbrand/sonobuoy/milestones{/number}","notifications_url":"https://api.github.com/repos/alexbrand/sonobuoy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alexbrand/sonobuoy/labels{/name}","releases_url":"https://api.github.com/repos/alexbrand/sonobuoy/releases{/id}","deployments_url":"https://api.github.com/repos/alexbrand/sonobuoy/deployments","created_at":"2018-02-16T14:53:21Z","updated_at":"2018-02-16T14:53:24Z","pushed_at":"2018-02-16T15:00:32Z","git_url":"git://github.com/alexbrand/sonobuoy.git","ssh_url":"git@github.com:alexbrand/sonobuoy.git","clone_url":"https://github.com/alexbrand/sonobuoy.git","svn_url":"https://github.com/alexbrand/sonobuoy","homepage":"http://www.heptio.com","size":9823,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"heptio:master","ref":"master","sha":"cdf07f8cd4e401f5fb953f596f6cd1a9848163f8","user":{"login":"heptio","id":22035492,"avatar_url":"https://avatars0.githubusercontent.com/u/22035492?v=4","gravatar_id":"","url":"https://api.github.com/users/heptio","html_url":"https://github.com/heptio","followers_url":"https://api.github.com/users/heptio/followers","following_url":"https://api.github.com/users/heptio/following{/other_user}","gists_url":"https://api.github.com/users/heptio/gists{/gist_id}","starred_url":"https://api.github.com/users/heptio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heptio/subscriptions","organizations_url":"https://api.github.com/users/heptio/orgs","repos_url":"https://api.github.com/users/heptio/repos","events_url":"https://api.github.com/users/heptio/events{/privacy}","received_events_url":"https://api.github.com/users/heptio/received_events","type":"Organization","site_admin":false},"repo":{"id":98453563,"name":"sonobuoy","full_name":"heptio/sonobuoy","owner":{"login":"heptio","id":22035492,"avatar_url":"https://avatars0.githubusercontent.com/u/22035492?v=4","gravatar_id":"","url":"https://api.github.com/users/heptio","html_url":"https://github.com/heptio","followers_url":"https://api.github.com/users/heptio/followers","following_url":"https://api.github.com/users/heptio/following{/other_user}","gists_url":"https://api.github.com/users/heptio/gists{/gist_id}","starred_url":"https://api.github.com/users/heptio/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heptio/subscriptions","organizations_url":"https://api.github.com/users/heptio/orgs","repos_url":"https://api.github.com/users/heptio/repos","events_url":"https://api.github.com/users/heptio/events{/privacy}","received_events_url":"https://api.github.com/users/heptio/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/heptio/sonobuoy","description":"Heptio Sonobuoy is a diagnostic tool that makes it easier to understand the state of a Kubernetes cluster by running a set of Kubernetes conformance tests in an accessible and non-destructive manner. Brought to you by Heptio.","fork":false,"url":"https://api.github.com/repos/heptio/sonobuoy","forks_url":"https://api.github.com/repos/heptio/sonobuoy/forks","keys_url":"https://api.github.com/repos/heptio/sonobuoy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/heptio/sonobuoy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/heptio/sonobuoy/teams","hooks_url":"https://api.github.com/repos/heptio/sonobuoy/hooks","issue_events_url":"https://api.github.com/repos/heptio/sonobuoy/issues/events{/number}","events_url":"https://api.github.com/repos/heptio/sonobuoy/events","assignees_url":"https://api.github.com/repos/heptio/sonobuoy/assignees{/user}","branches_url":"https://api.github.com/repos/heptio/sonobuoy/branches{/branch}","tags_url":"https://api.github.com/repos/heptio/sonobuoy/tags","blobs_url":"https://api.github.com/repos/heptio/sonobuoy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/heptio/sonobuoy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/heptio/sonobuoy/git/refs{/sha}","trees_url":"https://api.github.com/repos/heptio/sonobuoy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/heptio/sonobuoy/statuses/{sha}","languages_url":"https://api.github.com/repos/heptio/sonobuoy/languages","stargazers_url":"https://api.github.com/repos/heptio/sonobuoy/stargazers","contributors_url":"https://api.github.com/repos/heptio/sonobuoy/contributors","subscribers_url":"https://api.github.com/repos/heptio/sonobuoy/subscribers","subscription_url":"https://api.github.com/repos/heptio/sonobuoy/subscription","commits_url":"https://api.github.com/repos/heptio/sonobuoy/commits{/sha}","git_commits_url":"https://api.github.com/repos/heptio/sonobuoy/git/commits{/sha}","comments_url":"https://api.github.com/repos/heptio/sonobuoy/comments{/number}","issue_comment_url":"https://api.github.com/repos/heptio/sonobuoy/issues/comments{/number}","contents_url":"https://api.github.com/repos/heptio/sonobuoy/contents/{+path}","compare_url":"https://api.github.com/repos/heptio/sonobuoy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/heptio/sonobuoy/merges","archive_url":"https://api.github.com/repos/heptio/sonobuoy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/heptio/sonobuoy/downloads","issues_url":"https://api.github.com/repos/heptio/sonobuoy/issues{/number}","pulls_url":"https://api.github.com/repos/heptio/sonobuoy/pulls{/number}","milestones_url":"https://api.github.com/repos/heptio/sonobuoy/milestones{/number}","notifications_url":"https://api.github.com/repos/heptio/sonobuoy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/heptio/sonobuoy/labels{/name}","releases_url":"https://api.github.com/repos/heptio/sonobuoy/releases{/id}","deployments_url":"https://api.github.com/repos/heptio/sonobuoy/deployments","created_at":"2017-07-26T18:27:09Z","updated_at":"2018-02-16T12:03:04Z","pushed_at":"2018-02-16T15:00:32Z","git_url":"git://github.com/heptio/sonobuoy.git","ssh_url":"git@github.com:heptio/sonobuoy.git","clone_url":"https://github.com/heptio/sonobuoy.git","svn_url":"https://github.com/heptio/sonobuoy","homepage":"http://www.heptio.com","size":9831,"stargazers_count":545,"watchers_count":545,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":54,"mirror_url":null,"archived":false,"open_issues_count":35,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":54,"open_issues":35,"watchers":545,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/heptio/sonobuoy/pulls/260"},"html":{"href":"https://github.com/heptio/sonobuoy/pull/260"},"issue":{"href":"https://api.github.com/repos/heptio/sonobuoy/issues/260"},"comments":{"href":"https://api.github.com/repos/heptio/sonobuoy/issues/260/comments"},"review_comments":{"href":"https://api.github.com/repos/heptio/sonobuoy/pulls/260/comments"},"review_comment":{"href":"https://api.github.com/repos/heptio/sonobuoy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/heptio/sonobuoy/pulls/260/commits"},"statuses":{"href":"https://api.github.com/repos/heptio/sonobuoy/statuses/976ac5f66cbb29ff2a82d136f37ad800b3ab0f9e"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"timothysc"}}