{"action":"created","issue":{"url":"https://api.github.com/repos/ceph/ceph-ansible/issues/528","repository_url":"https://api.github.com/repos/ceph/ceph-ansible","labels_url":"https://api.github.com/repos/ceph/ceph-ansible/issues/528/labels{/name}","comments_url":"https://api.github.com/repos/ceph/ceph-ansible/issues/528/comments","events_url":"https://api.github.com/repos/ceph/ceph-ansible/issues/528/events","html_url":"https://github.com/ceph/ceph-ansible/pull/528","id":132522512,"number":528,"title":"make sure /etc/fstab is always valid at boot time no matter what","user":{"login":"bengland2","id":1717107,"avatar_url":"https://avatars.githubusercontent.com/u/1717107?v=3","gravatar_id":"","url":"https://api.github.com/users/bengland2","html_url":"https://github.com/bengland2","followers_url":"https://api.github.com/users/bengland2/followers","following_url":"https://api.github.com/users/bengland2/following{/other_user}","gists_url":"https://api.github.com/users/bengland2/gists{/gist_id}","starred_url":"https://api.github.com/users/bengland2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bengland2/subscriptions","organizations_url":"https://api.github.com/users/bengland2/orgs","repos_url":"https://api.github.com/users/bengland2/repos","events_url":"https://api.github.com/users/bengland2/events{/privacy}","received_events_url":"https://api.github.com/users/bengland2/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-02-09T20:17:05Z","updated_at":"2016-02-10T12:41:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ceph/ceph-ansible/pulls/528","html_url":"https://github.com/ceph/ceph-ansible/pull/528","diff_url":"https://github.com/ceph/ceph-ansible/pull/528.diff","patch_url":"https://github.com/ceph/ceph-ansible/pull/528.patch"},"body":"For .iso-based install only.\r\n\r\nEnsure that contents of /etc/fstab are ALWAYS valid at boot time, no matter what.  Otherwise Linux will not boot at all.  I discovered this the hard way.  The ansible mount module left an entry in fstab even after I unmounted, and that mount option did not work at boot time.  I had to PXEboot to rescue mode to figure out why - Linux hung immediately after the grub entry was selected.  Only explanation I had was that the \"passno\" field of /etc/fstab record was set to 0, and apparently it tried to mount the .iso before root fs was mounted, very strange but legal. So this fix has multiple defenses against this kind of thing ever happening again.  We make mount entry \"noauto\" so it won't even attempt mount at boot time.  We make \"passno\" field 2 instead of 0 (why isn't this default in Ansible mount module?) so that it wouldn't attempt mount until after root fs was mounted.   And in the unmount step, we use the state \"absent\" to indicate that it should remove the entry from /etc/fstab.   I know all this seems excessive and paranoid ;-) That's me I guess.\r\n\r\nI inserted a comment about the ceph_stable_rh_storage_iso_path because I did not see how it would work if a directory path was included - we don't know if the directory exists.\r\n\r\nDo most folks use subscription manager now so none of this matters to them?\r\n\r\nI'm sorry but I haven't been able to test this in a while, can someone else try it?  It's a very small change.  I don't have any hardware to try it with today, wanted to get this in for comment at least."},"comment":{"url":"https://api.github.com/repos/ceph/ceph-ansible/issues/comments/182354601","html_url":"https://github.com/ceph/ceph-ansible/pull/528#issuecomment-182354601","issue_url":"https://api.github.com/repos/ceph/ceph-ansible/issues/528","id":182354601,"user":{"login":"leseb","id":912735,"avatar_url":"https://avatars.githubusercontent.com/u/912735?v=3","gravatar_id":"","url":"https://api.github.com/users/leseb","html_url":"https://github.com/leseb","followers_url":"https://api.github.com/users/leseb/followers","following_url":"https://api.github.com/users/leseb/following{/other_user}","gists_url":"https://api.github.com/users/leseb/gists{/gist_id}","starred_url":"https://api.github.com/users/leseb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leseb/subscriptions","organizations_url":"https://api.github.com/users/leseb/orgs","repos_url":"https://api.github.com/users/leseb/repos","events_url":"https://api.github.com/users/leseb/events{/privacy}","received_events_url":"https://api.github.com/users/leseb/received_events","type":"User","site_admin":false},"created_at":"2016-02-10T12:41:08Z","updated_at":"2016-02-10T12:41:08Z","body":"@bengland2  If specifying mounted and the mount point is not present, the mount point will be created."}}