{"action":"created","comment":{"url":"https://api.github.com/repos/alces-software/adminware/pulls/comments/225104962","pull_request_review_id":164630506,"id":225104962,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNTEwNDk2Mg==","diff_hunk":"@@ -27,3 +24,6 @@ def families(self):\n         default = ''\n         self.data.setdefault('families', default)\n         return self.data['families']\n+\n+    def command_exists(self):\n+        return 'command' in self.data","path":"src/models/config.py","position":16,"original_position":16,"commit_id":"ab557817d62a54e44d93678ab47166d1c287fcc6","original_commit_id":"ab557817d62a54e44d93678ab47166d1c287fcc6","user":{"login":"DavidMarchant","id":24327288,"node_id":"MDQ6VXNlcjI0MzI3Mjg4","avatar_url":"https://avatars0.githubusercontent.com/u/24327288?v=4","gravatar_id":"","url":"https://api.github.com/users/DavidMarchant","html_url":"https://github.com/DavidMarchant","followers_url":"https://api.github.com/users/DavidMarchant/followers","following_url":"https://api.github.com/users/DavidMarchant/following{/other_user}","gists_url":"https://api.github.com/users/DavidMarchant/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidMarchant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidMarchant/subscriptions","organizations_url":"https://api.github.com/users/DavidMarchant/orgs","repos_url":"https://api.github.com/users/DavidMarchant/repos","events_url":"https://api.github.com/users/DavidMarchant/events{/privacy}","received_events_url":"https://api.github.com/users/DavidMarchant/received_events","type":"User","site_admin":false},"body":"This does return a `boolean` - in this context `x in y` returns true if `x` is a key in dict `y`, false otherwise\r\nIt doesn't return the value of command\r\nAm I alright to merge this through then?","created_at":"2018-10-15T09:58:22Z","updated_at":"2018-10-15T09:58:22Z","html_url":"https://github.com/alces-software/adminware/pull/88#discussion_r225104962","pull_request_url":"https://api.github.com/repos/alces-software/adminware/pulls/88","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/alces-software/adminware/pulls/comments/225104962"},"html":{"href":"https://github.com/alces-software/adminware/pull/88#discussion_r225104962"},"pull_request":{"href":"https://api.github.com/repos/alces-software/adminware/pulls/88"}},"in_reply_to_id":225102973},"pull_request":{"url":"https://api.github.com/repos/alces-software/adminware/pulls/88","id":221844809,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxODQ0ODA5","html_url":"https://github.com/alces-software/adminware/pull/88","diff_url":"https://github.com/alces-software/adminware/pull/88.diff","patch_url":"https://github.com/alces-software/adminware/pull/88.patch","issue_url":"https://api.github.com/repos/alces-software/adminware/issues/88","number":88,"state":"open","locked":false,"title":"alter default command behaviour","user":{"login":"DavidMarchant","id":24327288,"node_id":"MDQ6VXNlcjI0MzI3Mjg4","avatar_url":"https://avatars0.githubusercontent.com/u/24327288?v=4","gravatar_id":"","url":"https://api.github.com/users/DavidMarchant","html_url":"https://github.com/DavidMarchant","followers_url":"https://api.github.com/users/DavidMarchant/followers","following_url":"https://api.github.com/users/DavidMarchant/following{/other_user}","gists_url":"https://api.github.com/users/DavidMarchant/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidMarchant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidMarchant/subscriptions","organizations_url":"https://api.github.com/users/DavidMarchant/orgs","repos_url":"https://api.github.com/users/DavidMarchant/repos","events_url":"https://api.github.com/users/DavidMarchant/events{/privacy}","received_events_url":"https://api.github.com/users/DavidMarchant/received_events","type":"User","site_admin":false},"body":"~Changed it from `echo 'no command specified <tool name>'` to the empty string (an invalid bash command) so it now reports a failure~\r\n```\r\nadminware> batch run -n localhost test_cmd6\r\nBatch: 415\r\nExecuting: test_cmd6\r\nlocalhost: Failed: 1\r\n```\r\n\r\nIgnore the above, I had forgotten about `open`. Now the default is a static string and as such using `open` with an invalid command reports 'Command not found' . `batch` reports the same as above except with error code 127\r\nI am a little ignorant, is this what people want? If not how would you want the failure communicated?\r\nFixes #84 when merged","created_at":"2018-10-10T15:55:41Z","updated_at":"2018-10-15T09:58:22Z","closed_at":null,"merged_at":null,"merge_commit_sha":"db7b8e4904b00dfc77c788e83214fe63576976c9","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":{"url":"https://api.github.com/repos/alces-software/adminware/milestones/1","html_url":"https://github.com/alces-software/adminware/milestone/1","labels_url":"https://api.github.com/repos/alces-software/adminware/milestones/1/labels","id":3671736,"node_id":"MDk6TWlsZXN0b25lMzY3MTczNg==","number":1,"title":"2018.1","description":"","creator":{"login":"mjtko","id":206834,"node_id":"MDQ6VXNlcjIwNjgzNA==","avatar_url":"https://avatars0.githubusercontent.com/u/206834?v=4","gravatar_id":"","url":"https://api.github.com/users/mjtko","html_url":"https://github.com/mjtko","followers_url":"https://api.github.com/users/mjtko/followers","following_url":"https://api.github.com/users/mjtko/following{/other_user}","gists_url":"https://api.github.com/users/mjtko/gists{/gist_id}","starred_url":"https://api.github.com/users/mjtko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mjtko/subscriptions","organizations_url":"https://api.github.com/users/mjtko/orgs","repos_url":"https://api.github.com/users/mjtko/repos","events_url":"https://api.github.com/users/mjtko/events{/privacy}","received_events_url":"https://api.github.com/users/mjtko/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":6,"state":"open","created_at":"2018-09-19T15:34:40Z","updated_at":"2018-10-12T15:45:45Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/alces-software/adminware/pulls/88/commits","review_comments_url":"https://api.github.com/repos/alces-software/adminware/pulls/88/comments","review_comment_url":"https://api.github.com/repos/alces-software/adminware/pulls/comments{/number}","comments_url":"https://api.github.com/repos/alces-software/adminware/issues/88/comments","statuses_url":"https://api.github.com/repos/alces-software/adminware/statuses/ab557817d62a54e44d93678ab47166d1c287fcc6","head":{"label":"alces-software:fix/default_commands","ref":"fix/default_commands","sha":"ab557817d62a54e44d93678ab47166d1c287fcc6","user":{"login":"alces-software","id":945288,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk0NTI4OA==","avatar_url":"https://avatars0.githubusercontent.com/u/945288?v=4","gravatar_id":"","url":"https://api.github.com/users/alces-software","html_url":"https://github.com/alces-software","followers_url":"https://api.github.com/users/alces-software/followers","following_url":"https://api.github.com/users/alces-software/following{/other_user}","gists_url":"https://api.github.com/users/alces-software/gists{/gist_id}","starred_url":"https://api.github.com/users/alces-software/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alces-software/subscriptions","organizations_url":"https://api.github.com/users/alces-software/orgs","repos_url":"https://api.github.com/users/alces-software/repos","events_url":"https://api.github.com/users/alces-software/events{/privacy}","received_events_url":"https://api.github.com/users/alces-software/received_events","type":"Organization","site_admin":false},"repo":{"id":121500310,"node_id":"MDEwOlJlcG9zaXRvcnkxMjE1MDAzMTA=","name":"adminware","full_name":"alces-software/adminware","private":false,"owner":{"login":"alces-software","id":945288,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk0NTI4OA==","avatar_url":"https://avatars0.githubusercontent.com/u/945288?v=4","gravatar_id":"","url":"https://api.github.com/users/alces-software","html_url":"https://github.com/alces-software","followers_url":"https://api.github.com/users/alces-software/followers","following_url":"https://api.github.com/users/alces-software/following{/other_user}","gists_url":"https://api.github.com/users/alces-software/gists{/gist_id}","starred_url":"https://api.github.com/users/alces-software/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alces-software/subscriptions","organizations_url":"https://api.github.com/users/alces-software/orgs","repos_url":"https://api.github.com/users/alces-software/repos","events_url":"https://api.github.com/users/alces-software/events{/privacy}","received_events_url":"https://api.github.com/users/alces-software/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/alces-software/adminware","description":"A sandbox CLI for running commands remotely across nodes","fork":false,"url":"https://api.github.com/repos/alces-software/adminware","forks_url":"https://api.github.com/repos/alces-software/adminware/forks","keys_url":"https://api.github.com/repos/alces-software/adminware/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alces-software/adminware/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alces-software/adminware/teams","hooks_url":"https://api.github.com/repos/alces-software/adminware/hooks","issue_events_url":"https://api.github.com/repos/alces-software/adminware/issues/events{/number}","events_url":"https://api.github.com/repos/alces-software/adminware/events","assignees_url":"https://api.github.com/repos/alces-software/adminware/assignees{/user}","branches_url":"https://api.github.com/repos/alces-software/adminware/branches{/branch}","tags_url":"https://api.github.com/repos/alces-software/adminware/tags","blobs_url":"https://api.github.com/repos/alces-software/adminware/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alces-software/adminware/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alces-software/adminware/git/refs{/sha}","trees_url":"https://api.github.com/repos/alces-software/adminware/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alces-software/adminware/statuses/{sha}","languages_url":"https://api.github.com/repos/alces-software/adminware/languages","stargazers_url":"https://api.github.com/repos/alces-software/adminware/stargazers","contributors_url":"https://api.github.com/repos/alces-software/adminware/contributors","subscribers_url":"https://api.github.com/repos/alces-software/adminware/subscribers","subscription_url":"https://api.github.com/repos/alces-software/adminware/subscription","commits_url":"https://api.github.com/repos/alces-software/adminware/commits{/sha}","git_commits_url":"https://api.github.com/repos/alces-software/adminware/git/commits{/sha}","comments_url":"https://api.github.com/repos/alces-software/adminware/comments{/number}","issue_comment_url":"https://api.github.com/repos/alces-software/adminware/issues/comments{/number}","contents_url":"https://api.github.com/repos/alces-software/adminware/contents/{+path}","compare_url":"https://api.github.com/repos/alces-software/adminware/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alces-software/adminware/merges","archive_url":"https://api.github.com/repos/alces-software/adminware/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alces-software/adminware/downloads","issues_url":"https://api.github.com/repos/alces-software/adminware/issues{/number}","pulls_url":"https://api.github.com/repos/alces-software/adminware/pulls{/number}","milestones_url":"https://api.github.com/repos/alces-software/adminware/milestones{/number}","notifications_url":"https://api.github.com/repos/alces-software/adminware/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alces-software/adminware/labels{/name}","releases_url":"https://api.github.com/repos/alces-software/adminware/releases{/id}","deployments_url":"https://api.github.com/repos/alces-software/adminware/deployments","created_at":"2018-02-14T10:54:10Z","updated_at":"2018-10-12T15:00:32Z","pushed_at":"2018-10-12T15:52:12Z","git_url":"git://github.com/alces-software/adminware.git","ssh_url":"git@github.com:alces-software/adminware.git","clone_url":"https://github.com/alces-software/adminware.git","svn_url":"https://github.com/alces-software/adminware","homepage":"","size":346,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":14,"license":null,"forks":0,"open_issues":14,"watchers":0,"default_branch":"develop"}},"base":{"label":"alces-software:develop","ref":"develop","sha":"4384ed4e94a0092f5f568e2f864c8a40084bc317","user":{"login":"alces-software","id":945288,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk0NTI4OA==","avatar_url":"https://avatars0.githubusercontent.com/u/945288?v=4","gravatar_id":"","url":"https://api.github.com/users/alces-software","html_url":"https://github.com/alces-software","followers_url":"https://api.github.com/users/alces-software/followers","following_url":"https://api.github.com/users/alces-software/following{/other_user}","gists_url":"https://api.github.com/users/alces-software/gists{/gist_id}","starred_url":"https://api.github.com/users/alces-software/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alces-software/subscriptions","organizations_url":"https://api.github.com/users/alces-software/orgs","repos_url":"https://api.github.com/users/alces-software/repos","events_url":"https://api.github.com/users/alces-software/events{/privacy}","received_events_url":"https://api.github.com/users/alces-software/received_events","type":"Organization","site_admin":false},"repo":{"id":121500310,"node_id":"MDEwOlJlcG9zaXRvcnkxMjE1MDAzMTA=","name":"adminware","full_name":"alces-software/adminware","private":false,"owner":{"login":"alces-software","id":945288,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk0NTI4OA==","avatar_url":"https://avatars0.githubusercontent.com/u/945288?v=4","gravatar_id":"","url":"https://api.github.com/users/alces-software","html_url":"https://github.com/alces-software","followers_url":"https://api.github.com/users/alces-software/followers","following_url":"https://api.github.com/users/alces-software/following{/other_user}","gists_url":"https://api.github.com/users/alces-software/gists{/gist_id}","starred_url":"https://api.github.com/users/alces-software/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alces-software/subscriptions","organizations_url":"https://api.github.com/users/alces-software/orgs","repos_url":"https://api.github.com/users/alces-software/repos","events_url":"https://api.github.com/users/alces-software/events{/privacy}","received_events_url":"https://api.github.com/users/alces-software/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/alces-software/adminware","description":"A sandbox CLI for running commands remotely across nodes","fork":false,"url":"https://api.github.com/repos/alces-software/adminware","forks_url":"https://api.github.com/repos/alces-software/adminware/forks","keys_url":"https://api.github.com/repos/alces-software/adminware/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alces-software/adminware/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alces-software/adminware/teams","hooks_url":"https://api.github.com/repos/alces-software/adminware/hooks","issue_events_url":"https://api.github.com/repos/alces-software/adminware/issues/events{/number}","events_url":"https://api.github.com/repos/alces-software/adminware/events","assignees_url":"https://api.github.com/repos/alces-software/adminware/assignees{/user}","branches_url":"https://api.github.com/repos/alces-software/adminware/branches{/branch}","tags_url":"https://api.github.com/repos/alces-software/adminware/tags","blobs_url":"https://api.github.com/repos/alces-software/adminware/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alces-software/adminware/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alces-software/adminware/git/refs{/sha}","trees_url":"https://api.github.com/repos/alces-software/adminware/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alces-software/adminware/statuses/{sha}","languages_url":"https://api.github.com/repos/alces-software/adminware/languages","stargazers_url":"https://api.github.com/repos/alces-software/adminware/stargazers","contributors_url":"https://api.github.com/repos/alces-software/adminware/contributors","subscribers_url":"https://api.github.com/repos/alces-software/adminware/subscribers","subscription_url":"https://api.github.com/repos/alces-software/adminware/subscription","commits_url":"https://api.github.com/repos/alces-software/adminware/commits{/sha}","git_commits_url":"https://api.github.com/repos/alces-software/adminware/git/commits{/sha}","comments_url":"https://api.github.com/repos/alces-software/adminware/comments{/number}","issue_comment_url":"https://api.github.com/repos/alces-software/adminware/issues/comments{/number}","contents_url":"https://api.github.com/repos/alces-software/adminware/contents/{+path}","compare_url":"https://api.github.com/repos/alces-software/adminware/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alces-software/adminware/merges","archive_url":"https://api.github.com/repos/alces-software/adminware/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alces-software/adminware/downloads","issues_url":"https://api.github.com/repos/alces-software/adminware/issues{/number}","pulls_url":"https://api.github.com/repos/alces-software/adminware/pulls{/number}","milestones_url":"https://api.github.com/repos/alces-software/adminware/milestones{/number}","notifications_url":"https://api.github.com/repos/alces-software/adminware/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alces-software/adminware/labels{/name}","releases_url":"https://api.github.com/repos/alces-software/adminware/releases{/id}","deployments_url":"https://api.github.com/repos/alces-software/adminware/deployments","created_at":"2018-02-14T10:54:10Z","updated_at":"2018-10-12T15:00:32Z","pushed_at":"2018-10-12T15:52:12Z","git_url":"git://github.com/alces-software/adminware.git","ssh_url":"git@github.com:alces-software/adminware.git","clone_url":"https://github.com/alces-software/adminware.git","svn_url":"https://github.com/alces-software/adminware","homepage":"","size":346,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":14,"license":null,"forks":0,"open_issues":14,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/alces-software/adminware/pulls/88"},"html":{"href":"https://github.com/alces-software/adminware/pull/88"},"issue":{"href":"https://api.github.com/repos/alces-software/adminware/issues/88"},"comments":{"href":"https://api.github.com/repos/alces-software/adminware/issues/88/comments"},"review_comments":{"href":"https://api.github.com/repos/alces-software/adminware/pulls/88/comments"},"review_comment":{"href":"https://api.github.com/repos/alces-software/adminware/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/alces-software/adminware/pulls/88/commits"},"statuses":{"href":"https://api.github.com/repos/alces-software/adminware/statuses/ab557817d62a54e44d93678ab47166d1c287fcc6"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"DavidMarchant"}}