Module: ForemanInventoryUpload
- Defined in:
- lib/foreman_inventory_upload.rb,
lib/foreman_inventory_upload/generators/tags.rb,
lib/foreman_inventory_upload/generators/slice.rb,
lib/foreman_inventory_upload/generators/queries.rb,
lib/foreman_inventory_upload/async/async_helpers.rb,
lib/foreman_inventory_upload/async/delayed_start.rb,
lib/foreman_inventory_upload/async/shell_process.rb,
lib/foreman_inventory_upload/generators/metadata.rb,
lib/foreman_inventory_upload/async/progress_output.rb,
lib/foreman_inventory_upload/generators/json_stream.rb,
lib/foreman_inventory_upload/async/upload_report_job.rb,
lib/foreman_inventory_upload/generators/fact_helpers.rb,
lib/foreman_inventory_upload/async/generate_report_job.rb,
lib/foreman_inventory_upload/async/generate_host_report.rb,
lib/foreman_inventory_upload/async/queue_for_upload_job.rb,
lib/foreman_inventory_upload/generators/archived_report.rb,
app/controllers/foreman_inventory_upload/tasks_controller.rb,
lib/foreman_inventory_upload/async/single_host_report_job.rb,
app/controllers/foreman_inventory_upload/reports_controller.rb,
app/controllers/foreman_inventory_upload/uploads_controller.rb,
lib/foreman_inventory_upload/async/generate_all_reports_job.rb,
app/controllers/foreman_inventory_upload/accounts_controller.rb,
lib/foreman_inventory_upload/async/host_inventory_report_job.rb,
lib/foreman_inventory_upload/async/remove_insights_hosts_job.rb,
app/controllers/foreman_inventory_upload/cloud_status_controller.rb,
app/controllers/foreman_inventory_upload/missing_hosts_controller.rb,
lib/foreman_inventory_upload/async/create_missing_insights_facets.rb,
app/controllers/foreman_inventory_upload/uploads_settings_controller.rb,
lib/foreman_inventory_upload/notifications/manifest_import_success_notification_override.rb
Defined Under Namespace
Modules: Async, Generators, Notifications
Classes: AccountsController, CloudStatusController, MissingHostsController, ReportsController, TasksController, UploadsController, UploadsSettingsController
Class Method Summary
collapse
Class Method Details
.base_folder ⇒ Object
2
3
4
5
6
7
8
9
10
|
# File 'lib/foreman_inventory_upload.rb', line 2
def self.base_folder
@base_folder ||= File.join(
Dir.glob('/var/lib/foreman').first || Dir.getwd,
'red_hat_inventory/'
)
end
|
.done_file_path(filename) ⇒ Object
.ensure_folder(folder) ⇒ Object
73
74
75
76
|
# File 'lib/foreman_inventory_upload.rb', line 73
def self.ensure_folder(folder)
FileUtils.mkdir_p(folder)
folder
end
|
.facts_archive_name(organization, filter = nil) ⇒ Object
55
56
57
|
# File 'lib/foreman_inventory_upload.rb', line 55
def self.facts_archive_name(organization, filter = nil)
"report_for_#{organization}#{filter.empty? ? nil : "[#{filter.to_s.parameterize}]"}.tar.xz"
end
|
.generated_reports_folder ⇒ Object
38
39
40
41
42
43
44
45
|
# File 'lib/foreman_inventory_upload.rb', line 38
def self.generated_reports_folder
@generated_reports_folder ||= ensure_folder(
File.join(
ForemanInventoryUpload.base_folder,
'generated_reports/'
)
)
end
|
.hosts_by_ids_url(host_ids) ⇒ Object
91
92
93
94
|
# File 'lib/foreman_inventory_upload.rb', line 91
def self.hosts_by_ids_url(host_ids)
host_ids_string = host_ids.join(',')
"#{inventory_base_url}/#{host_ids_string}"
end
|
.inventory_base_url ⇒ Object
78
79
80
|
# File 'lib/foreman_inventory_upload.rb', line 78
def self.inventory_base_url
"#{ForemanRhCloud.cert_base_url}/api/inventory/v1/hosts"
end
|
.inventory_export_url ⇒ Object
82
83
84
85
|
# File 'lib/foreman_inventory_upload.rb', line 82
def self.inventory_export_url
tags = CGI.escape("satellite/satellite_instance_id=#{Foreman.instance_id}")
inventory_base_url + "?tags=#{tags}"
end
|
.inventory_self_url ⇒ Object
87
88
89
|
# File 'lib/foreman_inventory_upload.rb', line 87
def self.inventory_self_url
inventory_base_url + "?hostname_or_id=#{ForemanRhCloud.foreman_host.fqdn}"
end
|
.max_org_size ⇒ Object
68
69
70
71
|
# File 'lib/foreman_inventory_upload.rb', line 68
def self.max_org_size
@max_org_size ||= (ENV['SATELLITE_INVENTORY_MAX_ORG_SIZE'] || 150_000).to_i
end
|
.outputs_folder ⇒ Object
47
48
49
|
# File 'lib/foreman_inventory_upload.rb', line 47
def self.outputs_folder
@outputs_folder ||= ensure_folder(File.join(ForemanInventoryUpload.base_folder, 'outputs/'))
end
|
.report_file_paths(organization_id) ⇒ Object
.slice_size ⇒ Object
64
65
66
|
# File 'lib/foreman_inventory_upload.rb', line 64
def self.slice_size
@slice_size ||= (ENV['SATELLITE_INVENTORY_SLICE_SIZE'] || '1000').to_i
end
|
.upload_script_file ⇒ Object
51
52
53
|
# File 'lib/foreman_inventory_upload.rb', line 51
def self.upload_script_file
'uploader.sh'
end
|
.upload_url ⇒ Object
59
60
61
62
|
# File 'lib/foreman_inventory_upload.rb', line 59
def self.upload_url
ENV['SATELLITE_INVENTORY_UPLOAD_URL'] || "#{ForemanRhCloud.cert_base_url}/api/ingress/v1/upload"
end
|
.uploads_file_path(filename) ⇒ Object
.uploads_folder ⇒ Object
12
13
14
15
16
17
18
19
|
# File 'lib/foreman_inventory_upload.rb', line 12
def self.uploads_folder
@uploads_folder ||= ensure_folder(
File.join(
ForemanInventoryUpload.base_folder,
'uploads/'
)
)
end
|