From dc524e8d0a3cee0330b5ce1baad356134ca767f2 Mon Sep 17 00:00:00 2001 From: Adam Grare Date: Mon, 26 Aug 2024 12:27:04 -0400 Subject: [PATCH] Set configuration_script in customize_request_task_attributes --- app/models/miq_request_task.rb | 4 ++-- app/models/service_template_provision_request.rb | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/models/miq_request_task.rb b/app/models/miq_request_task.rb index e4e98f0e6dc..4b857383906 100644 --- a/app/models/miq_request_task.rb +++ b/app/models/miq_request_task.rb @@ -140,13 +140,13 @@ def deliver_queue(req_type = request_type, zone = nil) _log.info("Queuing #{request_class::TASK_DESCRIPTION}: [#{description}]...") - workflow_id = resource_action&.configuration_script_id || options[:configuration_script_payload_id] + workflow_id = options[:configuration_script_payload_id] workflow = ConfigurationScriptPayload.find(workflow_id) if workflow_id if workflow miq_task_id = workflow.run(:inputs => workflow_inputs, :userid => get_user.userid, :zone => zone, :object => self) options[:miq_task_id] = miq_task_id - options[:configuration_script_payload_id] = workflow_id + options[:configuration_script_payload_id] = workflow.id options[:configuration_script_id] = MiqTask.find(miq_task_id).context_data[:workflow_instance_id] save! elsif self.class::AUTOMATE_DRIVES diff --git a/app/models/service_template_provision_request.rb b/app/models/service_template_provision_request.rb index d2744527f03..684bc02177e 100644 --- a/app/models/service_template_provision_request.rb +++ b/app/models/service_template_provision_request.rb @@ -57,6 +57,21 @@ def requested_task_idx def customize_request_task_attributes(req_task_attrs, idx) req_task_attrs['options'][:pass] = idx + configuration_script_id = resource_action&.configuration_script_id + return if configuration_script_id.nil? + + if source.prov_type == "generic" + req_task_attrs['options'][:configuration_script_payload_id] = configuration_script_id + else + req_task_attrs['options'][:parent_configuration_script_payload_id] = configuration_script_id + end + end + + def resource_action + resource_action_id = options.dig(:workflow_settings, :resource_action_id) + return if resource_action_id.nil? + + ResourceAction.find(resource_action_id) end def originating_controller