-
Notifications
You must be signed in to change notification settings - Fork 295
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
Fixes #38084 - Add new REX job templates for bootc upgrade/switch/rollback #11256
base: master
Are you sure you want to change the base?
Conversation
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.
I got the following error when trying the Bootc status template:
2024-12-12T19:16:51 [E|bac|db1af636] Failed rendering template: error during rendering: ERF90-0026 [TemplateInput::UnsatisfiedRequiredInput]: Value for required input 'target' was not specified (RuntimeError)
Edit: same thing for the Bootc rollback command.
required: true | ||
%> | ||
|
||
bootc <%= input('action') %> <%= input('options') %> <%= input('target') %> |
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.
When I selected the bootc rollback command, I noticed that target
was still marked as a required option, even though bootc rollback
takes no arguments.
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.
The same goes for bootc upgrade. In fact, switch is the only action that has a required target.
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.
Looks like this is only an issue for the top-level action that has a dropdown with the action you pick.
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.
Edit: I verified that I also get the "no target" error for the upgrade task.
dbdc89e
to
6cf6b9a
Compare
job_category: Katello | ||
description_format: 'bootc %{action} %{options}' | ||
provider_type: script | ||
template_inputs: |
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.
A sort of common thing is to include an option to reboot the machine once the action is done, maybe that could be used here as well https://github.com/theforeman/foreman_leapp/blob/master/app/views/foreman_leapp/job_templates/leapp_upgrade.erb#L16 ?
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.
Thanks for your review and the comment @adamruzicka.
From bootc document:
However, in the future this is likely to change such that reboots outside of a `bootc upgrade --apply` do *not* automatically apply the update in addition.
With that information, maybe we just allow users decide if a reboot is necessary with --apply
option. What is your opinion, @ianballou?
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.
@lfu I'm asking around about if there is more information about that change. I do like the reboot strategy that Adam mentioned, it seems pretty straight-forward. I'll update here when I hear more from the bootc team.
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.
The actions are working a lot better now!
I did notice that the target
input is available still for the bootc rollback command on the main bootc action template, but I suspect there isn't much we can do there since it's a global page.
Just one comment:
@@ -696,6 +696,9 @@ def katello_template_setting_values(name) | |||
RemoteExecutionFeature.register(:katello_module_stream_action, N_("Katello: Module Stream Actions"), | |||
:description => N_("Perform a module stream action via Katello interface"), | |||
:provided_inputs => ['action', 'module_spec', 'options']) | |||
RemoteExecutionFeature.register(:katello_bootc_upgrade, N_("Katello: Bootc Upgrade"), :description => N_("Bootc upgrade via Katello interface"), :provided_inputs => ['options']) | |||
RemoteExecutionFeature.register(:katello_bootc_switch, N_("Katello: Bootc Switch"), :description => N_("Bootc switch via Katello interface"), :provided_inputs => ['options,target']) | |||
RemoteExecutionFeature.register(:katello_bootc_rollback, N_("Katello: Bootc Rollback"), :description => N_("Bootc rollback via Katello interface"), :provided_inputs => []) |
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.
Do we need one for Bootc status too?
What are the changes introduced in this pull request?
katello_bootc_upgrade
katello_bootc_switch
katello_bootc_rollback
Considerations taken when implementing this change?
What are the testing steps for this pull request?
To import the new job template:
Then run
In Hosts > Tempaltes > Job Templates, you'll see new added templates.
Select one of the new bootc job templates and run it.