-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
37->38 upgrade after previous rollback yields loss of SSH access #1473
Comments
Thanks for the report. While this issue does involve migration code that was implemented by the Fedora CoreOS WG, Fedora doesn't generally support downgrades between major versions, so you're trying to do something that won't necessarily work. What led you to discover this problem? |
Related to #1394 |
I think the CIFS related issues with F38 were the main reason I rolled back a few nodes. The rollback feature is awesome of course and it is a shame that it is not officially supported for major versions because intuitively that is where you would think the most types of issues are likely to be discovered. |
Indeed. Fedora traditionally hasn't supported major downgrades (or even really any downgrades IIUC). The OSTree tech powering FCOS/Silverblue/IoT does give us the ability to roll back to the previous version and it is a feature we often highlight as a benefit of running one of these variants. While it would be hard to support major downgrades generally (i.e. there is a lot of software we don't control) it would be nice if we could do our best to make it as reliable as possible and/or at least collect known issues.. I can think of two ways for us to try to catch something like this in the future:
Rolling back for the CIFS related issue is a great example of OSTree working to solve a problem for you (the user). I think what @bgilbert was highlighting was that generally the people who put software in Fedora don't anticipate major downgrades in packages to occur, so it can invalidate assumptions and expose problems. In this particular case the files that were stored in I'm trying to think of a way we can account for this case and maybe we'll ship a fix before F38 hits |
I agree it's hard in the general case to flawlessly support rollbacks if the rest of Fedora doesn't (barring moving to btrfs and snapshotting Hmm, one simple thing we could do I think is to have a systemd unit that runs before |
We discussed this in the community meeting today.
|
…igration In this case we'll override the ConditionPathExists from ssh-host-keys-migration.service [1] to force it to run every boot. We want to do this to handle the case where someone could do an upgrade->rollback->upgrade and end up locked out of their system [2]. [1] https://src.fedoraproject.org/rpms/openssh/blob/6f7c765ed4cf0e8eef664fb93b26f4ea2a14d955/f/ssh-host-keys-migration.service [2] coreos/fedora-coreos-tracker#1473
…igration In this case we'll override the ConditionPathExists from ssh-host-keys-migration.service [1] to force it to run every boot. We want to do this to handle the case where someone could do an upgrade->rollback->upgrade and end up locked out of their system [2]. [1] https://src.fedoraproject.org/rpms/openssh/blob/6f7c765ed4cf0e8eef664fb93b26f4ea2a14d955/f/ssh-host-keys-migration.service [2] coreos/fedora-coreos-tracker#1473
…igration In this case we'll override the ConditionPathExists from ssh-host-keys-migration.service [1] to force it to run every boot. We want to do this to handle the case where someone could do an upgrade->rollback->upgrade and end up locked out of their system [2]. [1] https://src.fedoraproject.org/rpms/openssh/blob/6f7c765ed4cf0e8eef664fb93b26f4ea2a14d955/f/ssh-host-keys-migration.service [2] coreos/fedora-coreos-tracker#1473
…igration In this case we'll override the ConditionPathExists from ssh-host-keys-migration.service [1] to force it to run every boot. We want to do this to handle the case where someone could do an upgrade->rollback->upgrade and end up locked out of their system [2]. [1] https://src.fedoraproject.org/rpms/openssh/blob/6f7c765ed4cf0e8eef664fb93b26f4ea2a14d955/f/ssh-host-keys-migration.service [2] coreos/fedora-coreos-tracker#1473 (cherry picked from commit 5e1efae)
…igration In this case we'll override the ConditionPathExists from ssh-host-keys-migration.service [1] to force it to run every boot. We want to do this to handle the case where someone could do an upgrade->rollback->upgrade and end up locked out of their system [2]. [1] https://src.fedoraproject.org/rpms/openssh/blob/6f7c765ed4cf0e8eef664fb93b26f4ea2a14d955/f/ssh-host-keys-migration.service [2] coreos/fedora-coreos-tracker#1473 (cherry picked from commit 5e1efae)
The fix for this went into |
The fix for this went into |
This issue never affected our |
…igration In this case we'll override the ConditionPathExists from ssh-host-keys-migration.service [1] to force it to run every boot. We want to do this to handle the case where someone could do an upgrade->rollback->upgrade and end up locked out of their system [2]. [1] https://src.fedoraproject.org/rpms/openssh/blob/6f7c765ed4cf0e8eef664fb93b26f4ea2a14d955/f/ssh-host-keys-migration.service [2] coreos/fedora-coreos-tracker#1473
…igration In this case we'll override the ConditionPathExists from ssh-host-keys-migration.service [1] to force it to run every boot. We want to do this to handle the case where someone could do an upgrade->rollback->upgrade and end up locked out of their system [2]. [1] https://src.fedoraproject.org/rpms/openssh/blob/6f7c765ed4cf0e8eef664fb93b26f4ea2a14d955/f/ssh-host-keys-migration.service [2] coreos/fedora-coreos-tracker#1473
…igration In this case we'll override the ConditionPathExists from ssh-host-keys-migration.service [1] to force it to run every boot. We want to do this to handle the case where someone could do an upgrade->rollback->upgrade and end up locked out of their system [2]. [1] https://src.fedoraproject.org/rpms/openssh/blob/6f7c765ed4cf0e8eef664fb93b26f4ea2a14d955/f/ssh-host-keys-migration.service [2] coreos/fedora-coreos-tracker#1473
Describe the bug
SSHD fails to start because of too public host keys.
Reproduction steps
Expected behavior
SSH access should be retained.
Actual behavior
SSH access is lost.
System details
Butane or Ignition config
No response
Additional information
After step #3 in reproduction steps the /var/lib/.ssh-host-keys-migration stamp is still present causing the key migration service not to run in step #4. Removal of stamp file prior to step #4 allows a clean upgrade and SSH access is available.
Note that although it is fairly evident that SSHD fails in the boot console it is hard to capture details of the reason for failure from the journals when downgrading to F37 because of journal log version incompatibilities. journalctl provides a warning to this effect but its recommended solution did not work for me on the now F37 node. I ended up capturing the journal file it listed and scp'ing to a F38 machine and then used the command given to examine the file there.
The text was updated successfully, but these errors were encountered: