foreman_rh_cloud 3.0.21 → 3.0.21.1

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: f19ab6e45bf75f915a43c8db5e829f77fe6e5e7b62998d42fe4207ce37dcc062
4
- data.tar.gz: c2bf184dcdfaefe41c1d13116ede5236c381c1f0bc8e71353d2875eee9cb289e
3
+ metadata.gz: d87599d8ef67eeeaa3e17e720dc990b58d4085caf7fb6491dab093c54770c8fd
4
+ data.tar.gz: 04b52a7412dddf8e6829d61555ec9315c7f3856fde32e976eb8c50638082a3bc
5
5
  SHA512:
6
- metadata.gz: 7f2e16294caeae0098b8b8367082d75af4a706f74022dba22c040d9f545b4c99ca3c31be0d3db568c2a2dfc3de5509590a9602b026caad6ea0fb1b53a3ccc9f2
7
- data.tar.gz: 9cc8d2349b5879d84bb9d2e95157c3eaafbff04823ea6704889b2678dc9a6a1f8fe300f09d28eef47c62cbbeccd94d96b0bbd7518969f8edbdbfb338a2fff1c7
6
+ metadata.gz: 4ca381e6bcbf74d21a23ae825ebb6556be1afbe98c193fb33e58ef7fee6027142a809ed79b8cbcb3c8dce95200b0bd4528d497597a1f0411f703172ce1f9c123
7
+ data.tar.gz: 945faf0852d9ebce259e4da1bcebd079ef5a4fad87f503fc9ee694f4eae7e3ab36a7dc2390d54879a7da57d176aa22d8030a168d2715fe1f54a521b2258fbb37
@@ -10,28 +10,27 @@ module InsightsCloud::Api
10
10
 
11
11
  skip_after_action :log_response_body, :only => [:forward_request]
12
12
  skip_before_action :check_media_type, :only => [:forward_request]
13
- after_action :update_host_insights_status, only: [:forward_request]
14
13
 
15
14
  # The method that "proxies" requests over to Cloud
16
15
  def forward_request
17
16
  certs = candlepin_id_cert @organization
18
- @cloud_response = ::ForemanRhCloud::CloudRequestForwarder.new.forward_request(request, controller_name, @branch_id, certs)
17
+ cloud_response = ::ForemanRhCloud::CloudRequestForwarder.new.forward_request(request, controller_name, @branch_id, certs)
19
18
 
20
- if @cloud_response.code == 401
19
+ if cloud_response.code == 401
21
20
  return render json: {
22
21
  :message => 'Authentication to the Insights Service failed.',
23
22
  :headers => {},
24
23
  }, status: :bad_gateway
25
24
  end
26
25
 
27
- if @cloud_response.headers[:content_disposition]
28
- return send_data @cloud_response, disposition: @cloud_response.headers[:content_disposition], type: @cloud_response.headers[:content_type]
26
+ if cloud_response.headers[:content_disposition]
27
+ return send_data cloud_response, disposition: cloud_response.headers[:content_disposition], type: cloud_response.headers[:content_type]
29
28
  end
30
29
 
31
- assign_header(response, @cloud_response, :x_resource_count, true)
32
- assign_header(response, @cloud_response, :x_rh_insights_request_id, false)
30
+ assign_header(response, cloud_response, :x_resource_count, true)
31
+ assign_header(response, cloud_response, :x_rh_insights_request_id, false)
33
32
 
34
- render json: @cloud_response, status: @cloud_response.code
33
+ render json: cloud_response, status: cloud_response.code
35
34
  end
36
35
 
37
36
  def branch_info
@@ -70,14 +69,5 @@ module InsightsCloud::Api
70
69
  @branch_id = cp_owner_id(@organization)
71
70
  return render_message "Branch ID not found for organization #{@organization.title}", :status => 400 unless @branch_id
72
71
  end
73
-
74
- def update_host_insights_status
75
- return unless request.path == '/redhat_access/r/insights/platform/ingress/v1/upload' ||
76
- request.path.include?('/redhat_access/r/insights/uploads/')
77
-
78
- data = @cloud_response.code.to_s.start_with?('2')
79
- host_status = @host.get_status(InsightsClientReportStatus)
80
- host_status.update(reported_at: Time.now.utc, status: host_status.to_status(data: data))
81
- end
82
72
  end
83
73
  end
@@ -78,10 +78,7 @@ module ForemanRhCloud
78
78
 
79
79
  register_global_js_file 'global'
80
80
 
81
- register_custom_status InventorySync::InventoryStatus
82
- register_custom_status InsightsClientReportStatus
83
-
84
- subscribe 'host_created.event.foreman', ForemanRhCloud::InsightsSubscriber
81
+ register_custom_status(InventorySync::InventoryStatus)
85
82
 
86
83
  extend_page 'hosts/show' do |context|
87
84
  context.add_pagelet :main_tabs,
@@ -133,13 +130,15 @@ module ForemanRhCloud
133
130
  )
134
131
  # skip object creation when admin user is not present, for example in test DB
135
132
  if User.unscoped.find_by_login(User::ANONYMOUS_ADMIN).present?
136
- unless ForemanTasks::RecurringLogic.joins(:tasks).merge(
137
- ForemanTasks::Task.where(label: 'InventorySync::Async::InventoryScheduledSync')
138
- ).exists?
139
- User.as_anonymous_admin do
140
- recurring_logic = ForemanTasks::RecurringLogic.new_from_cronline("0 0 * * *")
141
- recurring_logic.save!
142
- recurring_logic.start(InventorySync::Async::InventoryScheduledSync)
133
+ ::ForemanTasks.dynflow.config.on_init(false) do |world|
134
+ unless ForemanTasks::RecurringLogic.joins(:tasks).merge(
135
+ ForemanTasks::Task.where(label: 'InventorySync::Async::InventoryScheduledSync')
136
+ ).exists?
137
+ User.as_anonymous_admin do
138
+ recurring_logic = ForemanTasks::RecurringLogic.new_from_cronline("0 0 * * *")
139
+ recurring_logic.save!
140
+ recurring_logic.start(InventorySync::Async::InventoryScheduledSync)
141
+ end
143
142
  end
144
143
  end
145
144
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanRhCloud
2
- VERSION = '3.0.21'.freeze
2
+ VERSION = '3.0.21.1'.freeze
3
3
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "foreman_rh_cloud",
3
- "version": "3.0.21",
3
+ "version": "3.0.21.1",
4
4
  "description": "Inventory Upload =============",
5
5
  "main": "index.js",
6
6
  "scripts": {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_rh_cloud
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.21
4
+ version: 3.0.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Foreman Red Hat Cloud team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-20 00:00:00.000000000 Z
11
+ date: 2021-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: katello
@@ -160,7 +160,6 @@ files:
160
160
  - app/helpers/foreman_inventory_upload_helper.rb
161
161
  - app/helpers/foreman_inventory_upload_host_helper.rb
162
162
  - app/models/concerns/rh_cloud_host.rb
163
- - app/models/insights_client_report_status.rb
164
163
  - app/models/insights_facet.rb
165
164
  - app/models/insights_hit.rb
166
165
  - app/models/insights_resolution.rb
@@ -175,7 +174,6 @@ files:
175
174
  - app/services/foreman_rh_cloud/cloud_request_forwarder.rb
176
175
  - app/services/foreman_rh_cloud/remediations_retriever.rb
177
176
  - app/services/foreman_rh_cloud/template_renderer_helper.rb
178
- - app/subscribers/foreman_rh_cloud/insights_subscriber.rb
179
177
  - app/views/hosts/_insights_tab.html.erb
180
178
  - app/views/job_templates/rh_cloud_remediations.erb
181
179
  - app/views/layouts/foreman_rh_cloud/application.html.erb
@@ -247,7 +245,6 @@ files:
247
245
  - test/jobs/insights_rules_sync_test.rb
248
246
  - test/jobs/inventory_full_sync_test.rb
249
247
  - test/jobs/upload_report_job_test.rb
250
- - test/models/insights_client_report_status_test.rb
251
248
  - test/test_plugin_helper.rb
252
249
  - test/unit/archived_report_generator_test.rb
253
250
  - test/unit/fact_helpers_test.rb
@@ -651,7 +648,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
651
648
  - !ruby/object:Gem::Version
652
649
  version: '0'
653
650
  requirements: []
654
- rubygems_version: 3.2.15
651
+ rubygems_version: 3.2.3
655
652
  signing_key:
656
653
  specification_version: 4
657
654
  summary: Summary of ForemanRhCloud.
@@ -669,7 +666,6 @@ test_files:
669
666
  - test/jobs/insights_rules_sync_test.rb
670
667
  - test/jobs/inventory_full_sync_test.rb
671
668
  - test/jobs/upload_report_job_test.rb
672
- - test/models/insights_client_report_status_test.rb
673
669
  - test/test_plugin_helper.rb
674
670
  - test/unit/archived_report_generator_test.rb
675
671
  - test/unit/fact_helpers_test.rb
@@ -1,58 +0,0 @@
1
- class InsightsClientReportStatus < HostStatus::Status
2
- REPORT_INTERVAL = 48.hours
3
-
4
- REPORTING = 0 # host_registration_insights = true & getting data
5
- NO_REPORT = 1 # host_registration_insights = true & not getting data
6
- NOT_MANAGED = 2 # host_registration_insights = false
7
- NOT_MANAGED_WITH_DATA = 3 # host_registration_insights = false & getting data
8
-
9
- def self.status_name
10
- N_('Insights')
11
- end
12
-
13
- def to_label(_options = {})
14
- case status
15
- when REPORTING
16
- N_('Reporting')
17
- when NO_REPORT
18
- N_('Not reporting')
19
- when NOT_MANAGED
20
- N_('Not reporting (not set by registration)')
21
- when NOT_MANAGED_WITH_DATA
22
- N_('Reporting (not set by registration)')
23
- end
24
- end
25
-
26
- def to_global(_options = {})
27
- case status
28
- when REPORTING
29
- ::HostStatus::Global::OK
30
- when NO_REPORT
31
- ::HostStatus::Global::ERROR
32
- when NOT_MANAGED
33
- ::HostStatus::Global::OK
34
- when NOT_MANAGED_WITH_DATA
35
- ::HostStatus::Global::WARN
36
- end
37
- end
38
-
39
- def to_status(data: false)
40
- if insights_param
41
- return REPORTING if data
42
- return in_interval? ? REPORTING : NO_REPORT
43
- end
44
-
45
- data ? NOT_MANAGED_WITH_DATA : NOT_MANAGED
46
- end
47
-
48
- private
49
-
50
- def in_interval?
51
- return false unless reported_at
52
- (Time.now.utc - reported_at).to_i < REPORT_INTERVAL.to_i
53
- end
54
-
55
- def insights_param
56
- host.host_params_hash.dig('host_registration_insights', :value)
57
- end
58
- end
@@ -1,9 +0,0 @@
1
- module ForemanRhCloud
2
- class InsightsSubscriber < ::Foreman::BaseSubscriber
3
- def call(*args)
4
- host = args.first.payload[:object]
5
- host_status = host.get_status(InsightsClientReportStatus)
6
- host_status.update(status: host_status.to_status)
7
- end
8
- end
9
- end
@@ -1,77 +0,0 @@
1
- require 'test_plugin_helper'
2
-
3
- class InsightsClientReportStatusTest < ActiveSupport::TestCase
4
- describe 'to_status' do
5
- let(:host) { FactoryBot.create(:host, :managed) }
6
-
7
- setup do
8
- CommonParameter.where(name: 'host_registration_insights').destroy_all
9
- end
10
-
11
- test 'host_registration_insights = true & is getting data' do
12
- FactoryBot.create(:common_parameter, name: 'host_registration_insights', key_type: 'boolean', value: true)
13
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
14
-
15
- assert_equal 0, host_status.to_status(data: true)
16
- end
17
-
18
- test 'host_registration_insights = true & no data in less than 48 hours' do
19
- FactoryBot.create(:common_parameter, name: 'host_registration_insights', key_type: 'boolean', value: true)
20
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
21
- host_status.update(reported_at: 1.day.ago)
22
- assert_equal 0, host_status.to_status
23
- end
24
-
25
- test 'host_registration_insights = true & no data in more than 48 hours' do
26
- FactoryBot.create(:common_parameter, name: 'host_registration_insights', key_type: 'boolean', value: true)
27
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
28
- host_status.update(reported_at: 3.days.ago)
29
- assert_equal 1, host_status.to_status
30
- end
31
-
32
- test 'host_registration_insights = false & no data' do
33
- FactoryBot.create(:common_parameter, name: 'host_registration_insights', key_type: 'boolean', value: false)
34
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
35
- assert_equal 2, host_status.to_status
36
- end
37
-
38
- test 'host_registration_insights = false & getting data' do
39
- FactoryBot.create(:common_parameter, name: 'host_registration_insights', key_type: 'boolean', value: false)
40
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
41
- assert_equal 3, host_status.to_status(data: true)
42
- end
43
-
44
- test 'host_registration_insights = nil & is getting data' do
45
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
46
- assert_equal 3, host_status.to_status(data: true)
47
- end
48
-
49
- test 'host_registration_insights = nil & no data in less than 48 hours' do
50
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
51
- host_status.update(reported_at: 1.day.ago)
52
- assert_equal 2, host_status.to_status
53
- end
54
-
55
- test 'host_registration_insights = nil & no data in more than 48 hours' do
56
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
57
- host_status.update(reported_at: 3.days.ago)
58
- assert_equal 2, host_status.to_status
59
- end
60
-
61
- test 'override param on host level from `false` to `true`' do
62
- FactoryBot.create(:common_parameter, name: 'host_registration_insights', key_type: 'boolean', value: false)
63
- FactoryBot.create(:host_parameter, name: 'host_registration_insights', key_type: 'boolean', value: true, host: host)
64
-
65
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
66
- assert_equal 0, host_status.to_status(data: true)
67
- end
68
-
69
- test 'override param on host level from `true` to `false`' do
70
- FactoryBot.create(:common_parameter, name: 'host_registration_insights', key_type: 'boolean', value: true)
71
- FactoryBot.create(:host_parameter, name: 'host_registration_insights', key_type: 'boolean', value: false, host: host)
72
-
73
- host_status = Host.find_by_name(host.name).reload.get_status(InsightsClientReportStatus)
74
- assert_equal 2, host_status.to_status
75
- end
76
- end
77
- end