Class: Actions::ForemanAcd::RunConfigurator
- Inherits:
-
EntryAction
- Object
- EntryAction
- Actions::ForemanAcd::RunConfigurator
- Defined in:
- app/lib/actions/foreman_acd/run_configurator.rb
Overview
RunConfigurator implements a Foreman Task EntryAction
Instance Method Summary collapse
- #finalize ⇒ Object
- #humanized_name ⇒ Object
- #plan(app_instance) ⇒ Object
- #rescue_strategy ⇒ Object
- #run ⇒ Object
Instance Method Details
#finalize ⇒ Object
34 35 |
# File 'app/lib/actions/foreman_acd/run_configurator.rb', line 34 def finalize end |
#humanized_name ⇒ Object
41 42 43 |
# File 'app/lib/actions/foreman_acd/run_configurator.rb', line 41 def humanized_name _('Configure application instance after hosts deployment') end |
#plan(app_instance) ⇒ Object
7 8 9 10 |
# File 'app/lib/actions/foreman_acd/run_configurator.rb', line 7 def plan(app_instance) action_subject(app_instance) plan_self(:id => app_instance.id) end |
#rescue_strategy ⇒ Object
37 38 39 |
# File 'app/lib/actions/foreman_acd/run_configurator.rb', line 37 def rescue_strategy Dynflow::Action::Rescue::Fail end |
#run ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/lib/actions/foreman_acd/run_configurator.rb', line 12 def run output[:status] = 'SUCCESS' begin app_instance = ::ForemanAcd::AppInstance.find(input.fetch(:id)) app_configurator = ::ForemanAcd::AppConfigurator.new(app_instance) result, job = app_configurator.configure if result.success ::Foreman::Logging.logger('foreman_acd').info "Creating job to configure the app #{app_instance}" job.trigger! output[:configure_job_id] = job.job_invocation.id else ::Foreman::Logging.logger('foreman_acd').error "Could not create the job to configure the app #{app_instance}: #{result.error}" end rescue StandardError => e ::Foreman::Logging.logger('foreman_acd').error "Error while configuring application instance '#{app_instance.name}': #{e}" output[:status] = 'FAILURE' raise "Error while configuring hosts via ansible playbook for application instance '#{app_instance.name}': (#{e.})" end end |