foreman_rh_cloud 5.0.38 → 6.0.42
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/api/v2/rh_cloud/cloud_request_controller.rb +11 -5
- data/app/controllers/insights_cloud/settings_controller.rb +14 -0
- data/app/services/foreman_rh_cloud/cert_auth.rb +1 -1
- data/app/services/foreman_rh_cloud/cloud_ping_service.rb +1 -1
- data/app/services/foreman_rh_cloud/cloud_presence.rb +4 -4
- data/app/services/foreman_rh_cloud/cloud_request_forwarder.rb +3 -3
- data/config/Gemfile.lock.gh_test +215 -226
- data/config/routes.rb +2 -0
- data/lib/foreman_inventory_upload/async/generate_all_reports_job.rb +4 -0
- data/lib/foreman_inventory_upload/async/upload_report_job.rb +5 -1
- data/lib/foreman_rh_cloud/engine.rb +7 -4
- data/lib/foreman_rh_cloud/settings.rb +11 -0
- data/lib/foreman_rh_cloud/version.rb +1 -1
- data/lib/insights_cloud/async/connector_playbook_execution_reporter_task.rb +3 -2
- data/lib/insights_cloud/async/insights_full_sync.rb +2 -1
- data/lib/insights_cloud/generators/playbook_progress_generator.rb +2 -2
- data/lib/insights_cloud.rb +4 -0
- data/package.json +6 -6
- data/test/controllers/insights_cloud/api/cloud_request_controller_test.rb +27 -0
- data/test/controllers/insights_sync/settings_controller_test.rb +17 -0
- data/test/jobs/connector_playbook_execution_reporter_task_test.rb +1 -7
- data/test/jobs/upload_report_job_test.rb +1 -1
- data/test/unit/playbook_progress_generator_test.rb +1 -1
- data/webpack/ForemanRhCloudFills.js +1 -1
- metadata +4 -5
- data/app/models/setting/rh_cloud.rb +0 -29
- data/config/package-lock.json +0 -41822
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c3c56d7e23a70203868099896bbdcf3bb1b6ec31dc5a703a5da9bd147f849a10
|
4
|
+
data.tar.gz: d6ea56a9abbc11fad5d4d77347d829a0eb3062af500b8773c9d617235ce0b0fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 523354ddf7e4511663d53833823b0e5ffa3128ea9513eeab23b458e23d6f5a76254017ffc52b8f513245f8404e991154123585bc93269f1b72c06ec7512e595a
|
7
|
+
data.tar.gz: '03784d6b78c2acf11b084912739cb5714e95f165871db256a260da8aab1e3c3d278eb8120eb2aec673477467da611a02f4ac89b87ed4b60b099a27d51e3c0e5b'
|
@@ -27,16 +27,18 @@ module Api::V2::RhCloud
|
|
27
27
|
private
|
28
28
|
|
29
29
|
def metadata
|
30
|
-
params['metadata']
|
30
|
+
params['Metadata'] || params['metadata']
|
31
31
|
end
|
32
32
|
|
33
33
|
def content
|
34
|
+
content = params['Content'] || params['content']
|
35
|
+
|
34
36
|
# the content received as base 64 of the string in double quotes
|
35
|
-
Base64.decode64(
|
37
|
+
Base64.decode64(content).tr('"', '')
|
36
38
|
end
|
37
39
|
|
38
40
|
def directive
|
39
|
-
params['directive']
|
41
|
+
params['Directive'] || params['directive']
|
40
42
|
end
|
41
43
|
|
42
44
|
def handle_run_playbook_request
|
@@ -44,9 +46,13 @@ module Api::V2::RhCloud
|
|
44
46
|
logger.error("Reporting URL is not valid: #{metadata['return_url']}") && return unless valid_url?(metadata['return_url'])
|
45
47
|
|
46
48
|
hosts = metadata['hosts'].split(',')
|
47
|
-
host_ids = host_ids(hosts)
|
48
49
|
|
49
|
-
|
50
|
+
# select hosts from the metadata list that are not disabled by the parameter.
|
51
|
+
host_ids = Host.search_for("not params.#{InsightsCloud.enable_cloud_remediations_param} = f")
|
52
|
+
.where(id: host_ids(hosts))
|
53
|
+
.pluck(:id)
|
54
|
+
|
55
|
+
logger.warn("Some hosts were not found/ignored. Looked for: #{hosts}, found ids: #{host_ids}") unless host_ids.length == hosts.length
|
50
56
|
|
51
57
|
logger.error("sat_org_id is not present in the metadata") && return unless metadata['sat_org_id']
|
52
58
|
org_id = metadata['sat_org_id'].to_i
|
@@ -9,6 +9,20 @@ module InsightsCloud
|
|
9
9
|
render_setting(:insightsSyncEnabled, :allow_auto_insights_sync)
|
10
10
|
end
|
11
11
|
|
12
|
+
def set_org_parameter
|
13
|
+
parameter = params.require(:parameter)
|
14
|
+
new_value = ActiveModel::Type::Boolean.new.cast(params.require(:value))
|
15
|
+
org_id = params.require(:organization_id)
|
16
|
+
|
17
|
+
organization = Organization.authorized.find(org_id)
|
18
|
+
|
19
|
+
org_param = organization.organization_parameters.find_or_create_by(name: parameter) do |org_param|
|
20
|
+
org_param.name = parameter
|
21
|
+
end
|
22
|
+
org_param.value = new_value
|
23
|
+
org_param.save!
|
24
|
+
end
|
25
|
+
|
12
26
|
private
|
13
27
|
|
14
28
|
def render_setting(node_name, setting)
|
@@ -13,7 +13,7 @@ module ForemanRhCloud
|
|
13
13
|
certs = candlepin_id_cert(params.delete(:organization))
|
14
14
|
final_params = {
|
15
15
|
ssl_client_cert: OpenSSL::X509::Certificate.new(certs[:cert]),
|
16
|
-
ssl_client_key: OpenSSL::PKey
|
16
|
+
ssl_client_key: OpenSSL::PKey.read(certs[:key]),
|
17
17
|
}.deep_merge(params)
|
18
18
|
|
19
19
|
super(final_params)
|
@@ -27,7 +27,7 @@ module ForemanRhCloud
|
|
27
27
|
content_type: :json,
|
28
28
|
},
|
29
29
|
ssl_client_cert: OpenSSL::X509::Certificate.new(certs[:cert]),
|
30
|
-
ssl_client_key: OpenSSL::PKey
|
30
|
+
ssl_client_key: OpenSSL::PKey.read(certs[:key])
|
31
31
|
)
|
32
32
|
rescue StandardError => ex
|
33
33
|
ex
|
@@ -24,7 +24,7 @@ module ForemanRhCloud
|
|
24
24
|
content_type: :json,
|
25
25
|
},
|
26
26
|
ssl_client_cert: OpenSSL::X509::Certificate.new(certs[:cert]),
|
27
|
-
ssl_client_key: OpenSSL::PKey
|
27
|
+
ssl_client_key: OpenSSL::PKey.read(certs[:key])
|
28
28
|
)
|
29
29
|
)
|
30
30
|
|
@@ -42,7 +42,7 @@ module ForemanRhCloud
|
|
42
42
|
content_type: :json,
|
43
43
|
},
|
44
44
|
ssl_client_cert: OpenSSL::X509::Certificate.new(certs[:cert]),
|
45
|
-
ssl_client_key: OpenSSL::PKey
|
45
|
+
ssl_client_key: OpenSSL::PKey.read(certs[:key])
|
46
46
|
)
|
47
47
|
)
|
48
48
|
|
@@ -60,7 +60,7 @@ module ForemanRhCloud
|
|
60
60
|
content_type: :json,
|
61
61
|
},
|
62
62
|
ssl_client_cert: OpenSSL::X509::Certificate.new(certs[:cert]),
|
63
|
-
ssl_client_key: OpenSSL::PKey
|
63
|
+
ssl_client_key: OpenSSL::PKey.read(certs[:key]),
|
64
64
|
payload: {
|
65
65
|
name: "satellite: #{Foreman.instance_id} org: #{@organization.name}",
|
66
66
|
source_ref: Foreman.instance_id,
|
@@ -84,7 +84,7 @@ module ForemanRhCloud
|
|
84
84
|
content_type: :json,
|
85
85
|
},
|
86
86
|
ssl_client_cert: OpenSSL::X509::Certificate.new(certs[:cert]),
|
87
|
-
ssl_client_key: OpenSSL::PKey
|
87
|
+
ssl_client_key: OpenSSL::PKey.read(certs[:key]),
|
88
88
|
payload: {
|
89
89
|
source_id: source_id,
|
90
90
|
rhc_id: Setting[:rhc_instance_id],
|
@@ -63,19 +63,19 @@ module ForemanRhCloud
|
|
63
63
|
{
|
64
64
|
url: ForemanRhCloud.cert_base_url + request_path.sub('/redhat_access/r/insights/platform', '/api'),
|
65
65
|
ssl_client_cert: OpenSSL::X509::Certificate.new(certs[:cert]),
|
66
|
-
ssl_client_key: OpenSSL::PKey
|
66
|
+
ssl_client_key: OpenSSL::PKey.read(certs[:key]),
|
67
67
|
}
|
68
68
|
when connection_test_request?
|
69
69
|
{
|
70
70
|
url: ForemanRhCloud.cert_base_url + '/api/apicast-tests/ping',
|
71
71
|
ssl_client_cert: OpenSSL::X509::Certificate.new(certs[:cert]),
|
72
|
-
ssl_client_key: OpenSSL::PKey
|
72
|
+
ssl_client_key: OpenSSL::PKey.read(certs[:key]),
|
73
73
|
}
|
74
74
|
else # Legacy insights API
|
75
75
|
{
|
76
76
|
url: ForemanRhCloud.legacy_insights_url + request_path.sub('/redhat_access/r/insights', '/r/insights'),
|
77
77
|
ssl_client_cert: OpenSSL::X509::Certificate.new(certs[:cert]),
|
78
|
-
ssl_client_key: OpenSSL::PKey
|
78
|
+
ssl_client_key: OpenSSL::PKey.read(certs[:key]),
|
79
79
|
ssl_ca_file: ForemanRhCloud.legacy_insights_ca,
|
80
80
|
}
|
81
81
|
end
|