{"action":"created","issue":{"url":"https://api.github.com/repos/SUSE/DeepSea/issues/43","repository_url":"https://api.github.com/repos/SUSE/DeepSea","labels_url":"https://api.github.com/repos/SUSE/DeepSea/issues/43/labels{/name}","comments_url":"https://api.github.com/repos/SUSE/DeepSea/issues/43/comments","events_url":"https://api.github.com/repos/SUSE/DeepSea/issues/43/events","html_url":"https://github.com/SUSE/DeepSea/pull/43","id":186824816,"number":43,"title":"First draft for update & reboot & restart sequentially and in order glued together","user":{"login":"jschmid1","id":6840312,"avatar_url":"https://avatars.githubusercontent.com/u/6840312?v=3","gravatar_id":"","url":"https://api.github.com/users/jschmid1","html_url":"https://github.com/jschmid1","followers_url":"https://api.github.com/users/jschmid1/followers","following_url":"https://api.github.com/users/jschmid1/following{/other_user}","gists_url":"https://api.github.com/users/jschmid1/gists{/gist_id}","starred_url":"https://api.github.com/users/jschmid1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jschmid1/subscriptions","organizations_url":"https://api.github.com/users/jschmid1/orgs","repos_url":"https://api.github.com/users/jschmid1/repos","events_url":"https://api.github.com/users/jschmid1/events{/privacy}","received_events_url":"https://api.github.com/users/jschmid1/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-11-02T14:58:52Z","updated_at":"2016-11-02T16:21:25Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/SUSE/DeepSea/pulls/43","html_url":"https://github.com/SUSE/DeepSea/pull/43","diff_url":"https://github.com/SUSE/DeepSea/pull/43.diff","patch_url":"https://github.com/SUSE/DeepSea/pull/43.patch"},"body":"This serves the purpose of solving the problem of updating & rebooting. [0] -> detailed explanation\r\n\r\nWith this decoupled approach we update the kernel & reboot _per-role_ sequentially and in correct order ( mon -> osd .. etc ) and hardfail if something goes wrong.\r\n\r\nNow you safely run ( for now called maintenance - naming needs to be straightened out though ) which installs everything BUT the kernel ( not implemented ) and does a graceful restart which was  previous implemented with `ceph.restart`.\r\n\r\n\r\n[0]: \r\nIf you currently run stage0 it will first install all updates and subsequently check if a kernel update was applied. If so DeepSea initializes a reboot. The issue with this is that you don't know whether you have a new ceph-* binary added to your system. In a larger scale cluster you want to run on different versions of ceph as short as possible. Reboots might take up to 15 minutes per node which means you end up with different versions of ceph-* for a rather long time.\r\n\r\n* don't merge this yet. - WIP\r\n\r\nSigned-off-by: Joshua Schmid <jschmid@suse.de>"},"comment":{"url":"https://api.github.com/repos/SUSE/DeepSea/issues/comments/257916653","html_url":"https://github.com/SUSE/DeepSea/pull/43#issuecomment-257916653","issue_url":"https://api.github.com/repos/SUSE/DeepSea/issues/43","id":257916653,"user":{"login":"jschmid1","id":6840312,"avatar_url":"https://avatars.githubusercontent.com/u/6840312?v=3","gravatar_id":"","url":"https://api.github.com/users/jschmid1","html_url":"https://github.com/jschmid1","followers_url":"https://api.github.com/users/jschmid1/followers","following_url":"https://api.github.com/users/jschmid1/following{/other_user}","gists_url":"https://api.github.com/users/jschmid1/gists{/gist_id}","starred_url":"https://api.github.com/users/jschmid1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jschmid1/subscriptions","organizations_url":"https://api.github.com/users/jschmid1/orgs","repos_url":"https://api.github.com/users/jschmid1/repos","events_url":"https://api.github.com/users/jschmid1/events{/privacy}","received_events_url":"https://api.github.com/users/jschmid1/received_events","type":"User","site_admin":false},"created_at":"2016-11-02T16:21:25Z","updated_at":"2016-11-02T16:21:25Z","body":"So we will most likely end up with something like this:\r\n\r\n**Phase1)**\r\nTake a host in the pool of roles:monitor\r\n-  In case the cluster is health:\r\n-  apply a kernel update\r\n-  reboot the node, if there was a kernel update\r\n-  move to the next node\r\n\r\nRepeat for all other roles -> osd -> rgw -> mds -> igw\r\n\r\nyou now have applied the kernel updates _without downtime._\r\n\r\n**Phase2)** \r\nTake a host in the pool of roles:monitor\r\n- In case the cluster is health:\r\n- apply all maintenance update\r\n- restart the service, if its binary ( ceph-mon ) was updated\r\n- move to the next node\r\n\r\nRepeat for all other roles -> osd -> rgw -> mds -> igw\r\n\r\nyou are now running the latest version of ceph & kernel _without downtime._\r\n\r\n\r\nIn the grand scheme of things admins want to run this periodically and automated."}}
{"actor":{"display_login":"jschmid1"}}