{"action":"created","comment":{"url":"https://api.github.com/repos/emccode/libstorage/pulls/comments/63815754","id":63815754,"diff_hunk":"@@ -149,7 +156,7 @@ func newServer(config gofig.Config) (*server, error) {\n // returns a channel on which errors are received. Reading this channel is\n // also the prescribed manner for clients wishing to block until the server is\n // shutdown as the error channel will be closed when the server is stopped.\n-func Serve(config gofig.Config) (io.Closer, error, <-chan error) {\n+func Serve(config gofig.Config) (types.Server, error, <-chan error) {","path":"api/server/server_control.go","position":37,"original_position":37,"commit_id":"2da515761d440b9daed66e4ad5865fac6f536c53","original_commit_id":"2da515761d440b9daed66e4ad5865fac6f536c53","user":{"login":"houndci-bot","id":6697940,"avatar_url":"https://avatars.githubusercontent.com/u/6697940?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"error should be the last type when returning multiple items","created_at":"2016-05-19T02:43:41Z","updated_at":"2016-05-19T02:43:41Z","html_url":"https://github.com/emccode/libstorage/pull/142#discussion_r63815754","pull_request_url":"https://api.github.com/repos/emccode/libstorage/pulls/142","_links":{"self":{"href":"https://api.github.com/repos/emccode/libstorage/pulls/comments/63815754"},"html":{"href":"https://github.com/emccode/libstorage/pull/142#discussion_r63815754"},"pull_request":{"href":"https://api.github.com/repos/emccode/libstorage/pulls/142"}}},"pull_request":{"url":"https://api.github.com/repos/emccode/libstorage/pulls/142","id":70629362,"html_url":"https://github.com/emccode/libstorage/pull/142","diff_url":"https://github.com/emccode/libstorage/pull/142.diff","patch_url":"https://github.com/emccode/libstorage/pull/142.patch","issue_url":"https://api.github.com/repos/emccode/libstorage/issues/142","number":142,"state":"open","locked":false,"title":"Bugfix for lss-$GOOS, logging, unix sock, etc.","user":{"login":"akutz","id":101085,"avatar_url":"https://avatars.githubusercontent.com/u/101085?v=3","gravatar_id":"","url":"https://api.github.com/users/akutz","html_url":"https://github.com/akutz","followers_url":"https://api.github.com/users/akutz/followers","following_url":"https://api.github.com/users/akutz/following{/other_user}","gists_url":"https://api.github.com/users/akutz/gists{/gist_id}","starred_url":"https://api.github.com/users/akutz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akutz/subscriptions","organizations_url":"https://api.github.com/users/akutz/orgs","repos_url":"https://api.github.com/users/akutz/repos","events_url":"https://api.github.com/users/akutz/events{/privacy}","received_events_url":"https://api.github.com/users/akutz/received_events","type":"User","site_admin":false},"body":"This patch fixes several outstanding issues and introduces one new feature called autoEndpointMode:\r\n\r\n  - The `lss-$GOOS` reference server implementation now ignores all other command line input if a configuration file is specified\r\n\r\n  - The `libstorage.logging.level` value is now respected and both the client's and server's root contexts read this value in order to initialize the root contexts from which all client and server contexts derive with the configured log level.\r\n\r\n  - Server endpoints configured to use UNIX sockets now have said sockets created in `$LIBSTORAGE_HOME/var/run/libstorage`.\r\n\r\n  - The `libstorage.host` property will be used to create a default endpoint for the server if no endpoints are defined.\r\n\r\n  - A new property, `libstorage.server.autoEndpointMode`, which defaults to `unix` and can also be set to `tcp`, is used to determine what type of endpoint to create as \"localhost\" if no endpoints are explicitly defined.\r\n\r\n  - The `Server` interface is now returned from the server package instead of `io.Closer`. The `Server` interface can be used to get the name of the server, close the server, and also get all configured endpoint addresses for the server.","created_at":"2016-05-19T02:43:29Z","updated_at":"2016-05-19T02:43:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ebaafc9dc1b7c25e6b5711418ee7eeef35631ae6","assignee":{"login":"akutz","id":101085,"avatar_url":"https://avatars.githubusercontent.com/u/101085?v=3","gravatar_id":"","url":"https://api.github.com/users/akutz","html_url":"https://github.com/akutz","followers_url":"https://api.github.com/users/akutz/followers","following_url":"https://api.github.com/users/akutz/following{/other_user}","gists_url":"https://api.github.com/users/akutz/gists{/gist_id}","starred_url":"https://api.github.com/users/akutz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akutz/subscriptions","organizations_url":"https://api.github.com/users/akutz/orgs","repos_url":"https://api.github.com/users/akutz/repos","events_url":"https://api.github.com/users/akutz/events{/privacy}","received_events_url":"https://api.github.com/users/akutz/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/emccode/libstorage/milestones/1","html_url":"https://github.com/emccode/libstorage/milestones/0.1.0","labels_url":"https://api.github.com/repos/emccode/libstorage/milestones/1/labels","id":1411386,"number":1,"title":"0.1.0","description":"","creator":{"login":"akutz","id":101085,"avatar_url":"https://avatars.githubusercontent.com/u/101085?v=3","gravatar_id":"","url":"https://api.github.com/users/akutz","html_url":"https://github.com/akutz","followers_url":"https://api.github.com/users/akutz/followers","following_url":"https://api.github.com/users/akutz/following{/other_user}","gists_url":"https://api.github.com/users/akutz/gists{/gist_id}","starred_url":"https://api.github.com/users/akutz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akutz/subscriptions","organizations_url":"https://api.github.com/users/akutz/orgs","repos_url":"https://api.github.com/users/akutz/repos","events_url":"https://api.github.com/users/akutz/events{/privacy}","received_events_url":"https://api.github.com/users/akutz/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":102,"state":"open","created_at":"2015-11-14T02:02:47Z","updated_at":"2016-05-19T02:43:29Z","due_on":"2016-05-16T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/emccode/libstorage/pulls/142/commits","review_comments_url":"https://api.github.com/repos/emccode/libstorage/pulls/142/comments","review_comment_url":"https://api.github.com/repos/emccode/libstorage/pulls/comments{/number}","comments_url":"https://api.github.com/repos/emccode/libstorage/issues/142/comments","statuses_url":"https://api.github.com/repos/emccode/libstorage/statuses/2da515761d440b9daed66e4ad5865fac6f536c53","head":{"label":"akutz:bugfix/lss-goos-logs-etc","ref":"bugfix/lss-goos-logs-etc","sha":"2da515761d440b9daed66e4ad5865fac6f536c53","user":{"login":"akutz","id":101085,"avatar_url":"https://avatars.githubusercontent.com/u/101085?v=3","gravatar_id":"","url":"https://api.github.com/users/akutz","html_url":"https://github.com/akutz","followers_url":"https://api.github.com/users/akutz/followers","following_url":"https://api.github.com/users/akutz/following{/other_user}","gists_url":"https://api.github.com/users/akutz/gists{/gist_id}","starred_url":"https://api.github.com/users/akutz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akutz/subscriptions","organizations_url":"https://api.github.com/users/akutz/orgs","repos_url":"https://api.github.com/users/akutz/repos","events_url":"https://api.github.com/users/akutz/events{/privacy}","received_events_url":"https://api.github.com/users/akutz/received_events","type":"User","site_admin":false},"repo":{"id":46155336,"name":"libstorage","full_name":"akutz/libstorage","owner":{"login":"akutz","id":101085,"avatar_url":"https://avatars.githubusercontent.com/u/101085?v=3","gravatar_id":"","url":"https://api.github.com/users/akutz","html_url":"https://github.com/akutz","followers_url":"https://api.github.com/users/akutz/followers","following_url":"https://api.github.com/users/akutz/following{/other_user}","gists_url":"https://api.github.com/users/akutz/gists{/gist_id}","starred_url":"https://api.github.com/users/akutz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akutz/subscriptions","organizations_url":"https://api.github.com/users/akutz/orgs","repos_url":"https://api.github.com/users/akutz/repos","events_url":"https://api.github.com/users/akutz/events{/privacy}","received_events_url":"https://api.github.com/users/akutz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/akutz/libstorage","description":"LibStorage provides a vendor agnostic storage orchestration model, API, and reference client and server implementations.","fork":true,"url":"https://api.github.com/repos/akutz/libstorage","forks_url":"https://api.github.com/repos/akutz/libstorage/forks","keys_url":"https://api.github.com/repos/akutz/libstorage/keys{/key_id}","collaborators_url":"https://api.github.com/repos/akutz/libstorage/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/akutz/libstorage/teams","hooks_url":"https://api.github.com/repos/akutz/libstorage/hooks","issue_events_url":"https://api.github.com/repos/akutz/libstorage/issues/events{/number}","events_url":"https://api.github.com/repos/akutz/libstorage/events","assignees_url":"https://api.github.com/repos/akutz/libstorage/assignees{/user}","branches_url":"https://api.github.com/repos/akutz/libstorage/branches{/branch}","tags_url":"https://api.github.com/repos/akutz/libstorage/tags","blobs_url":"https://api.github.com/repos/akutz/libstorage/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/akutz/libstorage/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/akutz/libstorage/git/refs{/sha}","trees_url":"https://api.github.com/repos/akutz/libstorage/git/trees{/sha}","statuses_url":"https://api.github.com/repos/akutz/libstorage/statuses/{sha}","languages_url":"https://api.github.com/repos/akutz/libstorage/languages","stargazers_url":"https://api.github.com/repos/akutz/libstorage/stargazers","contributors_url":"https://api.github.com/repos/akutz/libstorage/contributors","subscribers_url":"https://api.github.com/repos/akutz/libstorage/subscribers","subscription_url":"https://api.github.com/repos/akutz/libstorage/subscription","commits_url":"https://api.github.com/repos/akutz/libstorage/commits{/sha}","git_commits_url":"https://api.github.com/repos/akutz/libstorage/git/commits{/sha}","comments_url":"https://api.github.com/repos/akutz/libstorage/comments{/number}","issue_comment_url":"https://api.github.com/repos/akutz/libstorage/issues/comments{/number}","contents_url":"https://api.github.com/repos/akutz/libstorage/contents/{+path}","compare_url":"https://api.github.com/repos/akutz/libstorage/compare/{base}...{head}","merges_url":"https://api.github.com/repos/akutz/libstorage/merges","archive_url":"https://api.github.com/repos/akutz/libstorage/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/akutz/libstorage/downloads","issues_url":"https://api.github.com/repos/akutz/libstorage/issues{/number}","pulls_url":"https://api.github.com/repos/akutz/libstorage/pulls{/number}","milestones_url":"https://api.github.com/repos/akutz/libstorage/milestones{/number}","notifications_url":"https://api.github.com/repos/akutz/libstorage/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/akutz/libstorage/labels{/name}","releases_url":"https://api.github.com/repos/akutz/libstorage/releases{/id}","deployments_url":"https://api.github.com/repos/akutz/libstorage/deployments","created_at":"2015-11-14T01:05:44Z","updated_at":"2016-03-22T14:53:15Z","pushed_at":"2016-05-19T02:40:18Z","git_url":"git://github.com/akutz/libstorage.git","ssh_url":"git@github.com:akutz/libstorage.git","clone_url":"https://github.com/akutz/libstorage.git","svn_url":"https://github.com/akutz/libstorage","homepage":"","size":1222,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"emccode:master","ref":"master","sha":"bfb6edf3e5509d52f4972505ae7ad1a304bebbf1","user":{"login":"emccode","id":8659750,"avatar_url":"https://avatars.githubusercontent.com/u/8659750?v=3","gravatar_id":"","url":"https://api.github.com/users/emccode","html_url":"https://github.com/emccode","followers_url":"https://api.github.com/users/emccode/followers","following_url":"https://api.github.com/users/emccode/following{/other_user}","gists_url":"https://api.github.com/users/emccode/gists{/gist_id}","starred_url":"https://api.github.com/users/emccode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emccode/subscriptions","organizations_url":"https://api.github.com/users/emccode/orgs","repos_url":"https://api.github.com/users/emccode/repos","events_url":"https://api.github.com/users/emccode/events{/privacy}","received_events_url":"https://api.github.com/users/emccode/received_events","type":"Organization","site_admin":false},"repo":{"id":46084622,"name":"libstorage","full_name":"emccode/libstorage","owner":{"login":"emccode","id":8659750,"avatar_url":"https://avatars.githubusercontent.com/u/8659750?v=3","gravatar_id":"","url":"https://api.github.com/users/emccode","html_url":"https://github.com/emccode","followers_url":"https://api.github.com/users/emccode/followers","following_url":"https://api.github.com/users/emccode/following{/other_user}","gists_url":"https://api.github.com/users/emccode/gists{/gist_id}","starred_url":"https://api.github.com/users/emccode/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emccode/subscriptions","organizations_url":"https://api.github.com/users/emccode/orgs","repos_url":"https://api.github.com/users/emccode/repos","events_url":"https://api.github.com/users/emccode/events{/privacy}","received_events_url":"https://api.github.com/users/emccode/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/emccode/libstorage","description":"libStorage provides a portable and remotable storage plugin framework.","fork":false,"url":"https://api.github.com/repos/emccode/libstorage","forks_url":"https://api.github.com/repos/emccode/libstorage/forks","keys_url":"https://api.github.com/repos/emccode/libstorage/keys{/key_id}","collaborators_url":"https://api.github.com/repos/emccode/libstorage/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/emccode/libstorage/teams","hooks_url":"https://api.github.com/repos/emccode/libstorage/hooks","issue_events_url":"https://api.github.com/repos/emccode/libstorage/issues/events{/number}","events_url":"https://api.github.com/repos/emccode/libstorage/events","assignees_url":"https://api.github.com/repos/emccode/libstorage/assignees{/user}","branches_url":"https://api.github.com/repos/emccode/libstorage/branches{/branch}","tags_url":"https://api.github.com/repos/emccode/libstorage/tags","blobs_url":"https://api.github.com/repos/emccode/libstorage/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/emccode/libstorage/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/emccode/libstorage/git/refs{/sha}","trees_url":"https://api.github.com/repos/emccode/libstorage/git/trees{/sha}","statuses_url":"https://api.github.com/repos/emccode/libstorage/statuses/{sha}","languages_url":"https://api.github.com/repos/emccode/libstorage/languages","stargazers_url":"https://api.github.com/repos/emccode/libstorage/stargazers","contributors_url":"https://api.github.com/repos/emccode/libstorage/contributors","subscribers_url":"https://api.github.com/repos/emccode/libstorage/subscribers","subscription_url":"https://api.github.com/repos/emccode/libstorage/subscription","commits_url":"https://api.github.com/repos/emccode/libstorage/commits{/sha}","git_commits_url":"https://api.github.com/repos/emccode/libstorage/git/commits{/sha}","comments_url":"https://api.github.com/repos/emccode/libstorage/comments{/number}","issue_comment_url":"https://api.github.com/repos/emccode/libstorage/issues/comments{/number}","contents_url":"https://api.github.com/repos/emccode/libstorage/contents/{+path}","compare_url":"https://api.github.com/repos/emccode/libstorage/compare/{base}...{head}","merges_url":"https://api.github.com/repos/emccode/libstorage/merges","archive_url":"https://api.github.com/repos/emccode/libstorage/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/emccode/libstorage/downloads","issues_url":"https://api.github.com/repos/emccode/libstorage/issues{/number}","pulls_url":"https://api.github.com/repos/emccode/libstorage/pulls{/number}","milestones_url":"https://api.github.com/repos/emccode/libstorage/milestones{/number}","notifications_url":"https://api.github.com/repos/emccode/libstorage/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/emccode/libstorage/labels{/name}","releases_url":"https://api.github.com/repos/emccode/libstorage/releases{/id}","deployments_url":"https://api.github.com/repos/emccode/libstorage/deployments","created_at":"2015-11-12T22:22:37Z","updated_at":"2016-05-18T13:43:41Z","pushed_at":"2016-05-19T02:43:29Z","git_url":"git://github.com/emccode/libstorage.git","ssh_url":"git@github.com:emccode/libstorage.git","clone_url":"https://github.com/emccode/libstorage.git","svn_url":"https://github.com/emccode/libstorage","homepage":"","size":116855,"stargazers_count":13,"watchers_count":13,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"open_issues_count":18,"forks":7,"open_issues":18,"watchers":13,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/emccode/libstorage/pulls/142"},"html":{"href":"https://github.com/emccode/libstorage/pull/142"},"issue":{"href":"https://api.github.com/repos/emccode/libstorage/issues/142"},"comments":{"href":"https://api.github.com/repos/emccode/libstorage/issues/142/comments"},"review_comments":{"href":"https://api.github.com/repos/emccode/libstorage/pulls/142/comments"},"review_comment":{"href":"https://api.github.com/repos/emccode/libstorage/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/emccode/libstorage/pulls/142/commits"},"statuses":{"href":"https://api.github.com/repos/emccode/libstorage/statuses/2da515761d440b9daed66e4ad5865fac6f536c53"}}}}