Class: ForemanWreckingball::HardwareVersionStatus

Inherits:
HostStatus::Status
  • Object
show all
Defined in:
app/models/foreman_wreckingball/hardware_version_status.rb

Constant Summary collapse

OK =
0
OUTOFDATE =
1

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.dangerous_remediate?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 24

def self.dangerous_remediate?
  true
end

.descriptionObject



16
17
18
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 16

def self.description
  N_('In order to use recent vSphere features, the VM must use a recent virtual hardware version.')
end

.global_ok_listObject



49
50
51
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 49

def self.global_ok_list
  [OK]
end

.host_associationObject



12
13
14
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 12

def self.host_association
  :vmware_hardware_version_status_object
end

.remediate_actionObject



28
29
30
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 28

def self.remediate_action
  ::Actions::ForemanWreckingball::Host::RemediateHardwareVersion
end

.status_nameObject



8
9
10
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 8

def self.status_name
  N_('vSphere Hardware Version')
end

.supports_remediate?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 20

def self.supports_remediate?
  true
end

.to_global(status) ⇒ Object



40
41
42
43
44
45
46
47
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 40

def self.to_global(status)
  case status
  when OUTOFDATE
    HostStatus::Global::WARN
  else
    HostStatus::Global::OK
  end
end

Instance Method Details

#recent_hw_version?Boolean

Returns:

  • (Boolean)


66
67
68
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 66

def recent_hw_version?
  host.vmware_facet.hardware_version.to_s.gsub(/^vmx-/, '').to_i >= Setting[:min_vsphere_hardware_version]
end

#relevant?(_options = {}) ⇒ Boolean

Returns:

  • (Boolean)


62
63
64
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 62

def relevant?(_options = {})
  host && host&.vmware_facet && host.vmware_facet.hardware_version.present?
end

#to_global(_options = {}) ⇒ Object



36
37
38
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 36

def to_global(_options = {})
  self.class.to_global(status)
end

#to_label(_options = {}) ⇒ Object



53
54
55
56
57
58
59
60
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 53

def to_label(_options = {})
  case status
  when OUTOFDATE
    N_('Out of date')
  else
    N_('OK')
  end
end

#to_status(_options = {}) ⇒ Object



32
33
34
# File 'app/models/foreman_wreckingball/hardware_version_status.rb', line 32

def to_status(_options = {})
  recent_hw_version? ? OK : OUTOFDATE
end