From 7de8ce85ca9f647ca5cbe6598299248ef5b68585 Mon Sep 17 00:00:00 2001 From: Lucy Fu Date: Wed, 11 Dec 2024 16:47:54 -0500 Subject: [PATCH] Fixes #38084 - Add new REX job templates for bootc upgrade/switch/rollback --- .../foreman/job_templates/bootc_action.erb | 24 +++++++++++++++++++ .../foreman/job_templates/bootc_rollback.erb | 13 ++++++++++ .../foreman/job_templates/bootc_status.erb | 13 ++++++++++ .../foreman/job_templates/bootc_switch.erb | 13 ++++++++++ .../foreman/job_templates/bootc_upgrade.erb | 13 ++++++++++ lib/katello/plugin.rb | 4 ++++ 6 files changed, 80 insertions(+) create mode 100644 app/views/foreman/job_templates/bootc_action.erb create mode 100644 app/views/foreman/job_templates/bootc_rollback.erb create mode 100644 app/views/foreman/job_templates/bootc_status.erb create mode 100644 app/views/foreman/job_templates/bootc_switch.erb create mode 100644 app/views/foreman/job_templates/bootc_upgrade.erb diff --git a/app/views/foreman/job_templates/bootc_action.erb b/app/views/foreman/job_templates/bootc_action.erb new file mode 100644 index 00000000000..2476d407d8d --- /dev/null +++ b/app/views/foreman/job_templates/bootc_action.erb @@ -0,0 +1,24 @@ +<%# +kind: job_template +name: Bootc Action - Katello Script Default +model: JobTemplate +job_category: Katello +description_format: 'bootc %{action} %{options}' +provider_type: script +template_inputs: +- name: action + description: 'The bootc action: upgrade, switch, rollback or status' + input_type: user + options: "upgrade\nswitch\nrollback\nstatus" + required: true +- name: options + description: Additional options for bootc action + input_type: user + required: false +- name: target + description: Target for bootc switch action + input_type: user + required: false +%> + +bootc <%= input('action') %> <%= input('options') %> <%= input('target') %> diff --git a/app/views/foreman/job_templates/bootc_rollback.erb b/app/views/foreman/job_templates/bootc_rollback.erb new file mode 100644 index 00000000000..9a24dc9b480 --- /dev/null +++ b/app/views/foreman/job_templates/bootc_rollback.erb @@ -0,0 +1,13 @@ +<%# +kind: job_template +name: Bootc Rollback - Katello Script Default +job_category: Katello +description_format: 'bootc rollback' +feature: katello_bootc_rollback +provider_type: script +foreign_input_sets: +- template: Bootc Action - Script Default + exclude: action, options, target +%> + +<%= render_template('Bootc Action - Script Default', :action => 'rollback') %> diff --git a/app/views/foreman/job_templates/bootc_status.erb b/app/views/foreman/job_templates/bootc_status.erb new file mode 100644 index 00000000000..dc1244ad58e --- /dev/null +++ b/app/views/foreman/job_templates/bootc_status.erb @@ -0,0 +1,13 @@ +<%# +kind: job_template +name: Bootc Status - Katello Script Default +job_category: Katello +description_format: 'bootc status %{options}' +feature: katello_bootc_status +provider_type: script +foreign_input_sets: +- template: Bootc Action - Script Default + exclude: action, target +%> + +<%= render_template('Bootc Action - Script Default', :action => 'status') %> diff --git a/app/views/foreman/job_templates/bootc_switch.erb b/app/views/foreman/job_templates/bootc_switch.erb new file mode 100644 index 00000000000..e5ece63db42 --- /dev/null +++ b/app/views/foreman/job_templates/bootc_switch.erb @@ -0,0 +1,13 @@ +<%# +kind: job_template +name: Bootc Switch - Katello Script Default +job_category: Katello +description_format: 'bootc switch %{options} %{target}' +feature: katello_bootc_switch +provider_type: script +foreign_input_sets: +- template: Bootc Action - Script Default + exclude: action +%> + +<%= render_template('Bootc Action - Script Default', :action => 'switch') %> diff --git a/app/views/foreman/job_templates/bootc_upgrade.erb b/app/views/foreman/job_templates/bootc_upgrade.erb new file mode 100644 index 00000000000..e726a870385 --- /dev/null +++ b/app/views/foreman/job_templates/bootc_upgrade.erb @@ -0,0 +1,13 @@ +<%# +kind: job_template +name: Bootc Upgrade - Katello Script Default +job_category: Katello +description_format: 'bootc upgrade %{options}' +feature: katello_bootc_upgrade +provider_type: script +foreign_input_sets: +- template: Bootc Action - Script Default + exclude: action, target +%> + +<%= render_template('Bootc Action - Script Default', :action => 'upgrade') %> diff --git a/lib/katello/plugin.rb b/lib/katello/plugin.rb index 4c5ee25098e..5e8231173e8 100644 --- a/lib/katello/plugin.rb +++ b/lib/katello/plugin.rb @@ -696,6 +696,10 @@ 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 => []) + RemoteExecutionFeature.register(:katello_bootc_status, N_("Katello: Bootc Status"), :description => N_("Bootc status via Katello interface"), :provided_inputs => ['options']) allowed_template_helpers :errata RemoteExecutionProvider.singleton_class.prepend(Katello::Concerns::RemoteExecutionProviderExtensions)