Module: ForemanKernelCare::HostManagedExtensions
- Defined in:
- app/models/concerns/foreman_kernel_care/host_managed_extensions.rb
Instance Method Summary collapse
- #import_package_profile(simple_packages) ⇒ Object
- #import_tracer_profile(tracer_profile) ⇒ Object
- #kernelcare? ⇒ Boolean
- #update_kernel_version(version, release, old_kernel_version) ⇒ Object
Instance Method Details
#import_package_profile(simple_packages) ⇒ Object
3 4 5 6 7 8 9 10 11 |
# File 'app/models/concerns/foreman_kernel_care/host_managed_extensions.rb', line 3 def import_package_profile(simple_packages) if kernelcare? composer = ::JobInvocationComposer.for_feature(:kernel_version, self) composer.triggering.mode = :future composer.trigger! end super(simple_packages) end |
#import_tracer_profile(tracer_profile) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'app/models/concerns/foreman_kernel_care/host_managed_extensions.rb', line 13 def import_tracer_profile(tracer_profile) if kernelcare? new_tracer_profile = {} tracer_profile.each do |trace, attributes| if trace.to_s == 'kernel' composer = ::JobInvocationComposer.for_feature(:update_kernel, self) composer.triggering.mode = :future composer.trigger! else new_tracer_profile[trace] = attributes end end super(new_tracer_profile) else super(tracer_profile) end end |
#kernelcare? ⇒ Boolean
51 52 53 54 |
# File 'app/models/concerns/foreman_kernel_care/host_managed_extensions.rb', line 51 def kernelcare? !installed_packages.select { |package| package.name == 'kernelcare' }.empty? || !installed_debs.select { |package| package.name == 'kernelcare' }.empty? end |
#update_kernel_version(version, release, old_kernel_version) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/models/concerns/foreman_kernel_care/host_managed_extensions.rb', line 31 def update_kernel_version(version, release, old_kernel_version) old_version, old_release = old_kernel_version.split('-') case .family when 'Redhat' packages = find_yum_kernel_packages(old_version, old_release) return if packages.empty? delete_yum_pkgs(packages) create_new_yum_kernel_packages(packages, version, release) when 'Debian' old_version = "#{old_version}-#{old_release}" new_version = "#{version}-#{release}" packages = find_deb_kernel_packages(old_version) return if packages.empty? create_new_deb_kernel_packages(packages, new_version, old_version) end end |