foreman_kernel_care 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f86d4ec92298514c54e1e1969fa5a2fb7cd7c03ab73231d86254cc3bc7fef433
4
- data.tar.gz: bf641ebb676ef91fffb9a0fabb9def7321352dd721483404b0a85b27a8c76e01
3
+ metadata.gz: 947deca95e8a08c814f7b99190ac2a6c8b06fcf7c4f2ed6a66d29085e92b7d74
4
+ data.tar.gz: 80bc80494c32c62476008e06a64ec1d6a5c0772fa4dd32fe9a9769347e714d96
5
5
  SHA512:
6
- metadata.gz: ba271df050549eacca5d79ed6383e7b5a7e822dc9940d06a3ca238c5224c4746e621c3d455806513c8e5d00470e31692f4fa5129523b30344ff8c257bff208ce
7
- data.tar.gz: 861ca0eba4d135a8ad5643175cee8cfba7b5043691c6eaaaf7dad811b484fd252d027098a73474b94c48e6424cc1b46c6fa0e1e3a59dcb56fc7140a5825183f9
6
+ metadata.gz: 2e6574273325790a40827dbbe2af947e5c44536969d02590fffe54a547d5446f84fff5476cf605de7cca6b728b0b5237b3f60b44f76fc74472cce91efdea02a8
7
+ data.tar.gz: 00607be4c09856522537fafa43584018245e864f8db18b5e521d6b8fe1d31ba6f12c78cdaacb7c7bf7ab089dff11d02d4cad2e2052449f0afd1f91e4b079c4c9
@@ -12,7 +12,9 @@ module ForemanKernelCare
12
12
  complete_output = ''
13
13
  result = payload[:data].to_unsafe_h['result']
14
14
  result.each { |x| complete_output += x['output'] }
15
- kcare, kernel = complete_output.split(/\n/).values_at(1, 3)
15
+ kernel, kcare = complete_output.split(/\n/)
16
+ kernel = kernel.gsub('Installed kernel version: ', '')
17
+ kcare = kcare.gsub('Patched kernel version: ', '')
16
18
  version, release = kcare.strip.split('-')
17
19
  next if version.empty? || release.empty?
18
20
  job_invocation = ::JobInvocation.where(:task_id => foreman_task.parent_task_id).first
@@ -48,8 +48,13 @@ module ForemanKernelCare
48
48
  end
49
49
  end
50
50
 
51
+ def kernelcare?
52
+ !installed_packages.select { |package| package.name == 'kernelcare' }.empty? ||
53
+ !installed_debs.select { |package| package.name == 'kernelcare' }.empty?
54
+ end
55
+
51
56
  class ::Host::Managed::Jail < Safemode::Jail
52
- allow :installed_debs
57
+ allow :installed_debs, :kernelcare?
53
58
  end
54
59
 
55
60
  protected
@@ -81,7 +86,7 @@ module ForemanKernelCare
81
86
 
82
87
  def create_new_yum_kernel_packages(packages, version, release)
83
88
  new_kernels = packages.map do |p|
84
- ::Katello::Pulp::SimplePackage.new({
89
+ ::Katello::SimplePackage.new({
85
90
  arch: p.arch,
86
91
  epoch: p.epoch,
87
92
  version: version,
@@ -138,10 +143,5 @@ module ForemanKernelCare
138
143
  self.installed_deb_ids = new_installed_debs.concat(new_patched_kernel_ids)
139
144
  save!
140
145
  end
141
-
142
- def kernelcare?
143
- !installed_packages.select { |package| package.name == 'kernelcare' }.empty? ||
144
- !installed_debs.select { |package| package.name == 'kernelcare' }.empty?
145
- end
146
146
  end
147
147
  end
@@ -0,0 +1,15 @@
1
+ module ForemanKernelCare
2
+ module ProfilesUploader
3
+ extend ActiveSupport::Concern
4
+
5
+ def import_deb_package_profile(profile)
6
+ if @host.kernelcare?
7
+ composer = ::JobInvocationComposer.for_feature(:kernel_version, @host)
8
+ composer.triggering.mode = :future
9
+ composer.trigger!
10
+ end
11
+
12
+ super(profile)
13
+ end
14
+ end
15
+ end
@@ -9,7 +9,7 @@ feature: kernel_version
9
9
  %>
10
10
  <%
11
11
  unless @host.installed_packages.map{ |package| package.name }.include?('kernelcare') || @host.installed_debs.map{ |package| package.name }.include?('kernelcare')
12
- render_error(N_('Unsupported host.'))
12
+ render_error(N_('The "kernelcare" package is not installed on your managed host which is required by this job template.'))
13
13
  end
14
14
  %>
15
15
 
@@ -10,7 +10,7 @@ feature: update_kernel
10
10
 
11
11
  <%
12
12
  unless @host.installed_packages.map{ |package| package.name }.include?('kernelcare') || @host.installed_debs.map{ |package| package.name }.include?('kernelcare')
13
- render_error(N_('Unsupported host.'))
13
+ render_error(N_('The "kernelcare" package is not installed on your managed host which is required by this job template.'))
14
14
  end
15
15
  %>
16
16
 
@@ -3,12 +3,12 @@ kind: job_template
3
3
  name: LivePatching - View newest Patch
4
4
  model: JobTemplate
5
5
  job_category: LivePatching - Script Default
6
- description_format: "Get patched kernel version"
6
+ description_format: "View available patches"
7
7
  provider_type: script
8
8
  %>
9
9
  <%
10
10
  unless @host.installed_packages.map{ |package| package.name }.include?('kernelcare') || @host.installed_debs.map{ |package| package.name }.include?('kernelcare')
11
- render_error(N_('Unsupported host.'))
11
+ render_error(N_('The "kernelcare" package is not installed on your managed host which is required by this job template.'))
12
12
  end
13
13
  %>
14
14
 
@@ -8,6 +8,7 @@ module ForemanKernelCare
8
8
  engine_name 'foreman_kernel_care'
9
9
 
10
10
  config.autoload_paths += Dir["#{config.root}/app/models/concerns"]
11
+ config.autoload_paths += Dir["#{config.root}/app/services/concerns"]
11
12
 
12
13
  initializer 'foreman_kernel_care.register_plugin', :before => :finisher_hook do |_app|
13
14
  Foreman::Plugin.register :foreman_kernel_care do
@@ -19,6 +20,7 @@ module ForemanKernelCare
19
20
  # make sure the plugin is initialized before katello loads the host extensions
20
21
  initializer 'foreman_kernel_care.load_kernelcare_override', :before => :finisher_hook, :after => ['katello.register_plugin', 'foreman_tasks.register_plugin'] do
21
22
  ::Katello::Concerns::HostManagedExtensions.prepend ForemanKernelCare::HostManagedExtensions
23
+ ::Katello::Host::ProfilesUploader.prepend ForemanKernelCare::ProfilesUploader
22
24
  ::ForemanTasks::Api::TasksController.prepend ForemanKernelCare::ForemanTasks
23
25
  end
24
26
 
@@ -1,3 +1,3 @@
1
1
  module ForemanKernelCare
2
- VERSION = '1.2.0'.freeze
2
+ VERSION = '2.0.0'.freeze
3
3
  end
@@ -19,7 +19,7 @@ FactoryBot.modify do
19
19
  :epoch => '1',
20
20
  :nvra => 'kernelcare-2.54-1.el7.x86_64'
21
21
  }
22
- host.import_package_profile([::Katello::Pulp::SimplePackage.new(package_json)])
22
+ host.import_package_profile([::Katello::SimplePackage.new(package_json)])
23
23
  end
24
24
  end
25
25
  end
@@ -18,7 +18,7 @@ module ForemanKernelCare
18
18
  package_json = { :name => 'kernel', :version => '1',
19
19
  :release => '1.el7', :arch => 'x86_64', :epoch => '1',
20
20
  :nvra => 'kernel-1-1.el7.x86_64' }
21
- host.import_package_profile([::Katello::Pulp::SimplePackage.new(package_json)])
21
+ host.import_package_profile([::Katello::SimplePackage.new(package_json)])
22
22
  nvra = 'kernel-1-1.el7.x86_64'
23
23
  host.reload
24
24
  version = '2'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_kernel_care
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxim Petukhov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-28 00:00:00.000000000 Z
11
+ date: 2024-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: foreman_remote_execution
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 3.8.0
33
+ version: 4.8.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 3.8.0
40
+ version: 4.8.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rdoc
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -99,6 +99,7 @@ files:
99
99
  - Rakefile
100
100
  - app/controllers/concerns/foreman_kernel_care/foreman_tasks.rb
101
101
  - app/models/concerns/foreman_kernel_care/host_managed_extensions.rb
102
+ - app/services/concerns/foreman_kernel_care/profiles_uploader.rb
102
103
  - app/views/foreman_kernel_care/job_templates/install_kernelcare.erb
103
104
  - app/views/foreman_kernel_care/job_templates/kernel_version.erb
104
105
  - app/views/foreman_kernel_care/job_templates/update_kernel.erb
@@ -132,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
133
  - !ruby/object:Gem::Version
133
134
  version: '0'
134
135
  requirements: []
135
- rubygems_version: 3.2.33
136
+ rubygems_version: 3.4.10
136
137
  signing_key:
137
138
  specification_version: 4
138
139
  summary: Plugin for KernelCare