-
Notifications
You must be signed in to change notification settings - Fork 50
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
Disable grub-boot-success in RHEL 9 edge commits to fix greenboot interference #51
Conversation
89ea2f9
to
2e36aef
Compare
This change correctly disables the service(s) though I think this should be done through systemd presets; I'd like acks from @nullr0ute and @runcom. I'd assume this change to be temporary (?) and I'd like the bug report to be linked in the comments you've added to the I'm also reasonably sure Fedora IoT already disables this in their presets as it's not running on my IoT instances. |
2e36aef
to
2f17a2b
Compare
It will stay until we evaluate and decide if we want to drop the entire grub-tools. |
Fixes fedora-iot/greenboot#108 |
@supakeen sure thing - for fedora-iot it definitely makes sense to disable this via presets, |
It is ignorance from my side as I didn't know where to look for the fedora presets, now I know, will revert the changes accordingly. |
2f17a2b
to
23580b4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks!
Builds are failing with
on CS9, RHEL 9.2, and RHEL 9.3. It's working on RHEL 9.0 and 9.1. Note that |
I guess we can leverage : org.osbuild.systemd.preset to disable as presets similar to fedora. |
tried to disable it via preset: using org.osbuild.systemd.preset in the new commit , but I am not seeing that its executed as part of the pipeline in osbuild-composer, what am I missing? |
Stuffing things in As an aside; I always get fuzzy when thinking about these things in ostree but I think you'd want to set presets in the commit. Not during deployment. |
achilleas mentioned the unit fails to be located at all when disabling, why is that tho? how presets can change that? |
Pull request was converted to draft
Converted to draft to avoid merging accidentally on green. |
@say-paul Current approach looks good, you just need to wire up the Here: images/pkg/image/ostree_raw.go Lines 80 to 81 in 17eb47b
But since it's a new option on |
although, we want it in the commit right? |
@runcom we need in both commit and deployment. |
why would that be? |
@runcom don't we want it anyway if the commit doesn't have it setup? Though I am thinking presets will be written twice if we have add the stage during both commit and deployment.. |
e383fd0
to
c430a74
Compare
Found my mistake. The generator scripts also use osbuild to generate the manifest ID by inspecting the manifests, so they need the pinned osbuild as well and I missed it. |
c430a74
to
719716d
Compare
We only test on Fedora 38. Remove all the other distro specifications. We can bring them back when we need them again.
New script for setting up high priority repository for installing an osbuild RPM built from a specific commit for testing against versions before they're released.
719716d
to
2f315b2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look good, except for putting unconditional configuration of the image in distro/rhel9/images.go
. I would say that even the conditional configuration above should not be really here. It should be conditionally added to the image's ImageConfig
.
This is not the place for specific image configuration, this function is only the "glue" to pass configuration values to other parts of the code.
The stage is modified to add dropin file for user service this is achieved by adding a unit-type which can be set to system or global.Seperate struct is created for the unit section parameters accepted by systemd. Relevant testing added. Signed-off-by: Sayan Paul <paul.sayan@gmail.com>
This will disable the grub-boot-success timer if greenboot exists to ensure greenboot functions correctly and the timer does not modify the boot_success flag when a ssh session persists for more than 2 min. This customization is added to containerImage and edgeCommitImage. Signed-off-by: Sayan Paul <paul.sayan@gmail.com>
779322c
to
ad4db28
Compare
@thozza Done |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
grub_boot_success is stepping over greenboot as it is marking boot as successful in case of any ssh connection that persists over two min. The fix is to update the unit stage to add dropin for user service and then adding the stage for edge-container and commits with the condition that
grub-boot-success.timer
not to trigger if greenboot exists.This pull request includes: