{"action":"closed","number":7,"pull_request":{"url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls/7","id":171008384,"html_url":"https://github.com/KanoComputing/kano-os-recovery/pull/7","diff_url":"https://github.com/KanoComputing/kano-os-recovery/pull/7.diff","patch_url":"https://github.com/KanoComputing/kano-os-recovery/pull/7.patch","issue_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues/7","number":7,"state":"closed","locked":false,"title":"Rearrange recovery to run safely and less obtrusive","user":{"login":"skarbat","id":499442,"avatar_url":"https://avatars0.githubusercontent.com/u/499442?v=4","gravatar_id":"","url":"https://api.github.com/users/skarbat","html_url":"https://github.com/skarbat","followers_url":"https://api.github.com/users/skarbat/followers","following_url":"https://api.github.com/users/skarbat/following{/other_user}","gists_url":"https://api.github.com/users/skarbat/gists{/gist_id}","starred_url":"https://api.github.com/users/skarbat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skarbat/subscriptions","organizations_url":"https://api.github.com/users/skarbat/orgs","repos_url":"https://api.github.com/users/skarbat/repos","events_url":"https://api.github.com/users/skarbat/events{/privacy}","received_events_url":"https://api.github.com/users/skarbat/received_events","type":"User","site_admin":false},"body":"This PR tries to fix several things:\r\n\r\n 1) Run the recovery service after the system check disk, for possible corruption - fsck\r\n 2) Avoid mounting the filesystems in read-write ourselves, delegate to systemd\r\n 3) Correct a possible recovery stall when dnsmasq, and possibly others, tries to start daemons\r\n 4) The new ordering would guarantee that the low battery check is run beforehand\r\n\r\nA complete boot log of a recovery session running this PR can be found here - there are 2 debug messages that I already removed:\r\n\r\n * https://gist.github.com/skarbat/33510b77262defe9d4219d62c99604de\r\n\r\nFinally, this PR would obsolete this one: https://github.com/KanoComputing/kano-os-recovery/pull/6\r\n\r\nI am researching wether we can also delegate the fake mount point to fix point number 3.\r\n\r\n@Ealdwulf @tombettany ","created_at":"2018-02-23T12:54:13Z","updated_at":"2018-03-05T18:01:23Z","closed_at":"2018-03-05T18:01:23Z","merged_at":"2018-03-05T18:01:23Z","merge_commit_sha":"07eaee13f1e9fc133513150316f0aed7dbd48849","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls/7/commits","review_comments_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls/7/comments","review_comment_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls/comments{/number}","comments_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues/7/comments","statuses_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/statuses/cc8808a29cf3ad991e5a5ef69f1e54b1f0fc01b8","head":{"label":"KanoComputing:after-fsck","ref":"after-fsck","sha":"cc8808a29cf3ad991e5a5ef69f1e54b1f0fc01b8","user":{"login":"KanoComputing","id":3909402,"avatar_url":"https://avatars0.githubusercontent.com/u/3909402?v=4","gravatar_id":"","url":"https://api.github.com/users/KanoComputing","html_url":"https://github.com/KanoComputing","followers_url":"https://api.github.com/users/KanoComputing/followers","following_url":"https://api.github.com/users/KanoComputing/following{/other_user}","gists_url":"https://api.github.com/users/KanoComputing/gists{/gist_id}","starred_url":"https://api.github.com/users/KanoComputing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KanoComputing/subscriptions","organizations_url":"https://api.github.com/users/KanoComputing/orgs","repos_url":"https://api.github.com/users/KanoComputing/repos","events_url":"https://api.github.com/users/KanoComputing/events{/privacy}","received_events_url":"https://api.github.com/users/KanoComputing/received_events","type":"Organization","site_admin":false},"repo":{"id":121240336,"name":"kano-os-recovery","full_name":"KanoComputing/kano-os-recovery","owner":{"login":"KanoComputing","id":3909402,"avatar_url":"https://avatars0.githubusercontent.com/u/3909402?v=4","gravatar_id":"","url":"https://api.github.com/users/KanoComputing","html_url":"https://github.com/KanoComputing","followers_url":"https://api.github.com/users/KanoComputing/followers","following_url":"https://api.github.com/users/KanoComputing/following{/other_user}","gists_url":"https://api.github.com/users/KanoComputing/gists{/gist_id}","starred_url":"https://api.github.com/users/KanoComputing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KanoComputing/subscriptions","organizations_url":"https://api.github.com/users/KanoComputing/orgs","repos_url":"https://api.github.com/users/KanoComputing/repos","events_url":"https://api.github.com/users/KanoComputing/events{/privacy}","received_events_url":"https://api.github.com/users/KanoComputing/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/KanoComputing/kano-os-recovery","description":"Recovery mechanism for Kano OS","fork":false,"url":"https://api.github.com/repos/KanoComputing/kano-os-recovery","forks_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/forks","keys_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/teams","hooks_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/hooks","issue_events_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues/events{/number}","events_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/events","assignees_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/assignees{/user}","branches_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/branches{/branch}","tags_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/tags","blobs_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/refs{/sha}","trees_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/statuses/{sha}","languages_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/languages","stargazers_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/stargazers","contributors_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/contributors","subscribers_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/subscribers","subscription_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/subscription","commits_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/commits{/sha}","git_commits_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/commits{/sha}","comments_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/comments{/number}","issue_comment_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues/comments{/number}","contents_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/contents/{+path}","compare_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/merges","archive_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/downloads","issues_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues{/number}","pulls_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls{/number}","milestones_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/milestones{/number}","notifications_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/labels{/name}","releases_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/releases{/id}","deployments_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/deployments","created_at":"2018-02-12T11:48:25Z","updated_at":"2018-02-12T18:40:45Z","pushed_at":"2018-03-05T18:01:23Z","git_url":"git://github.com/KanoComputing/kano-os-recovery.git","ssh_url":"git@github.com:KanoComputing/kano-os-recovery.git","clone_url":"https://github.com/KanoComputing/kano-os-recovery.git","svn_url":"https://github.com/KanoComputing/kano-os-recovery","homepage":null,"size":20,"stargazers_count":0,"watchers_count":0,"language":"Shell","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":1,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0"},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"KanoComputing:master","ref":"master","sha":"5d1e2ffcecb0b71c2dc4356d01008d6f5d87df8c","user":{"login":"KanoComputing","id":3909402,"avatar_url":"https://avatars0.githubusercontent.com/u/3909402?v=4","gravatar_id":"","url":"https://api.github.com/users/KanoComputing","html_url":"https://github.com/KanoComputing","followers_url":"https://api.github.com/users/KanoComputing/followers","following_url":"https://api.github.com/users/KanoComputing/following{/other_user}","gists_url":"https://api.github.com/users/KanoComputing/gists{/gist_id}","starred_url":"https://api.github.com/users/KanoComputing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KanoComputing/subscriptions","organizations_url":"https://api.github.com/users/KanoComputing/orgs","repos_url":"https://api.github.com/users/KanoComputing/repos","events_url":"https://api.github.com/users/KanoComputing/events{/privacy}","received_events_url":"https://api.github.com/users/KanoComputing/received_events","type":"Organization","site_admin":false},"repo":{"id":121240336,"name":"kano-os-recovery","full_name":"KanoComputing/kano-os-recovery","owner":{"login":"KanoComputing","id":3909402,"avatar_url":"https://avatars0.githubusercontent.com/u/3909402?v=4","gravatar_id":"","url":"https://api.github.com/users/KanoComputing","html_url":"https://github.com/KanoComputing","followers_url":"https://api.github.com/users/KanoComputing/followers","following_url":"https://api.github.com/users/KanoComputing/following{/other_user}","gists_url":"https://api.github.com/users/KanoComputing/gists{/gist_id}","starred_url":"https://api.github.com/users/KanoComputing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KanoComputing/subscriptions","organizations_url":"https://api.github.com/users/KanoComputing/orgs","repos_url":"https://api.github.com/users/KanoComputing/repos","events_url":"https://api.github.com/users/KanoComputing/events{/privacy}","received_events_url":"https://api.github.com/users/KanoComputing/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/KanoComputing/kano-os-recovery","description":"Recovery mechanism for Kano OS","fork":false,"url":"https://api.github.com/repos/KanoComputing/kano-os-recovery","forks_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/forks","keys_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/keys{/key_id}","collaborators_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/teams","hooks_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/hooks","issue_events_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues/events{/number}","events_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/events","assignees_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/assignees{/user}","branches_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/branches{/branch}","tags_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/tags","blobs_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/refs{/sha}","trees_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/trees{/sha}","statuses_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/statuses/{sha}","languages_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/languages","stargazers_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/stargazers","contributors_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/contributors","subscribers_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/subscribers","subscription_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/subscription","commits_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/commits{/sha}","git_commits_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/git/commits{/sha}","comments_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/comments{/number}","issue_comment_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues/comments{/number}","contents_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/contents/{+path}","compare_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/compare/{base}...{head}","merges_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/merges","archive_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/downloads","issues_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues{/number}","pulls_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls{/number}","milestones_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/milestones{/number}","notifications_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/labels{/name}","releases_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/releases{/id}","deployments_url":"https://api.github.com/repos/KanoComputing/kano-os-recovery/deployments","created_at":"2018-02-12T11:48:25Z","updated_at":"2018-02-12T18:40:45Z","pushed_at":"2018-03-05T18:01:23Z","git_url":"git://github.com/KanoComputing/kano-os-recovery.git","ssh_url":"git@github.com:KanoComputing/kano-os-recovery.git","clone_url":"https://github.com/KanoComputing/kano-os-recovery.git","svn_url":"https://github.com/KanoComputing/kano-os-recovery","homepage":null,"size":20,"stargazers_count":0,"watchers_count":0,"language":"Shell","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":1,"license":{"key":"gpl-2.0","name":"GNU General Public License v2.0","spdx_id":"GPL-2.0","url":"https://api.github.com/licenses/gpl-2.0"},"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls/7"},"html":{"href":"https://github.com/KanoComputing/kano-os-recovery/pull/7"},"issue":{"href":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues/7"},"comments":{"href":"https://api.github.com/repos/KanoComputing/kano-os-recovery/issues/7/comments"},"review_comments":{"href":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls/7/comments"},"review_comment":{"href":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/KanoComputing/kano-os-recovery/pulls/7/commits"},"statuses":{"href":"https://api.github.com/repos/KanoComputing/kano-os-recovery/statuses/cc8808a29cf3ad991e5a5ef69f1e54b1f0fc01b8"}},"author_association":"MEMBER","merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"skarbat","id":499442,"avatar_url":"https://avatars0.githubusercontent.com/u/499442?v=4","gravatar_id":"","url":"https://api.github.com/users/skarbat","html_url":"https://github.com/skarbat","followers_url":"https://api.github.com/users/skarbat/followers","following_url":"https://api.github.com/users/skarbat/following{/other_user}","gists_url":"https://api.github.com/users/skarbat/gists{/gist_id}","starred_url":"https://api.github.com/users/skarbat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/skarbat/subscriptions","organizations_url":"https://api.github.com/users/skarbat/orgs","repos_url":"https://api.github.com/users/skarbat/repos","events_url":"https://api.github.com/users/skarbat/events{/privacy}","received_events_url":"https://api.github.com/users/skarbat/received_events","type":"User","site_admin":false},"comments":3,"review_comments":5,"maintainer_can_modify":false,"commits":6,"additions":67,"deletions":21,"changed_files":5}}
{"actor":{"display_login":"skarbat"}}