katello 3.16.1.2 → 3.16.2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/controllers/katello/api/v2/host_tracer_controller.rb +16 -36
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +11 -1
- data/app/lib/actions/katello/applicability/hosts/bulk_generate.rb +6 -2
- data/app/lib/actions/katello/repository/multi_clone_contents.rb +8 -6
- data/app/lib/actions/pulp3/abstract_async_task.rb +1 -0
- data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +1 -1
- data/app/lib/actions/pulp3/repository/delete.rb +1 -1
- data/app/models/katello/glue/pulp/repo.rb +1 -1
- data/app/models/katello/root_repository.rb +5 -1
- data/app/services/katello/host_trace_manager.rb +38 -0
- data/app/services/katello/pulp3/repository.rb +3 -3
- data/app/services/katello/pulp3/repository/yum.rb +1 -2
- data/app/services/katello/pulp3/task.rb +3 -3
- data/app/services/katello/pulp3/task_group.rb +6 -0
- data/config/routes/api/v2.rb +0 -6
- data/config/routes/overrides.rb +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +3 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +2 -2
- data/lib/katello/permissions/host_permissions.rb +1 -0
- data/lib/katello/tasks/reimport.rake +1 -1
- data/lib/katello/version.rb +1 -1
- metadata +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-traces-resolve.factory.js +0 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e3320c3167ac19ebd8119f1d4e58f0dcc141a4a18e4bccc98f1a4965e09262d
|
4
|
+
data.tar.gz: a9d5092691dca107610bfae636df54566cc07bf9fdf724d4c2e96312c3fdca9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 263362175e3deffd8bb979fd7464447b66524ccf5156a2a9836ae92b8ccd615b443202e3072309cc8d2d870ff899ddb4256887a5385c0fe860eb903b4b6a7066
|
7
|
+
data.tar.gz: af6e7d83da1cb8ac22dd279156e076cc42e605fb4f5b968d9e027f19903c3a819ebec6c8149f4a2f16ef43a9b3d5d34bb7ed4359c9b6b86e041ce0180c486a6a
|
@@ -1,6 +1,11 @@
|
|
1
1
|
module Katello
|
2
2
|
class Api::V2::HostTracerController < Api::V2::ApiController
|
3
|
-
before_action :find_host
|
3
|
+
before_action :find_host
|
4
|
+
|
5
|
+
resource_description do
|
6
|
+
api_version 'v2'
|
7
|
+
api_base_url "/api"
|
8
|
+
end
|
4
9
|
|
5
10
|
api :GET, "/hosts/:host_id/traces", N_("List services that need restarting on the host")
|
6
11
|
param :host_id, :number, :required => true, :desc => N_("ID of the host")
|
@@ -9,43 +14,18 @@ module Katello
|
|
9
14
|
respond_for_index(:collection => collection)
|
10
15
|
end
|
11
16
|
|
12
|
-
api :PUT, "/traces/resolve", N_("Resolve Traces")
|
17
|
+
api :PUT, "/hosts/:host_id/traces/resolve", N_("Resolve Traces")
|
18
|
+
param :host_id, :number, :required => true, :desc => N_("ID of the host")
|
13
19
|
param :trace_ids, Array, :required => true, :desc => N_("Array of Trace IDs")
|
14
20
|
def resolve
|
15
|
-
traces =
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
traces_by_host_id = traces.group_by(&:host_id)
|
24
|
-
traces_by_helper = traces.group_by(&:helper)
|
25
|
-
|
26
|
-
composers = []
|
27
|
-
|
28
|
-
if traces_by_host_id.size < traces_by_helper.size
|
29
|
-
traces_by_host_id.each do |host_id, trace|
|
30
|
-
needed_traces = trace.map(&:helper).join(',')
|
31
|
-
joined_helpers = { :helper => needed_traces }
|
32
|
-
composers << JobInvocationComposer.for_feature(:katello_service_restart, [host_id], joined_helpers)
|
33
|
-
end
|
34
|
-
else
|
35
|
-
traces_by_helper.each do |helper, trace|
|
36
|
-
helpers = { :helper => helper }
|
37
|
-
composers << JobInvocationComposer.for_feature(:katello_service_restart, trace.map(&:host_id), helpers)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
job_invocations = []
|
42
|
-
|
43
|
-
composers.each do |composer|
|
44
|
-
composer.trigger
|
45
|
-
job_invocations << composer.job_invocation
|
46
|
-
end
|
47
|
-
|
48
|
-
render json: job_invocations
|
21
|
+
traces = @host.host_traces.resolvable.where(id: params[:trace_ids])
|
22
|
+
fail HttpErrors::BadRequest, _("The requested traces were not found for this host") if traces.empty?
|
23
|
+
|
24
|
+
result = Katello::HostTraceManager.resolve_traces(traces)
|
25
|
+
|
26
|
+
task = ForemanTasks::Task.find(result.first.task_id)
|
27
|
+
|
28
|
+
respond_for_async(resource: task)
|
49
29
|
end
|
50
30
|
|
51
31
|
protected
|
@@ -6,7 +6,7 @@ module Katello
|
|
6
6
|
before_action :find_host_collections, :only => [:bulk_add_host_collections, :bulk_remove_host_collections]
|
7
7
|
before_action :find_environment, :only => [:environment_content_view]
|
8
8
|
before_action :find_content_view, :only => [:environment_content_view]
|
9
|
-
before_action :find_editable_hosts, :except => [:destroy_hosts, :applicable_errata, :installable_errata]
|
9
|
+
before_action :find_editable_hosts, :except => [:destroy_hosts, :applicable_errata, :installable_errata, :resolve_traces]
|
10
10
|
before_action :find_deletable_hosts, :only => [:destroy_hosts]
|
11
11
|
before_action :find_readable_hosts, :only => [:applicable_errata, :installable_errata, :available_incremental_updates]
|
12
12
|
before_action :find_errata, :only => [:available_incremental_updates]
|
@@ -230,6 +230,16 @@ module Katello
|
|
230
230
|
respond_for_index(:collection => collection, :template => '../../../api/v2/host_tracer/index')
|
231
231
|
end
|
232
232
|
|
233
|
+
api :PUT, "/hosts/bulk/resolve_traces", N_("Resolve traces for one or more hosts")
|
234
|
+
param_group :bulk_params
|
235
|
+
param :trace_ids, Array, :required => true, :desc => N_("Array of Trace IDs")
|
236
|
+
def resolve_traces
|
237
|
+
traces = Katello::HostTracer.resolvable.where(id: params[:trace_ids])
|
238
|
+
result = Katello::HostTraceManager.resolve_traces(traces)
|
239
|
+
|
240
|
+
render json: result
|
241
|
+
end
|
242
|
+
|
233
243
|
api :POST, "/hosts/bulk/available_incremental_updates", N_("Given a set of hosts and errata, lists the content view versions" \
|
234
244
|
" and environments that need updating.")
|
235
245
|
param_group :bulk_params
|
@@ -9,8 +9,12 @@ module Actions
|
|
9
9
|
|
10
10
|
def run
|
11
11
|
input[:host_ids].each do |host_id|
|
12
|
-
content_facet = ::Host.
|
13
|
-
content_facet.
|
12
|
+
content_facet = ::Katello::Host::ContentFacet.find_by_host_id(host_id)
|
13
|
+
if content_facet.present?
|
14
|
+
content_facet.calculate_and_import_applicability
|
15
|
+
else
|
16
|
+
Rails.logger.warn(_("Content Facet for host with id %s is non-existent. Skipping applicability calculation.") % host_id)
|
17
|
+
end
|
14
18
|
end
|
15
19
|
end
|
16
20
|
|
@@ -16,14 +16,16 @@ module Actions
|
|
16
16
|
solve_dependencies: solve_dependencies)
|
17
17
|
end
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
concurrence do
|
20
|
+
extended_repo_mapping.each do |source_repos, dest_repo_map|
|
21
|
+
if generate_metadata
|
22
|
+
metadata_generate(source_repos, dest_repo_map[:dest_repo], dest_repo_map[:filters])
|
23
|
+
end
|
22
24
|
end
|
23
|
-
end
|
24
25
|
|
25
|
-
|
26
|
-
|
26
|
+
extended_repo_mapping.values.each do |dest_repo_map|
|
27
|
+
plan_action(Katello::Repository::IndexContent, id: dest_repo_map[:dest_repo].id)
|
28
|
+
end
|
27
29
|
end
|
28
30
|
end
|
29
31
|
end
|
@@ -14,7 +14,7 @@ module Actions
|
|
14
14
|
content_view.repository_references.each do |repository_reference|
|
15
15
|
repo = repository_reference.root_repository.library_instance
|
16
16
|
#force pulp3 in case we've done migrations, but haven't switched over yet
|
17
|
-
tasks << repo.backend_service(smart_proxy, true).
|
17
|
+
tasks << repo.backend_service(smart_proxy, true).delete_repository(repository_reference)
|
18
18
|
end
|
19
19
|
content_view.repository_references.destroy_all
|
20
20
|
|
@@ -367,7 +367,7 @@ module Katello
|
|
367
367
|
pulp_uri = URI.parse(smart_proxy ? smart_proxy.url : SETTINGS[:katello][:pulp][:url])
|
368
368
|
scheme = (self.unprotected && !force_https) ? 'http' : 'https'
|
369
369
|
if docker?
|
370
|
-
"#{pulp_uri.host.downcase}
|
370
|
+
"#{pulp_uri.host.downcase}/#{container_repository_name}"
|
371
371
|
elsif file?
|
372
372
|
"#{scheme}://#{pulp_uri.host.downcase}/pulp/isos/#{relative_path}/"
|
373
373
|
elsif puppet?
|
@@ -330,7 +330,11 @@ module Katello
|
|
330
330
|
|
331
331
|
def format_arches
|
332
332
|
if content_type == ::Katello::Repository::DEB_TYPE
|
333
|
-
self.deb_architectures
|
333
|
+
# FIXME: This should be set to self.deb_architectures but it needs to have the
|
334
|
+
# subscription-manager PR https://github.com/candlepin/subscription-manager/pull/2213
|
335
|
+
# merged. Otherwise subscription-manager returns _NO_ debian repository as described in
|
336
|
+
# https://community.theforeman.org/t/katello-3-16-1-1-el7-subscription-manager-doesnt-create-rhsm-repos-for-ubuntu/20928/38
|
337
|
+
nil
|
334
338
|
else
|
335
339
|
self.arch == "noarch" ? nil : self.arch
|
336
340
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Katello
|
2
|
+
class HostTraceManager
|
3
|
+
def self.resolve_traces(traces)
|
4
|
+
traces.each do |trace|
|
5
|
+
if trace.reboot_required?
|
6
|
+
trace.helper = 'reboot'
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
traces_by_host_id = traces.group_by(&:host_id)
|
11
|
+
traces_by_helper = traces.group_by(&:helper)
|
12
|
+
|
13
|
+
composers = []
|
14
|
+
|
15
|
+
if traces_by_host_id.size < traces_by_helper.size
|
16
|
+
traces_by_host_id.each do |host_id, trace|
|
17
|
+
needed_traces = trace.map(&:helper).join(',')
|
18
|
+
joined_helpers = { :helper => needed_traces }
|
19
|
+
composers << ::JobInvocationComposer.for_feature(:katello_service_restart, [host_id], joined_helpers)
|
20
|
+
end
|
21
|
+
else
|
22
|
+
traces_by_helper.each do |helper, trace|
|
23
|
+
helpers = { :helper => helper }
|
24
|
+
composers << ::JobInvocationComposer.for_feature(:katello_service_restart, trace.map(&:host_id), helpers)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
job_invocations = []
|
29
|
+
|
30
|
+
composers.each do |composer|
|
31
|
+
composer.trigger
|
32
|
+
job_invocations << composer.job_invocation
|
33
|
+
end
|
34
|
+
|
35
|
+
job_invocations
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require "pulpcore_client"
|
2
|
-
|
3
2
|
module Katello
|
4
3
|
module Pulp3
|
5
4
|
class Repository
|
@@ -188,8 +187,9 @@ module Katello
|
|
188
187
|
api.repositories_api.read(repository_reference.try(:repository_href))
|
189
188
|
end
|
190
189
|
|
191
|
-
def
|
192
|
-
|
190
|
+
def delete_repository(repo_reference = repository_reference)
|
191
|
+
href = repo_reference.try(:repository_href)
|
192
|
+
repo_reference.try(:destroy)
|
193
193
|
ignore_404_exception { api.repositories_api.delete(href) } if href
|
194
194
|
end
|
195
195
|
|
@@ -154,8 +154,7 @@ module Katello
|
|
154
154
|
|
155
155
|
data_dup.config[i][:content] = leftover_units.pop(copy_amount)
|
156
156
|
unit_copy_counter += copy_amount
|
157
|
-
|
158
|
-
if unit_copy_counter >= UNIT_LIMIT || (i == data_dup.config.size - 1 && leftover_units.empty?)
|
157
|
+
if unit_copy_counter != 0
|
159
158
|
tasks << api.copy_api.copy_content(data_dup)
|
160
159
|
unit_copy_counter = 0
|
161
160
|
end
|
@@ -79,7 +79,7 @@ module Katello
|
|
79
79
|
|
80
80
|
def error
|
81
81
|
if task_data[:state] == CANCELED
|
82
|
-
|
82
|
+
_("Task canceled")
|
83
83
|
elsif task_data[:state] == FAILED
|
84
84
|
if task_data[:error][:description].blank?
|
85
85
|
_("Pulp task error")
|
@@ -90,8 +90,8 @@ module Katello
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def cancel
|
93
|
-
data = PulpcoreClient::
|
94
|
-
tasks_api.tasks_cancel(
|
93
|
+
data = PulpcoreClient::TaskResponse.new(state: 'canceled')
|
94
|
+
tasks_api.tasks_cancel(task_data['pulp_href'], data)
|
95
95
|
#the main task may have completed, so cancel spawned tasks too
|
96
96
|
task_data['spawned_tasks']&.each { |spawned| tasks_api.tasks_cancel(spawned['pulp_href'], data) }
|
97
97
|
end
|
@@ -73,6 +73,12 @@ module Katello
|
|
73
73
|
end
|
74
74
|
|
75
75
|
def cancel
|
76
|
+
tasks_api = ::Katello::Pulp3::Api::Core.new(@smart_proxy).tasks_api
|
77
|
+
tasks_response = tasks_api.list(task_group: task_group_data['pulp_href'])
|
78
|
+
data = PulpcoreClient::TaskResponse.new(state: 'canceled')
|
79
|
+
tasks_response.results.collect do |result|
|
80
|
+
tasks_api.tasks_cancel(result.pulp_href, data)
|
81
|
+
end
|
76
82
|
end
|
77
83
|
end
|
78
84
|
end
|
data/config/routes/api/v2.rb
CHANGED
@@ -304,12 +304,6 @@ Katello::Engine.routes.draw do
|
|
304
304
|
end
|
305
305
|
end
|
306
306
|
|
307
|
-
api_resources :traces, :only => [], :controller => 'host_tracer' do
|
308
|
-
collection do
|
309
|
-
put :resolve
|
310
|
-
end
|
311
|
-
end
|
312
|
-
|
313
307
|
api_resources :srpms, :only => [:index, :show], :controller => 'srpms' do
|
314
308
|
collection do
|
315
309
|
get :auto_complete_search
|
data/config/routes/overrides.rb
CHANGED
@@ -77,6 +77,7 @@ Foreman::Application.routes.draw do
|
|
77
77
|
match '/bulk/environment_content_view' => 'hosts_bulk_actions#environment_content_view', :via => :put
|
78
78
|
match '/bulk/release_version' => 'hosts_bulk_actions#release_version', :via => :put
|
79
79
|
match '/bulk/traces' => 'hosts_bulk_actions#traces', :via => :post
|
80
|
+
match '/bulk/resolve_traces' => 'hosts_bulk_actions#resolve_traces', :via => :put
|
80
81
|
match '/bulk/available_incremental_updates' => 'hosts_bulk_actions#available_incremental_updates', :via => :post
|
81
82
|
match '/bulk/module_streams' => 'hosts_bulk_actions#module_streams', :via => :post
|
82
83
|
match '/subscriptions/' => 'host_subscriptions#create', :via => :post
|
@@ -114,6 +115,9 @@ Foreman::Application.routes.draw do
|
|
114
115
|
end
|
115
116
|
|
116
117
|
resources :traces, :only => [:index], :controller => :host_tracer do
|
118
|
+
collection do
|
119
|
+
put :resolve
|
120
|
+
end
|
117
121
|
end
|
118
122
|
end
|
119
123
|
end
|
@@ -9,7 +9,6 @@
|
|
9
9
|
* @requires Nutupane
|
10
10
|
* @requires BastionConfig
|
11
11
|
* @requires hostIds
|
12
|
-
* @requires HostTracesResolve
|
13
12
|
* @required ContentHostsHelper
|
14
13
|
* @requires translate
|
15
14
|
*
|
@@ -18,8 +17,8 @@
|
|
18
17
|
*/
|
19
18
|
/*jshint camelcase:false*/
|
20
19
|
angular.module('Bastion.content-hosts').controller('ContentHostsBulkTracesController',
|
21
|
-
['$scope', '$uibModalInstance', 'HostBulkAction', 'Notification', 'Nutupane', 'BastionConfig', 'hostIds', '
|
22
|
-
function ($scope, $uibModalInstance, HostBulkAction, Notification, Nutupane, BastionConfig, hostIds,
|
20
|
+
['$scope', '$uibModalInstance', 'HostBulkAction', 'Notification', 'Nutupane', 'BastionConfig', 'hostIds', 'ContentHostsHelper', 'translate',
|
21
|
+
function ($scope, $uibModalInstance, HostBulkAction, Notification, Nutupane, BastionConfig, hostIds, ContentHostsHelper, translate) {
|
23
22
|
|
24
23
|
var tracesNutupane = new Nutupane(HostBulkAction, hostIds, 'traces');
|
25
24
|
tracesNutupane.enableSelectAllResults();
|
@@ -46,7 +45,7 @@ angular.module('Bastion.content-hosts').controller('ContentHostsBulkTracesContro
|
|
46
45
|
});
|
47
46
|
};
|
48
47
|
/* eslint-disable camelcase */
|
49
|
-
|
48
|
+
HostBulkAction.resolveTraces({trace_ids: traceids}, onSuccess, onFailure);
|
50
49
|
/* eslint-enable camelcase */
|
51
50
|
};
|
52
51
|
|
@@ -26,7 +26,8 @@ angular.module('Bastion.hosts').factory('HostBulkAction',
|
|
26
26
|
releaseVersion: {method: 'PUT', params: {action: 'release_version'}},
|
27
27
|
availableIncrementalUpdates: {method: 'POST', isArray: true, params: {action: 'available_incremental_updates'}},
|
28
28
|
moduleStreams: {method: 'POST', params: {action: 'module_streams'}},
|
29
|
-
traces: {method: 'POST', params: {action: 'traces'}}
|
29
|
+
traces: {method: 'POST', params: {action: 'traces'}},
|
30
|
+
resolveTraces: {method: 'PUT', isArray: true, params: {action: 'resolve_traces'}}
|
30
31
|
});
|
31
32
|
|
32
33
|
}]
|
@@ -208,7 +208,7 @@
|
|
208
208
|
<dt translate>Publish via HTTPS</dt>
|
209
209
|
<dd translate>Yes</dd>
|
210
210
|
|
211
|
-
<span ng-hide="repository.content_type === 'ostree'">
|
211
|
+
<span ng-hide="repository.content_type === 'ostree' || repository.content_type === 'docker'">
|
212
212
|
<dt translate>Publish via HTTP</dt>
|
213
213
|
<dd bst-edit-checkbox="repository.unprotected"
|
214
214
|
formatter="booleanToYesNo"
|
@@ -63,7 +63,7 @@
|
|
63
63
|
ng-model="repository.url"
|
64
64
|
type="text"/>
|
65
65
|
<p class="help-block" ng-show="repository.content_type === 'docker'" translate>
|
66
|
-
URL of the registry you want to sync. Example: https://registry-1.docker.io/
|
66
|
+
URL of the registry you want to sync. Example: https://registry-1.docker.io/ or https://quay.io/
|
67
67
|
</p>
|
68
68
|
<p class="help-block" ng-show="repository.content_type === 'ansible_collection'" translate>
|
69
69
|
Content synced depends on the specifity of the URL and/or the optional requirements.yaml specified below <a class="fa fa-question-circle" ng-show="repository.content_type === 'ansible_collection'"
|
@@ -144,7 +144,7 @@
|
|
144
144
|
ng-model="repository.docker_upstream_name"
|
145
145
|
type="text"/>
|
146
146
|
<p class="help-block" translate>
|
147
|
-
Name of the upstream repository you want to sync. Example: 'busybox' or 'fedora/ssh'.
|
147
|
+
Name of the upstream repository you want to sync. Example: 'quay/busybox' or 'fedora/ssh'.
|
148
148
|
</p>
|
149
149
|
|
150
150
|
</div>
|
@@ -27,6 +27,7 @@ Foreman::AccessControl.permission(:edit_hosts).actions.concat [
|
|
27
27
|
'katello/api/v2/hosts_bulk_actions/environment_content_view',
|
28
28
|
'katello/api/v2/hosts_bulk_actions/release_version',
|
29
29
|
'katello/api/v2/hosts_bulk_actions/traces',
|
30
|
+
'katello/api/v2/hosts_bulk_actions/resolve_traces',
|
30
31
|
'katello/api/rhsm/candlepin_dynflow_proxy/upload_package_profile',
|
31
32
|
'katello/api/rhsm/candlepin_dynflow_proxy/upload_profiles',
|
32
33
|
'katello/api/rhsm/candlepin_dynflow_proxy/deb_package_profile',
|
@@ -12,7 +12,7 @@ namespace :katello do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
desc "Reimports information from backend systems"
|
15
|
-
task :reimport => ["
|
15
|
+
task :reimport => ["dynflow:client", "katello:check_ping"] do
|
16
16
|
User.current = User.anonymous_admin #set a user for orchestration
|
17
17
|
Dir.glob(Katello::Engine.root.to_s + '/app/models/katello/*.rb').each { |file| require file }
|
18
18
|
|
data/lib/katello/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: katello
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.16.
|
4
|
+
version: 3.16.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- N/A
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -1349,6 +1349,7 @@ files:
|
|
1349
1349
|
- app/services/katello/event_daemon.rb
|
1350
1350
|
- app/services/katello/event_monitor/poller_thread.rb
|
1351
1351
|
- app/services/katello/event_queue.rb
|
1352
|
+
- app/services/katello/host_trace_manager.rb
|
1352
1353
|
- app/services/katello/managed_content_medium_provider.rb
|
1353
1354
|
- app/services/katello/product_content_finder.rb
|
1354
1355
|
- app/services/katello/product_content_importer.rb
|
@@ -4131,7 +4132,6 @@ files:
|
|
4131
4132
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-module-streams.factory.js
|
4132
4133
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-package.factory.js
|
4133
4134
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-subscription.factory.js
|
4134
|
-
- engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-traces-resolve.factory.js
|
4135
4135
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-traces.factory.js
|
4136
4136
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host.factory.js
|
4137
4137
|
- engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/hosts.module.js
|
@@ -1,18 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* @ngdoc service
|
3
|
-
* @name Bastion.hosts.factory:HostTracesResolve
|
4
|
-
*
|
5
|
-
* @requires BastionResource
|
6
|
-
*
|
7
|
-
* @description
|
8
|
-
* Provides a BastionResource for resolving traces on a set of systems.
|
9
|
-
*/
|
10
|
-
angular.module('Bastion.hosts').factory('HostTracesResolve',
|
11
|
-
['BastionResource', function (BastionResource) {
|
12
|
-
|
13
|
-
return BastionResource('katello/api/v2/traces/:action', {}, {
|
14
|
-
resolve: {method: 'PUT', isArray: true, params: {action: 'resolve'}}
|
15
|
-
});
|
16
|
-
|
17
|
-
}]
|
18
|
-
);
|