Class: Actions::Katello::Host::UpdateSystemPurpose

Inherits:
EntryAction
  • Object
show all
Defined in:
app/lib/actions/katello/host/update_system_purpose.rb

Instance Method Summary collapse

Instance Method Details

#humanized_nameObject



21
22
23
24
25
26
27
# File 'app/lib/actions/katello/host/update_system_purpose.rb', line 21

def humanized_name
  if input&.dig(:hostname)
    _("Updating System Purpose for host %s") % input[:hostname]
  else
    _("Updating System Purpose for host")
  end
end

#plan(host, service_level, purpose_role, purpose_usage, purpose_addons) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/lib/actions/katello/host/update_system_purpose.rb', line 5

def plan(host, service_level, purpose_role, purpose_usage, purpose_addons)
  fail _("Host %s has not been registered with subscription-manager.") % host.name unless host.subscription_facet

  host.subscription_facet.service_level = service_level unless service_level.nil?
  host.subscription_facet.purpose_role = purpose_role unless purpose_role.nil?
  host.subscription_facet.purpose_usage = purpose_usage unless purpose_usage.nil?

  if purpose_addons
    purpose_addon_objects = purpose_addons.delete_if(&:blank?).uniq.map { |x| ::Katello::PurposeAddon.find_or_create_by(name: x) }
    host.subscription_facet.purpose_addons = purpose_addon_objects
  end

  host.save!
  plan_self(:hostname => host.name)
end