katello 4.0.0 → 4.0.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +5 -7
  3. data/app/controllers/katello/api/v2/repositories_controller.rb +4 -3
  4. data/app/lib/actions/katello/agent_action.rb +26 -17
  5. data/app/lib/actions/katello/bulk_agent_action.rb +18 -5
  6. data/app/lib/actions/katello/capsule_content/sync.rb +1 -1
  7. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +44 -6
  8. data/app/lib/actions/katello/content_view/promote.rb +25 -0
  9. data/app/lib/actions/katello/content_view/publish.rb +29 -0
  10. data/app/lib/actions/katello/content_view_version/incremental_update.rb +14 -3
  11. data/app/lib/actions/katello/jail_concern/content_view.rb +30 -0
  12. data/app/lib/actions/katello/jail_concern/organization.rb +30 -0
  13. data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +2 -2
  14. data/app/lib/actions/katello/repository/check_matching_content.rb +3 -4
  15. data/app/lib/actions/katello/repository/sync.rb +59 -0
  16. data/app/lib/actions/pulp3/content_guard/refresh.rb +6 -10
  17. data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +1 -1
  18. data/app/lib/katello/agent/client_message_handler.rb +12 -3
  19. data/app/lib/katello/errors.rb +1 -1
  20. data/app/lib/katello/event_daemon/monitor.rb +1 -0
  21. data/app/lib/katello/event_daemon/services/agent_event_receiver.rb +6 -10
  22. data/app/lib/katello/util/hostgroup_facets_helper.rb +126 -0
  23. data/app/models/katello/agent/dispatch_history.rb +2 -0
  24. data/app/models/katello/authorization/content_view.rb +12 -0
  25. data/app/models/katello/authorization/repository.rb +18 -0
  26. data/app/models/katello/concerns/hostgroup_extensions.rb +4 -2
  27. data/app/models/katello/concerns/redhat_extensions.rb +23 -18
  28. data/app/models/katello/concerns/smart_proxy_extensions.rb +23 -0
  29. data/app/models/katello/content_view.rb +13 -7
  30. data/app/models/katello/glue/pulp/repo.rb +0 -19
  31. data/app/models/katello/ping.rb +3 -10
  32. data/app/models/katello/repository.rb +16 -2
  33. data/app/models/katello/root_repository.rb +1 -1
  34. data/app/services/cert/certs.rb +4 -0
  35. data/app/services/katello/agent/dispatcher.rb +18 -24
  36. data/app/services/katello/applicability/applicable_content_helper.rb +8 -6
  37. data/app/services/katello/managed_content_medium_provider.rb +3 -3
  38. data/app/services/katello/pulp3/api/content_guard.rb +39 -5
  39. data/app/services/katello/pulp3/migration.rb +4 -3
  40. data/app/services/katello/pulp3/repository.rb +32 -4
  41. data/app/services/katello/pulp3/repository/apt.rb +1 -2
  42. data/app/services/katello/pulp3/repository/yum.rb +1 -1
  43. data/app/services/katello/ui_notifications/pulp/proxy_disk_space.rb +1 -0
  44. data/app/views/overrides/smart_proxies/_download_policy.erb +1 -1
  45. data/db/migrate/20200514092553_move_katello_fields_from_hostgroups.katello.rb +1 -1
  46. data/db/migrate/20210119162528_delete_puppet_and_ostree_repos.rb +25 -22
  47. data/db/migrate/20210512192745_fix_red_hat_root_repository_arch.rb +11 -0
  48. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-advanced-sync-modal.html +2 -2
  49. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +3 -4
  50. data/lib/katello.rb +1 -1
  51. data/lib/katello/engine.rb +11 -11
  52. data/lib/katello/plugin.rb +5 -2
  53. data/lib/katello/tasks/clean_backend_objects.rake +0 -25
  54. data/lib/katello/tasks/fix_hostgroup_facets.rake +8 -0
  55. data/lib/katello/version.rb +1 -1
  56. data/lib/proxy_api/container_gateway.rb +22 -11
  57. metadata +28 -10
  58. data/app/lib/actions/pulp3/capsule_content/refresh_content_guard.rb +0 -17
@@ -61,7 +61,7 @@ module Katello
61
61
  )
62
62
  unless distribution.results.first.variants.empty?
63
63
  unless distribution.results.first.variants.first.name.nil?
64
- repo.update!(:distribution_variant => distribution.results.first.variants.first.name)
64
+ repo.update!(:distribution_variant => distribution.results.first.variants.map(&:name).join(','))
65
65
  end
66
66
  end
67
67
  end
@@ -5,6 +5,7 @@ module Katello
5
5
  class << self
6
6
  def deliver!
7
7
  SmartProxy.unscoped.with_content.each do |proxy|
8
+ percentage = proxy.pulp_disk_usage[0]['percentage']
8
9
  if percentage < 90 && notification_already_exists?(proxy)
9
10
  blueprint.notifications.where(subject: proxy).destroy_all
10
11
  elsif update_notifications(proxy).empty? && percentage > 90
@@ -1,3 +1,3 @@
1
- <% if @smart_proxy.has_feature?(SmartProxy::PULP_NODE_FEATURE) %>
1
+ <% if @smart_proxy.pulp_mirror? %>
2
2
  <%= select_f(f, :download_policy, download_policies, :label, :name, :size => "col-md-8" ) %>
3
3
  <% end %>
@@ -46,7 +46,7 @@ class MoveKatelloFieldsFromHostgroups < ActiveRecord::Migration[6.0]
46
46
  content_facet.kickstart_repository_id = kickstart_repository_id
47
47
  content_facet.content_view_id = content_view_id
48
48
  content_facet.lifecycle_environment_id = lifecycle_environment_id
49
- unless content_facet.save
49
+ unless content_facet.save(validate: false)
50
50
  Rails.logger.warn("Unable to save content facet hostgroup for #{content_facet.inspect} ")
51
51
  Rails.logger.warn(content_facet.errors.full_messages.join("\n"))
52
52
  end
@@ -24,29 +24,32 @@ class DeletePuppetAndOstreeRepos < ActiveRecord::Migration[6.0]
24
24
  self.table_name = 'katello_ostree_branches'
25
25
  end
26
26
 
27
+ def puppet_repositories
28
+ puppet_query = "SELECT \"katello_repositories\".* FROM \"katello_repositories\"" \
29
+ " INNER JOIN \"katello_root_repositories\" ON \"katello_root_repositories\".\"id\" =" \
30
+ " \"katello_repositories\".\"root_id\" WHERE \"katello_root_repositories\".\"content_type\" = 'puppet'"
31
+ ::Katello::Repository.find_by_sql(puppet_query)
32
+ end
33
+
27
34
  def up
28
- if Katello::Repository.ostree_type.any? || Katello::Repository.puppet_type.any?
29
- User.as_anonymous_admin do
30
- FakeContentViewPuppetModule.delete_all
31
- FakeContentViewPuppetEnvironmentPuppetModule.delete_all
32
- FakeRepositoryPuppetModule.delete_all
33
-
34
- FakeContentViewPuppetEnvironment.delete_all
35
- FakePuppetModule.delete_all
36
-
37
- Katello::Repository.puppet_type.delete_all
38
-
39
- FakeRepositoryOstreeBranch.delete_all
40
- FakeOstreeBranch.delete_all
41
- Katello::Repository.ostree_type.where.not(:library_instance_id => nil, :environment_id => nil).destroy_all #CV LCE repos
42
- Katello::Repository.ostree_type.where.not(:library_instance_id => nil).destroy_all # archive repos
43
- Katello::Repository.ostree_type.destroy_all #all the rest (should just be library repos)
44
-
45
- Katello::ContentViewVersion.where.not(:content_counts => nil).each do |version|
46
- version.content_counts.except!('ostree', 'puppet_module')
47
- version.save
48
- end
49
- end
35
+ FakeContentViewPuppetModule.delete_all
36
+ FakeContentViewPuppetEnvironmentPuppetModule.delete_all
37
+ FakeRepositoryPuppetModule.delete_all
38
+
39
+ FakeContentViewPuppetEnvironment.delete_all
40
+ FakePuppetModule.delete_all
41
+
42
+ ::Katello::Repository.delete(puppet_repositories) if puppet_repositories.any?
43
+
44
+ FakeRepositoryOstreeBranch.delete_all
45
+ FakeOstreeBranch.delete_all
46
+ Katello::Repository.ostree_type.where.not(:library_instance_id => nil, :environment_id => nil).destroy_all #CV LCE repos
47
+ Katello::Repository.ostree_type.where.not(:library_instance_id => nil).destroy_all # archive repos
48
+ Katello::Repository.ostree_type.destroy_all #all the rest (should just be library repos)
49
+
50
+ Katello::ContentViewVersion.where.not(:content_counts => nil).each do |version|
51
+ version.content_counts.except!('ostree', 'puppet_module')
52
+ version.save
50
53
  end
51
54
  end
52
55
 
@@ -0,0 +1,11 @@
1
+ class FixRedHatRootRepositoryArch < ActiveRecord::Migration[6.0]
2
+ def up
3
+ ::Katello::RootRepository.
4
+ joins("INNER JOIN katello_contents ON katello_contents.cp_content_id = katello_root_repositories.content_id").
5
+ where.not(arch: 'noarch').where.not("katello_contents.content_url ILIKE '%$basearch%'").update(arch: 'noarch')
6
+ end
7
+
8
+ def down
9
+ fail ActiveRecord::IrreversibleMigration
10
+ end
11
+ end
@@ -12,7 +12,7 @@
12
12
 
13
13
  <div class="help-block">
14
14
  <span translate>
15
- Selecting "Complete Sync" will cause only Yum repositories of the selected product to be synced. Selecting "Validate Content" will cause only Yum repositories using the "Immediate" or "Background" download policies will be synced.
15
+ Selecting "Complete Sync" will cause only Yum repositories of the selected product to be synced. Selecting "Validate Content" will cause only Yum repositories using the "Immediate" download policy to be synced.
16
16
  </span>
17
17
  </div>
18
18
 
@@ -23,4 +23,4 @@
23
23
  <span translate>Sync</span>
24
24
  </button>
25
25
  </span>
26
- </div>
26
+ </div>
@@ -108,7 +108,7 @@
108
108
  ng-model="repository.deb_releases"
109
109
  type="text"/>
110
110
  <p class="help-block" translate>
111
- Comma separated list of releases (suite or codename) to sync from. Default: stable
111
+ Whitespace-separated list of releases (suite or codename) to sync from. Default: stable
112
112
  </p>
113
113
  </div>
114
114
  <div ng-show="repository.content_type === 'deb'" bst-form-group label="{{ 'Components' | translate }}">
@@ -117,7 +117,7 @@
117
117
  ng-model="repository.deb_components"
118
118
  type="text"/>
119
119
  <p class="help-block" translate>
120
- Comma separated list of components to sync from (leave clear to sync all). Example: main
120
+ Whitespace-separated list of components to sync from (leave clear to sync all). Example: main
121
121
  </p>
122
122
  </div>
123
123
  <div ng-show="repository.content_type === 'deb'" bst-form-group label="{{ 'Architectures' | translate }}">
@@ -126,7 +126,7 @@
126
126
  ng-model="repository.deb_architectures"
127
127
  type="text"/>
128
128
  <p class="help-block" translate>
129
- Comma separated list of processor architectures to filter the sync by. Example: amd64
129
+ Whitespace-separated list of processor architectures to filter the sync by. Example: amd64
130
130
  </p>
131
131
  </div>
132
132
 
@@ -216,7 +216,6 @@
216
216
  <p class="help-block" translate>
217
217
  For On Demand synchronization, only the metadata is downloaded during sync and packages are fetched and stored on the filesystem when clients request them.
218
218
  On Demand is not recommended for custom repositories unless the upstream repository maintains older versions of packages within the repository.
219
- For Background synchronization, a background task will download all packages after the initial sync (Deprecated).
220
219
  The Immediate option will download all metadata and packages immediately during the sync.
221
220
  </p>
222
221
  </div>
data/lib/katello.rb CHANGED
@@ -28,6 +28,6 @@ module Katello
28
28
  require "katello/engine"
29
29
 
30
30
  def self.pulp_server
31
- Katello::Pulp::Server.config(SETTINGS[:katello][:pulp][:url], User.remote_user)
31
+ Katello::Pulp::Server.config(::SmartProxy.pulp_primary.url + '/pulp/api/v2/', User.remote_user)
32
32
  end
33
33
  end
@@ -34,7 +34,6 @@ module Katello
34
34
  },
35
35
  :pulp => {
36
36
  :default_login => 'admin',
37
- :url => 'https://localhost/pulp/api/v2/',
38
37
  :bulk_load_size => 2000,
39
38
  :skip_checksum_validation => false,
40
39
  :upload_chunk_size => 1_048_575, # upload size in bytes to pulp. see SSLRenegBufferSize in apache
@@ -79,16 +78,6 @@ module Katello
79
78
  require 'katello/apipie/validators'
80
79
  end
81
80
 
82
- # make sure the Katello plugin is initialized before `after_initialize`
83
- # hook so that the resumed Dynflow tasks can rely on everything ready.
84
- initializer 'katello.register_plugin', :before => :finisher_hook, :after => 'foreman_remote_execution.register_plugin' do
85
- ::Foreman::AccessControl::Permission.prepend ::Katello::Concerns::PermissionExtensions
86
- require 'katello/plugin'
87
-
88
- # extend builtin permissions from core with new actions
89
- require 'katello/permissions'
90
- end
91
-
92
81
  initializer "katello.register_actions", :before => :finisher_hook do |_app|
93
82
  ForemanTasks.dynflow.require!
94
83
  if (Setting.table_exists? rescue(false)) && Setting['host_tasks_workers_pool_size'].to_i > 0
@@ -99,6 +88,17 @@ module Katello
99
88
  #{Katello::Engine.root}/app/lib/headpin/actions
100
89
  #{Katello::Engine.root}/app/lib/katello/actions)
101
90
  ForemanTasks.dynflow.config.eager_load_paths.concat(action_paths)
91
+ ForemanTasks.dynflow.eager_load_actions!
92
+ end
93
+
94
+ # make sure the Katello plugin is initialized before `after_initialize`
95
+ # hook so that the resumed Dynflow tasks can rely on everything ready.
96
+ initializer 'katello.register_plugin', :before => :finisher_hook, :after => 'foreman_remote_execution.register_plugin' do
97
+ ::Foreman::AccessControl::Permission.prepend ::Katello::Concerns::PermissionExtensions
98
+ require 'katello/plugin'
99
+
100
+ # extend builtin permissions from core with new actions
101
+ require 'katello/permissions'
102
102
  end
103
103
 
104
104
  initializer "katello.set_dynflow_middlewares", :before => :finisher_hook do |_app|
@@ -3,7 +3,7 @@ require 'katello/repository_types.rb'
3
3
  require 'katello/host_status_manager.rb'
4
4
  # rubocop:disable Metrics/BlockLength
5
5
  Foreman::Plugin.register :katello do
6
- requires_foreman '>= 2.3'
6
+ requires_foreman '>= 2.4'
7
7
 
8
8
  sub_menu :top_menu, :content_menu, :caption => N_('Content'),
9
9
  :icon => 'fa fa-book', :after => :monitor_menu do
@@ -229,7 +229,8 @@ Foreman::Plugin.register :katello do
229
229
  apipie_documented_controllers ["#{Katello::Engine.root}/app/controllers/katello/api/v2/*.rb"]
230
230
  apipie_ignored_controllers %w(::Api::V2::OrganizationsController)
231
231
  ApipieDSL.configuration.dsl_classes_matchers.concat [
232
- "#{Katello::Engine.root}/app/models/katello/**/*.rb"
232
+ "#{Katello::Engine.root}/app/models/katello/**/*.rb",
233
+ "#{Katello::Engine.root}/app/lib/actions/**/*.rb"
233
234
  ]
234
235
 
235
236
  parameter_filter ::Host::Managed, :host_collection_ids => [],
@@ -413,4 +414,6 @@ Foreman::Plugin.register :katello do
413
414
  precompile.concat(bastion_locale_files)
414
415
 
415
416
  precompile_assets(precompile)
417
+
418
+ extend_observable_events(::Dynflow::Action.descendants.select { |klass| klass <= ::Actions::ObservableAction }.map(&:namespaced_event_names))
416
419
  end
@@ -4,27 +4,18 @@ namespace :katello do
4
4
  class BackendCleaner
5
5
  def initialize
6
6
  @candlepin_uuids = []
7
- @pulp_uuids = []
8
7
  @katello_candlepin_uuids = []
9
- @katello_pulp_uuids = []
10
8
  end
11
9
 
12
10
  def populate!
13
11
  @candlepin_uuids = Katello::Resources::Candlepin::Consumer.all_uuids
14
12
  @katello_candlepin_uuids = Katello::Host::SubscriptionFacet.pluck(:uuid).compact
15
-
16
- @pulp_uuids = ::Katello.pulp_server.extensions.consumer.retrieve_all.map { |consumer| consumer['id'] }
17
- @katello_pulp_uuids = Katello::Host::ContentFacet.pluck(:uuid).compact
18
13
  end
19
14
 
20
15
  def hosts_with_no_subscriptions
21
16
  ::Host.where(:id => Katello::Host::SubscriptionFacet.where(:uuid => @katello_candlepin_uuids - @candlepin_uuids).select(:host_id))
22
17
  end
23
18
 
24
- def hosts_with_no_content
25
- ::Host.where(:id => Katello::Host::ContentFacet.where(:uuid => @katello_pulp_uuids - @pulp_uuids).select(:host_id))
26
- end
27
-
28
19
  def hosts_with_nil_facets
29
20
  nil_sub = Katello::Host::SubscriptionFacet.where(:uuid => nil).select(:host_id).to_sql
30
21
  ::Host.where(" id in (#{nil_sub})")
@@ -33,10 +24,6 @@ namespace :katello do
33
24
  def cp_orphaned_host_uuids
34
25
  @candlepin_uuids - @katello_candlepin_uuids
35
26
  end
36
-
37
- def pulp_orphaned_host_uuids
38
- @pulp_uuids - @katello_pulp_uuids
39
- end
40
27
  end
41
28
 
42
29
  def cleanup_hosts(cleaner)
@@ -49,11 +36,6 @@ namespace :katello do
49
36
  print "Host #{host.id} #{host.name} #{host.subscription_facet.try(:uuid)} is partially missing subscription information. Un-registering\n"
50
37
  execute("Failed to delete host") { Katello::RegistrationManager.unregister_host(host, host_unregister_options(host)) }
51
38
  end
52
-
53
- cleaner.hosts_with_no_content.each do |host|
54
- print "Host #{host.id} #{host.name} #{host.content_facet.try(:uuid)} is partially missing content information. Un-registering\n"
55
- execute("Failed to delete host") { Katello::RegistrationManager.unregister_host(host, host_unregister_options(host)) }
56
- end
57
39
  end
58
40
 
59
41
  def clean_backend_orphans(cleaner)
@@ -63,13 +45,6 @@ namespace :katello do
63
45
  cp_uuids.each do |consumer_id|
64
46
  execute("exception when destroying candlepin consumer #{consumer_id}") { Katello::Resources::Candlepin::Consumer.destroy(consumer_id) }
65
47
  end
66
-
67
- pulp_uuids = cleaner.pulp_orphaned_host_uuids
68
- print "#{pulp_uuids.count} orphaned consumer id(s) found in pulp.\n"
69
- print "Pulp orphaned consumers: #{pulp_uuids}\n"
70
- pulp_uuids.each do |consumer_id|
71
- execute("exception when destroying pulp consumer #{consumer_id}") { Katello.pulp_server.extensions.consumer.delete(consumer_id) }
72
- end
73
48
  end
74
49
 
75
50
  def host_unregister_options(host)
@@ -0,0 +1,8 @@
1
+ namespace :katello do
2
+ desc "This task collates hostgroup content facts that were missed during the upgrade from audit.\
3
+ It then updates the hostgroup content_facet accordingly."
4
+ task :fix_hostgroup_facets => :environment do
5
+ User.current = User.anonymous_admin
6
+ ::Katello::Util::HostgroupFacetsHelper.new.main
7
+ end
8
+ end
@@ -1,3 +1,3 @@
1
1
  module Katello
2
- VERSION = "4.0.0".freeze
2
+ VERSION = "4.0.2".freeze
3
3
  end
@@ -1,21 +1,32 @@
1
1
  module ProxyAPI
2
2
  class ContainerGateway < ::ProxyAPI::Resource
3
3
  def initialize(args)
4
- @url = args[:url] + "/container_gateway/v2"
4
+ @url = args[:url] + "/container_gateway"
5
5
  super args
6
6
  end
7
7
 
8
- def unauthenticated_repository_list(args = {})
9
- # get '/v2/unauthenticated_repository_list/?'
10
- # put '/v2/unauthenticated_repository_list/?'
11
- @url += "/unauthenticated_repository_list"
12
- if args.empty?
13
- @unauthenticated_repo_list = parse get
14
- else
15
- parse put(args)
16
- end
8
+ def repository_list(args)
9
+ # put '/v2/repository_list/?'
10
+ @url += "/repository_list"
11
+ parse put(args)
17
12
  rescue => e
18
- raise ::ProxyAPI::ProxyException.new(url, e, N_("Unable to perform unauthenticated repository list operation"))
13
+ raise ::ProxyAPI::ProxyException.new(url, e, N_("Unable to update the repository list"))
14
+ end
15
+
16
+ def user_repository_mapping(args)
17
+ # put '/v2/user_repository_mapping/?'
18
+ @url += "/user_repository_mapping"
19
+ parse put(args)
20
+ rescue => e
21
+ raise ::ProxyAPI::ProxyException.new(url, e, N_("Unable to update the user-repository mapping"))
22
+ end
23
+
24
+ def users
25
+ # get '/v2/users/?'
26
+ @url += "/users"
27
+ @users = parse get
28
+ rescue => e
29
+ raise ::ProxyAPI::ProxyException.new(url, e, N_("Unable to get users"))
19
30
  end
20
31
  end
21
32
  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: 4.0.0
4
+ version: 4.0.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: 2021-04-19 00:00:00.000000000 Z
11
+ date: 2021-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -84,16 +84,30 @@ dependencies:
84
84
  name: foreman-tasks
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '4.0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '4.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: foreman-tasks-core
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "<="
102
+ - !ruby/object:Gem::Version
103
+ version: 0.3.5
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "<="
109
+ - !ruby/object:Gem::Version
110
+ version: 0.3.5
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: foreman_remote_execution
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -354,20 +368,20 @@ dependencies:
354
368
  requirements:
355
369
  - - ">="
356
370
  - !ruby/object:Gem::Version
357
- version: 2.6.0
371
+ version: 2.9.0
358
372
  - - "<"
359
373
  - !ruby/object:Gem::Version
360
- version: 2.9.0
374
+ version: 2.10.0
361
375
  type: :runtime
362
376
  prerelease: false
363
377
  version_requirements: !ruby/object:Gem::Requirement
364
378
  requirements:
365
379
  - - ">="
366
380
  - !ruby/object:Gem::Version
367
- version: 2.6.0
381
+ version: 2.9.0
368
382
  - - "<"
369
383
  - !ruby/object:Gem::Version
370
- version: 2.9.0
384
+ version: 2.10.0
371
385
  - !ruby/object:Gem::Dependency
372
386
  name: pulp_rpm_client
373
387
  requirement: !ruby/object:Gem::Requirement
@@ -930,6 +944,8 @@ files:
930
944
  - app/lib/actions/katello/host/update_system_purpose.rb
931
945
  - app/lib/actions/katello/host/upload_package_profile.rb
932
946
  - app/lib/actions/katello/host/upload_profiles.rb
947
+ - app/lib/actions/katello/jail_concern/content_view.rb
948
+ - app/lib/actions/katello/jail_concern/organization.rb
933
949
  - app/lib/actions/katello/organization/create.rb
934
950
  - app/lib/actions/katello/organization/destroy.rb
935
951
  - app/lib/actions/katello/organization/manifest_delete.rb
@@ -1073,7 +1089,6 @@ files:
1073
1089
  - app/lib/actions/pulp3/abstract.rb
1074
1090
  - app/lib/actions/pulp3/abstract_async_task.rb
1075
1091
  - app/lib/actions/pulp3/capsule_content/generate_metadata.rb
1076
- - app/lib/actions/pulp3/capsule_content/refresh_content_guard.rb
1077
1092
  - app/lib/actions/pulp3/capsule_content/refresh_distribution.rb
1078
1093
  - app/lib/actions/pulp3/capsule_content/sync.rb
1079
1094
  - app/lib/actions/pulp3/content_guard/refresh.rb
@@ -1203,6 +1218,7 @@ files:
1203
1218
  - app/lib/katello/util/docker_manifest_clause_generator.rb
1204
1219
  - app/lib/katello/util/errata.rb
1205
1220
  - app/lib/katello/util/filter_clause_generator.rb
1221
+ - app/lib/katello/util/hostgroup_facets_helper.rb
1206
1222
  - app/lib/katello/util/http_proxy.rb
1207
1223
  - app/lib/katello/util/model.rb
1208
1224
  - app/lib/katello/util/module_stream_clause_generator.rb
@@ -2164,6 +2180,7 @@ files:
2164
2180
  - db/migrate/20210201163238_migrate_background_download_policy_to_migrate.rb
2165
2181
  - db/migrate/20210208213920_add_available_module_stream_context.rb
2166
2182
  - db/migrate/20210218214048_change_default_content_view_version_export_history.rb
2183
+ - db/migrate/20210512192745_fix_red_hat_root_repository_arch.rb
2167
2184
  - db/seeds.d/101-locations.rb
2168
2185
  - db/seeds.d/102-organizations.rb
2169
2186
  - db/seeds.d/104-proxy.rb
@@ -4518,6 +4535,7 @@ files:
4518
4535
  - lib/katello/tasks/clean_old_file_repos.rake
4519
4536
  - lib/katello/tasks/clean_published_repo_directories.rake
4520
4537
  - lib/katello/tasks/delete_orphaned_content.rake
4538
+ - lib/katello/tasks/fix_hostgroup_facets.rake
4521
4539
  - lib/katello/tasks/import_applicability.rake
4522
4540
  - lib/katello/tasks/import_subscriptions.rake
4523
4541
  - lib/katello/tasks/jenkins.rake
@@ -5194,7 +5212,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
5194
5212
  - !ruby/object:Gem::Version
5195
5213
  version: '0'
5196
5214
  requirements: []
5197
- rubygems_version: 3.1.4
5215
+ rubygems_version: 3.1.6
5198
5216
  signing_key:
5199
5217
  specification_version: 4
5200
5218
  summary: Content and Subscription Management plugin for Foreman