foreman_rh_cloud 9.0.56 → 10.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/services/foreman_rh_cloud/cloud_request_forwarder.rb +1 -1
- data/lib/foreman_inventory_upload/generators/fact_helpers.rb +1 -1
- data/lib/foreman_inventory_upload/generators/slice.rb +0 -1
- data/lib/foreman_inventory_upload.rb +1 -1
- data/lib/foreman_rh_cloud/version.rb +1 -1
- data/lib/insights_cloud/async/insights_resolutions_sync.rb +7 -1
- data/lib/inventory_sync/async/inventory_hosts_sync.rb +1 -1
- data/lib/tasks/insights.rake +4 -3
- data/package.json +1 -1
- data/test/jobs/inventory_hosts_sync_test.rb +53 -5
- data/test/unit/services/foreman_rh_cloud/cloud_request_forwarder_test.rb +4 -5
- data/test/unit/slice_generator_test.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ff94b0740c89b0b945f90e7feba658b30341a7f8bb5c1fd2e59cdfc68d05969
|
4
|
+
data.tar.gz: b25c4f29a021b554b425d6d464971aed419e3021736730b696710c10e9804670
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c4b8398e71971b211bb7eb5a76f3d4acd2a274eb69cd9c6f33c8961e0824c8f9da3a34e7ae72c438ab9ddc5042f9a4e3aee53bf24c5ad07ce617b3bdba83eee
|
7
|
+
data.tar.gz: a0f2b3d8d0b1ddf1c0bccd5eeef2c818d8f81bf1a05eaa5e9f0a9bacd70368381d362343f5bc454023b258c238127664f4aaac709fe40feae03ae8b400f80f0c
|
@@ -38,7 +38,7 @@ module ForemanRhCloud
|
|
38
38
|
def prepare_forward_payload(original_request, controller_name)
|
39
39
|
forward_payload = original_request.request_parameters[controller_name]
|
40
40
|
|
41
|
-
forward_payload = original_request.raw_post.clone if original_request.post? && original_request.raw_post
|
41
|
+
forward_payload = original_request.raw_post.clone if (original_request.post? || original_request.patch?) && original_request.raw_post
|
42
42
|
forward_payload = original_request.body.read if original_request.put?
|
43
43
|
|
44
44
|
forward_payload = original_request.params.slice(:file, :metadata) if original_request.params[:file]
|
@@ -126,7 +126,6 @@ module ForemanInventoryUpload
|
|
126
126
|
) { |v| os_release_value(*v) }
|
127
127
|
@stream.simple_field('os_kernel_version', fact_value(host, 'uname::release'))
|
128
128
|
@stream.simple_field('arch', host.architecture&.name)
|
129
|
-
@stream.simple_field('subscription_status', host.subscription_status_label)
|
130
129
|
@stream.simple_field('katello_agent_running', false)
|
131
130
|
@stream.simple_field(
|
132
131
|
'infrastructure_type',
|
@@ -75,7 +75,7 @@ module ForemanInventoryUpload
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def self.inventory_export_url
|
78
|
-
tags =
|
78
|
+
tags = CGI.escape("satellite/satellite_instance_id=#{Foreman.instance_id}")
|
79
79
|
inventory_base_url + "?tags=#{tags}"
|
80
80
|
end
|
81
81
|
|
@@ -60,7 +60,13 @@ module InsightsCloud
|
|
60
60
|
|
61
61
|
def write_resolutions(response)
|
62
62
|
all_resolutions = response.map do |rule_id, rule_details|
|
63
|
-
rule_details
|
63
|
+
if rule_details
|
64
|
+
rule_details['resolutions'].map { |resolution| to_resolution_hash(to_rule_id(rule_id), resolution) }
|
65
|
+
else
|
66
|
+
logger.info("Rules response: #{rule_id} #{rule_details}")
|
67
|
+
logger.debug("Response: #{response}\n Failed id #{rule_id}")
|
68
|
+
[]
|
69
|
+
end
|
64
70
|
end.flatten
|
65
71
|
|
66
72
|
InsightsResolution.create(all_resolutions)
|
@@ -68,7 +68,7 @@ module InventorySync
|
|
68
68
|
|
69
69
|
def to_ip_address_string(ip_addresses)
|
70
70
|
string_size = 0
|
71
|
-
ip_addresses
|
71
|
+
ip_addresses&.take_while { |address| (string_size += address.length) <= MAX_IP_STRING_SIZE }
|
72
72
|
end
|
73
73
|
|
74
74
|
def plan_self_host_sync
|
data/lib/tasks/insights.rake
CHANGED
@@ -15,9 +15,10 @@ namespace :rh_cloud_insights do
|
|
15
15
|
end
|
16
16
|
|
17
17
|
cleaner = ForemanRhCloud::InsightsStatusCleaner.new
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
User.as_anonymous_admin do
|
19
|
+
deleted_count = cleaner.clean(hosts_search)
|
20
|
+
puts "Deleted #{deleted_count} insights statuses"
|
21
|
+
end
|
21
22
|
end
|
22
23
|
|
23
24
|
desc "Re-announce all organizations into Sources on RH cloud."
|
data/package.json
CHANGED
@@ -44,11 +44,59 @@ class InventoryHostsSyncTest < ActiveSupport::TestCase
|
|
44
44
|
|
45
45
|
inventory_json = <<-INVENTORY_JSON
|
46
46
|
{
|
47
|
-
"total":
|
48
|
-
"count":
|
47
|
+
"total": 4,
|
48
|
+
"count": 4,
|
49
49
|
"page": 1,
|
50
|
-
"per_page":
|
50
|
+
"per_page": 4,
|
51
51
|
"results": [
|
52
|
+
{
|
53
|
+
"insights_id": "72d29d75-dbbf-4121-9566-2f581ab77f39",
|
54
|
+
"rhel_machine_id": null,
|
55
|
+
"subscription_manager_id": "d29bde40-348e-437c-8acf-8fa98320fc1c",
|
56
|
+
"satellite_id": "bb72bf95-0a19-4090-8009-f0d8c68aca61",
|
57
|
+
"bios_uuid": "b48a7e5f-cb50-4029-a75e-366bf43db642",
|
58
|
+
"fqdn": "rhel81-demo.oss-lab.net",
|
59
|
+
"mac_addresses": [
|
60
|
+
"52:54:00:aa:12:12",
|
61
|
+
"00:00:00:00:00:00"
|
62
|
+
],
|
63
|
+
"external_id": null,
|
64
|
+
"id": "59ab38db-c25b-4fc7-bfb2-c8eb01d865a4",
|
65
|
+
"account": "1460290",
|
66
|
+
"display_name": "insights-rh71.example.com",
|
67
|
+
"ansible_host": null,
|
68
|
+
"facts": [
|
69
|
+
{
|
70
|
+
"namespace": "satellite",
|
71
|
+
"facts": {
|
72
|
+
"virtual_host_name": "virt-who-nobody.home-1",
|
73
|
+
"satellite_instance_id": "fc4d0cb0-a0b0-421e-b096-b028319b8e47",
|
74
|
+
"is_simple_content_access": false,
|
75
|
+
"distribution_version": "7.3",
|
76
|
+
"satellite_version": "6.8.4",
|
77
|
+
"organization_id": 1,
|
78
|
+
"is_hostname_obfuscated": false,
|
79
|
+
"virtual_host_uuid": "a90e6294-4766-420a-8dc0-3ec5b96d60ec"
|
80
|
+
}
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"namespace": "yupana",
|
84
|
+
"facts": {
|
85
|
+
"report_platform_id": "d37afa50-08ce-4efb-a0e5-759c2a016661",
|
86
|
+
"report_slice_id": "5bf791d7-5e30-4a3c-929a-11dd9fa6eb72",
|
87
|
+
"source": "Satellite",
|
88
|
+
"yupana_host_id": "e85958b6-58db-4cfd-aeb6-01ee81bc0f43",
|
89
|
+
"account": "1460290"
|
90
|
+
}
|
91
|
+
}
|
92
|
+
],
|
93
|
+
"reporter": "puptoo",
|
94
|
+
"stale_timestamp": "2021-03-19T07:57:42.466399+00:00",
|
95
|
+
"stale_warning_timestamp": "2021-03-26T07:57:42.466399+00:00",
|
96
|
+
"culled_timestamp": "2021-04-02T07:57:42.466399+00:00",
|
97
|
+
"created": "2021-02-08T14:36:03.613880+00:00",
|
98
|
+
"updated": "2021-03-18T02:57:42.535250+00:00"
|
99
|
+
},
|
52
100
|
{
|
53
101
|
"insights_id": "72d29d75-dbbf-4121-9566-2f581ab77f36",
|
54
102
|
"rhel_machine_id": null,
|
@@ -307,7 +355,7 @@ class InventoryHostsSyncTest < ActiveSupport::TestCase
|
|
307
355
|
|
308
356
|
ForemanTasks.sync_task(InventorySync::Async::InventoryHostsSync, [org])
|
309
357
|
|
310
|
-
assert_equal
|
358
|
+
assert_equal 3, InsightsMissingHost.count
|
311
359
|
end
|
312
360
|
|
313
361
|
test 'Inventory should remove old missing host records' do
|
@@ -324,6 +372,6 @@ class InventoryHostsSyncTest < ActiveSupport::TestCase
|
|
324
372
|
|
325
373
|
ForemanTasks.sync_task(InventorySync::Async::InventoryHostsSync, [org])
|
326
374
|
|
327
|
-
assert_equal
|
375
|
+
assert_equal 3, InsightsMissingHost.count
|
328
376
|
end
|
329
377
|
end
|
@@ -65,16 +65,15 @@ class CloudRequestForwarderTest < ActiveSupport::TestCase
|
|
65
65
|
end
|
66
66
|
|
67
67
|
test 'should forward patch payload' do
|
68
|
-
|
68
|
+
post_data = 'Random PATCH data'
|
69
69
|
req = ActionDispatch::Request.new(
|
70
70
|
'REQUEST_URI' => '/foo/bar?baz=awesome',
|
71
71
|
'REQUEST_METHOD' => 'PATCH',
|
72
72
|
'rack.input' => ::Puma::NullIO.new,
|
73
|
-
'RAW_POST_DATA' =>
|
74
|
-
"action_dispatch.request.path_parameters" => { :format => "json" }
|
75
|
-
"action_dispatch.request.request_parameters" => { 'vegetables' => params }
|
73
|
+
'RAW_POST_DATA' => post_data,
|
74
|
+
"action_dispatch.request.path_parameters" => { :format => "json" }
|
76
75
|
)
|
77
|
-
assert_equal
|
76
|
+
assert_equal post_data, @forwarder.prepare_forward_payload(req, 'Random PATCH data')
|
78
77
|
end
|
79
78
|
|
80
79
|
test 'should forward file with metadata' do
|
@@ -594,7 +594,7 @@ class SliceGeneratorTest < ActiveSupport::TestCase
|
|
594
594
|
assert_equal '00000000-0000-0000-0000-000000000000', actual['report_slice_id']
|
595
595
|
assert_not_nil(actual_host = actual['hosts'].first)
|
596
596
|
assert_not_nil(actual_profile = actual_host['system_profile'])
|
597
|
-
assert_equal '
|
597
|
+
assert_equal 'gcp', actual_profile['cloud_provider']
|
598
598
|
end
|
599
599
|
|
600
600
|
test 'Identifies Azure cloud provider' do
|
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:
|
4
|
+
version: 10.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Foreman Red Hat Cloud team
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: foreman_ansible
|
@@ -639,7 +639,7 @@ homepage: https://github.com/theforeman/foreman_rh_cloud
|
|
639
639
|
licenses:
|
640
640
|
- GPL-3.0
|
641
641
|
metadata: {}
|
642
|
-
post_install_message:
|
642
|
+
post_install_message:
|
643
643
|
rdoc_options: []
|
644
644
|
require_paths:
|
645
645
|
- lib
|
@@ -657,8 +657,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
657
657
|
- !ruby/object:Gem::Version
|
658
658
|
version: '0'
|
659
659
|
requirements: []
|
660
|
-
rubygems_version: 3.
|
661
|
-
signing_key:
|
660
|
+
rubygems_version: 3.2.33
|
661
|
+
signing_key:
|
662
662
|
specification_version: 4
|
663
663
|
summary: Summary of ForemanRhCloud.
|
664
664
|
test_files:
|