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.

Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/api/v2/host_tracer_controller.rb +16 -36
  3. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +11 -1
  4. data/app/lib/actions/katello/applicability/hosts/bulk_generate.rb +6 -2
  5. data/app/lib/actions/katello/repository/multi_clone_contents.rb +8 -6
  6. data/app/lib/actions/pulp3/abstract_async_task.rb +1 -0
  7. data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +1 -1
  8. data/app/lib/actions/pulp3/repository/delete.rb +1 -1
  9. data/app/models/katello/glue/pulp/repo.rb +1 -1
  10. data/app/models/katello/root_repository.rb +5 -1
  11. data/app/services/katello/host_trace_manager.rb +38 -0
  12. data/app/services/katello/pulp3/repository.rb +3 -3
  13. data/app/services/katello/pulp3/repository/yum.rb +1 -2
  14. data/app/services/katello/pulp3/task.rb +3 -3
  15. data/app/services/katello/pulp3/task_group.rb +6 -0
  16. data/config/routes/api/v2.rb +0 -6
  17. data/config/routes/overrides.rb +4 -0
  18. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +3 -4
  19. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +2 -1
  20. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +1 -1
  21. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +2 -2
  22. data/lib/katello/permissions/host_permissions.rb +1 -0
  23. data/lib/katello/tasks/reimport.rake +1 -1
  24. data/lib/katello/version.rb +1 -1
  25. metadata +3 -3
  26. 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: 808bc23ecac2fda98ac24ce30217831caa4977d250e759baf83ab78150db70f3
4
- data.tar.gz: 5531f14549ff16ea0f157a013ebf5ead92ab2acd5fa9a085face6f48fd0a3a50
3
+ metadata.gz: 7e3320c3167ac19ebd8119f1d4e58f0dcc141a4a18e4bccc98f1a4965e09262d
4
+ data.tar.gz: a9d5092691dca107610bfae636df54566cc07bf9fdf724d4c2e96312c3fdca9b
5
5
  SHA512:
6
- metadata.gz: 40a2c815ff331564ff218ce5d688183b4595d4c423e16f27cdb1d1cfb083bbaaa678d9d09cd5303cc6d56825bd300d33b2192dd5c51edf260a09b37aa7e5102f
7
- data.tar.gz: 785618e922bfa8a6f1a9675c4eccf2dc1d0e3038401ed9ac30ca1ddeb2294fbc2ba13987f07b08b96884aa90fcd1fd2a85acf18f28d2c9030a42782544941d0b
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, :only => :index
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 = Katello::HostTracer.resolvable.where(id: params[:trace_ids])
16
-
17
- traces.each do |trace|
18
- if trace.reboot_required?
19
- trace.helper = 'reboot'
20
- end
21
- end
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.find(host_id).content_facet
13
- content_facet.calculate_and_import_applicability
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
- extended_repo_mapping.each do |source_repos, dest_repo_map|
20
- if generate_metadata
21
- metadata_generate(source_repos, dest_repo_map[:dest_repo], dest_repo_map[:filters])
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
- extended_repo_mapping.values.each do |dest_repo_map|
26
- plan_action(Katello::Repository::IndexContent, id: dest_repo_map[:dest_repo].id)
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
@@ -74,6 +74,7 @@ module Actions
74
74
 
75
75
  def cancel
76
76
  pulp_tasks.each { |task| task.cancel }
77
+ task_groups.each { |task_group| task_group.cancel }
77
78
  end
78
79
 
79
80
  def rescue_external_task(error)
@@ -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).delete(repository_reference.repository_href)
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
 
@@ -8,7 +8,7 @@ module Actions
8
8
 
9
9
  def invoke_external_task
10
10
  repo = ::Katello::Repository.find(input[:repository_id])
11
- output[:response] = repo.backend_service(smart_proxy).delete
11
+ output[:response] = repo.backend_service(smart_proxy).delete_repository
12
12
  end
13
13
  end
14
14
  end
@@ -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}:#{Setting['pulp_docker_registry_port']}/#{container_repository_name}"
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 delete(href = repository_reference.try(:repository_href))
192
- repository_reference.try(:destroy)
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
- # Do copy call if limit is reached or if we're under the limit but on the last repo config.
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
- self.new(_("Task canceled"))
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::Task.new(state: 'canceled')
94
- tasks_api.tasks_cancel(pulp_task['pulp_href'], data)
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
@@ -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
@@ -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', 'HostTracesResolve', 'ContentHostsHelper', 'translate',
22
- function ($scope, $uibModalInstance, HostBulkAction, Notification, Nutupane, BastionConfig, hostIds, HostTracesResolve, ContentHostsHelper, translate) {
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
- HostTracesResolve.resolve({trace_ids: traceids}, onSuccess, onFailure);
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 => ["environment", "katello:check_ping"] do
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
 
@@ -1,3 +1,3 @@
1
1
  module Katello
2
- VERSION = "3.16.1.2".freeze
2
+ VERSION = "3.16.2".freeze
3
3
  end
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.1.2
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-10-04 00:00:00.000000000 Z
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
- );