leapp-repository
leapp-repository copied to clipboard
[experimental] Upgrade dracut module: Update /usr mounting solution
Originally we had implemented our own mount_usr.sh script, which took care about mounting the /usr when it is present on separate partition / mountpoint. It took care also about LVM activation.
However, it has been problematic in various cases (e.g. when device needed more time for initialisation - e.g. when connected using FC). Let's use instead existing system solutions, starting the upgrade.target after initrd-fs.target (instead of just basic.target).
jira: RHEL-3344
Cooperating with: prajnoha, lnykryn, pvalena.
do_not_merge: just exprimenting right now. if we find working solution, I will update yet commit msg at minimum.
Additional notes
- discovered that we need to use
initrd-parse-etc.service
, but the inside the unit file:
TheExecStart=/usr/bin/systemctl --no-block start initrd-cleanup.service
initrd-cleanup
service includes also switch-root, which we do not want to happen at all and due to isolation it basically kills out upgrade process. - the service has been changed in various RHEL systems, so creating own service would mean we should most likely copy couple of them (per each change in RHEL systems) and watch whether it's changed in future
- going now with the original workaround #1218 . We are going to continue to investigate the proper solution for future releases in IPU 8 -> 9 )and newer upgrade paths)
Update:
- Discussed the issue with systemd guys, we have decided to override the initrd-cleanup service inside the upgrade initramfs. Several initial tests seems to provide positive results. (Just discovered a problem, I will investigate it later)
- Seems I forget to apply a change I did in the past locally as I could not get to the state where I get when I discovered the problem that should be fixed now. It's again in the state that only /usr is handled but not the rest of fstab. I need to check it one more time what is wrong with the upgrade service definition.