Class: Actions::ForemanPatch::Cycle::Initiate
- Inherits:
-
EntryAction
- Object
- EntryAction
- Actions::ForemanPatch::Cycle::Initiate
- Defined in:
- app/lib/actions/foreman_patch/cycle/initiate.rb
Instance Method Summary collapse
- #cycle ⇒ Object
- #delay(delay_options, cycle, plan = nil) ⇒ Object
- #finalize ⇒ Object
- #humanized_name ⇒ Object
- #plan(cycle, plan = nil) ⇒ Object
- #run ⇒ Object
Instance Method Details
#cycle ⇒ Object
46 47 48 |
# File 'app/lib/actions/foreman_patch/cycle/initiate.rb', line 46 def cycle @cycle ||= ::ForemanPatch::Cycle.find(input[:cycle][:id]) end |
#delay(delay_options, cycle, plan = nil) ⇒ Object
6 7 8 9 10 11 |
# File 'app/lib/actions/foreman_patch/cycle/initiate.rb', line 6 def delay(, cycle, plan = nil) input.update serialize_args(cycle: cycle) add_missing_task_group(plan) if plan.present? super , cycle end |
#finalize ⇒ Object
35 36 37 38 39 40 |
# File 'app/lib/actions/foreman_patch/cycle/initiate.rb', line 35 def finalize cycle.windows.each(&:schedule) plan = find_plan plan.iterate if plan.present? end |
#humanized_name ⇒ Object
42 43 44 |
# File 'app/lib/actions/foreman_patch/cycle/initiate.rb', line 42 def humanized_name _('Initiating patch cycle: %s') % cycle.name end |
#plan(cycle, plan = nil) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'app/lib/actions/foreman_patch/cycle/initiate.rb', line 13 def plan(cycle, plan = nil) input.update serialize_args(cycle: cycle) add_missing_task_group(plan) if plan.present? cycle.windows.each do |window| plan_action(Actions::ForemanPatch::Window::ResolveHosts, window) end plan_self end |
#run ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/lib/actions/foreman_patch/cycle/initiate.rb', line 23 def run content_view_versions = cycle.hosts.map do |host| host.content_view.version(host.lifecycle_environment) end.uniq content_view_versions.each do |version| next unless available_content?(version) ::ForemanTasks.async_task(Actions::ForemanPatch::Cycle::PrepareContent, version, _('Updating content for patch cycle: %s') % cycle.name) end end |