katello 4.0.3 → 4.1.0.rc1

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 (563) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/hosts/host_and_hostgroup_edit.js +0 -33
  3. data/app/assets/stylesheets/katello/contents.scss +1 -1
  4. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +5 -11
  5. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -9
  6. data/app/controllers/katello/api/v2/activation_keys_controller.rb +10 -24
  7. data/app/controllers/katello/api/v2/api_controller.rb +15 -3
  8. data/app/controllers/katello/api/v2/content_credentials_controller.rb +1 -1
  9. data/app/controllers/katello/api/v2/content_export_incrementals_controller.rb +1 -8
  10. data/app/controllers/katello/api/v2/content_exports_controller.rb +1 -14
  11. data/app/controllers/katello/api/v2/content_imports_controller.rb +38 -15
  12. data/app/controllers/katello/api/v2/content_uploads_controller.rb +1 -1
  13. data/app/controllers/katello/api/v2/content_view_components_controller.rb +22 -1
  14. data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +6 -1
  15. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +2 -59
  16. data/app/controllers/katello/api/v2/content_views_controller.rb +3 -58
  17. data/app/controllers/katello/api/v2/host_errata_controller.rb +7 -6
  18. data/app/controllers/katello/api/v2/host_packages_controller.rb +4 -4
  19. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +18 -22
  20. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +16 -16
  21. data/app/controllers/katello/api/v2/organizations_controller.rb +2 -1
  22. data/app/controllers/katello/api/v2/package_groups_controller.rb +4 -0
  23. data/app/controllers/katello/api/v2/repositories_controller.rb +13 -12
  24. data/app/controllers/katello/api/v2/repository_sets_controller.rb +50 -4
  25. data/app/controllers/katello/api/v2/subscriptions_controller.rb +7 -1
  26. data/app/controllers/katello/concerns/api/api_controller.rb +10 -0
  27. data/app/controllers/katello/concerns/api/v2/registration_commands_controller_extensions.rb +46 -0
  28. data/app/controllers/katello/concerns/api/v2/registration_controller_extensions.rb +8 -0
  29. data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +31 -22
  30. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +0 -8
  31. data/app/controllers/katello/concerns/organizations_controller_extensions.rb +1 -1
  32. data/app/controllers/katello/concerns/registration_commands_controller_extensions.rb +34 -0
  33. data/app/helpers/katello/katello_urls_helper.rb +23 -0
  34. data/app/lib/actions/candlepin/owner/import.rb +10 -3
  35. data/app/lib/actions/candlepin/product/content_update.rb +1 -1
  36. data/app/lib/actions/foreman/environment/destroy.rb +2 -2
  37. data/app/lib/actions/katello/agent_action.rb +1 -6
  38. data/app/lib/actions/katello/capsule_content/refresh_repos.rb +0 -7
  39. data/app/lib/actions/katello/capsule_content/sync.rb +1 -1
  40. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +1 -2
  41. data/app/lib/actions/katello/content_view/add_to_environment.rb +9 -7
  42. data/app/lib/actions/katello/content_view/incremental_updates.rb +3 -10
  43. data/app/lib/actions/katello/content_view/presenters/incremental_updates_presenter.rb +2 -3
  44. data/app/lib/actions/katello/content_view/promote_to_environment.rb +1 -4
  45. data/app/lib/actions/katello/content_view/publish.rb +21 -31
  46. data/app/lib/actions/katello/content_view_environment/destroy.rb +0 -5
  47. data/app/lib/actions/katello/content_view_version/auto_create_products.rb +22 -0
  48. data/app/lib/actions/katello/content_view_version/auto_create_repositories.rb +22 -0
  49. data/app/lib/actions/katello/content_view_version/destroy.rb +0 -10
  50. data/app/lib/actions/katello/content_view_version/export.rb +20 -22
  51. data/app/lib/actions/katello/content_view_version/import.rb +27 -13
  52. data/app/lib/actions/katello/content_view_version/import_library.rb +4 -2
  53. data/app/lib/actions/katello/content_view_version/incremental_update.rb +12 -67
  54. data/app/lib/actions/katello/content_view_version/republish_repositories.rb +0 -4
  55. data/app/lib/actions/katello/content_view_version/reset_content_view_repositories_from_metadata.rb +11 -0
  56. data/app/lib/actions/katello/foreman/content_update.rb +0 -3
  57. data/app/lib/actions/katello/host/auto_attach_subscriptions.rb +0 -4
  58. data/app/lib/actions/katello/organization/manifest_import.rb +7 -1
  59. data/app/lib/actions/katello/organization/manifest_refresh.rb +28 -7
  60. data/app/lib/actions/katello/orphan_cleanup/remove_orphans.rb +2 -2
  61. data/app/lib/actions/katello/product/create.rb +0 -1
  62. data/app/lib/actions/katello/repository/check_matching_content.rb +4 -3
  63. data/app/lib/actions/katello/repository/destroy.rb +1 -1
  64. data/app/lib/actions/katello/repository/discover.rb +1 -1
  65. data/app/lib/actions/katello/repository/filtered_index_content.rb +1 -4
  66. data/app/lib/actions/katello/repository/import_upload.rb +0 -1
  67. data/app/lib/actions/katello/repository/update.rb +0 -1
  68. data/app/lib/actions/middleware/record_smart_proxy_sync_history.rb +0 -5
  69. data/app/lib/actions/pulp/repository/create.rb +1 -7
  70. data/app/lib/actions/pulp/repository/distributor_publish.rb +2 -10
  71. data/app/lib/actions/pulp/repository/sync.rb +1 -3
  72. data/app/lib/actions/pulp3/capsule_content/refresh_content_guard.rb +17 -0
  73. data/app/lib/actions/pulp3/content_guard/refresh.rb +10 -6
  74. data/app/lib/actions/pulp3/content_view_version/create_export_history.rb +57 -0
  75. data/app/lib/actions/pulp3/content_view_version/create_import_history.rb +34 -0
  76. data/app/lib/actions/pulp3/orchestration/content_view_version/copy_version_units_to_library.rb +2 -3
  77. data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +34 -51
  78. data/app/lib/actions/pulp3/orchestration/content_view_version/export_library.rb +2 -2
  79. data/app/lib/actions/pulp3/orchestration/content_view_version/import.rb +13 -1
  80. data/app/lib/actions/pulp3/orchestration/orphan_cleanup/remove_orphans.rb +1 -1
  81. data/app/lib/actions/pulp3/orchestration/repository/sync.rb +1 -0
  82. data/app/lib/actions/pulp3/repository/refresh_remote.rb +17 -0
  83. data/app/lib/katello/agent/client_message_handler.rb +3 -11
  84. data/app/lib/katello/concerns/base_template_scope_extensions.rb +117 -3
  85. data/app/lib/katello/errors.rb +6 -11
  86. data/app/lib/katello/event_daemon/monitor.rb +0 -1
  87. data/app/lib/katello/event_daemon/runner.rb +2 -2
  88. data/app/lib/katello/event_daemon/services/agent_event_receiver.rb +10 -6
  89. data/app/lib/katello/http_resource.rb +1 -6
  90. data/app/lib/katello/logging.rb +11 -6
  91. data/app/lib/katello/qpid/connection.rb +1 -3
  92. data/app/lib/katello/repo_discovery.rb +15 -1
  93. data/app/lib/katello/resources/candlepin/owner.rb +3 -2
  94. data/app/lib/katello/resources/candlepin/pool.rb +6 -2
  95. data/app/lib/katello/resources/candlepin.rb +10 -0
  96. data/app/lib/katello/util/package.rb +1 -1
  97. data/app/lib/katello/util/pulpcore_content_filters.rb +1 -1
  98. data/app/lib/katello/validators/hostgroup_kickstart_repository_validator.rb +0 -6
  99. data/app/models/katello/authorization/content_view.rb +8 -0
  100. data/app/models/katello/authorization/content_view_version_import_history.rb +11 -0
  101. data/app/models/katello/concerns/content_facet_host_extensions.rb +1 -1
  102. data/app/models/katello/concerns/content_view_filter_rule_common.rb +2 -2
  103. data/app/models/katello/concerns/host_managed_extensions.rb +1 -32
  104. data/app/models/katello/concerns/hostgroup_extensions.rb +2 -9
  105. data/app/models/katello/concerns/http_proxy_extensions.rb +2 -4
  106. data/app/models/katello/concerns/location_extensions.rb +2 -25
  107. data/app/models/katello/concerns/operatingsystem_extensions.rb +0 -2
  108. data/app/models/katello/concerns/organization_extensions.rb +4 -18
  109. data/app/models/katello/concerns/redhat_extensions.rb +10 -18
  110. data/app/models/katello/concerns/smart_proxy_extensions.rb +6 -31
  111. data/app/models/katello/content_view.rb +17 -113
  112. data/app/models/katello/content_view_component.rb +5 -0
  113. data/app/models/katello/content_view_docker_filter_rule.rb +1 -0
  114. data/app/models/katello/content_view_package_filter_rule.rb +4 -0
  115. data/app/models/katello/content_view_package_group_filter.rb +1 -0
  116. data/app/models/katello/content_view_repository.rb +4 -5
  117. data/app/models/katello/content_view_version.rb +9 -33
  118. data/app/models/katello/content_view_version_export_history.rb +18 -4
  119. data/app/models/katello/content_view_version_import_history.rb +42 -0
  120. data/app/models/katello/erratum.rb +1 -1
  121. data/app/models/katello/events/delete_pool.rb +19 -0
  122. data/app/models/katello/glue/candlepin/environment.rb +7 -0
  123. data/app/models/katello/glue/candlepin/owner.rb +12 -1
  124. data/app/models/katello/glue/candlepin/pool.rb +42 -25
  125. data/app/models/katello/glue/provider.rb +3 -6
  126. data/app/models/katello/glue/pulp/repo.rb +19 -9
  127. data/app/models/katello/host/content_facet.rb +1 -0
  128. data/app/models/katello/host/subscription_facet.rb +3 -1
  129. data/app/models/katello/kt_environment.rb +0 -6
  130. data/app/models/katello/package_group.rb +4 -0
  131. data/app/models/katello/ping.rb +15 -4
  132. data/app/models/katello/pool.rb +9 -0
  133. data/app/models/katello/product.rb +0 -6
  134. data/app/models/katello/product_content.rb +3 -1
  135. data/app/models/katello/pulp_sync_status.rb +0 -10
  136. data/app/models/katello/repository.rb +20 -35
  137. data/app/models/katello/root_repository.rb +0 -5
  138. data/app/models/katello/subscription.rb +10 -0
  139. data/app/models/katello/sync_plan.rb +7 -0
  140. data/app/models/setting/content.rb +7 -8
  141. data/app/presenters/katello/content_view_version_compare_presenter.rb +2 -6
  142. data/app/presenters/katello/product_content_presenter.rb +3 -5
  143. data/app/services/cert/certs.rb +3 -7
  144. data/app/services/katello/applicability/applicable_content_helper.rb +1 -2
  145. data/app/services/katello/candlepin/event_handler.rb +22 -22
  146. data/app/services/katello/candlepin/message_handler.rb +24 -15
  147. data/app/services/katello/content_view_manager.rb +24 -0
  148. data/app/services/katello/event_monitor/poller_thread.rb +25 -20
  149. data/app/services/katello/managed_content_medium_provider.rb +4 -0
  150. data/app/services/katello/organization_creator.rb +120 -0
  151. data/app/services/katello/product_content_finder.rb +5 -1
  152. data/app/services/katello/pulp/pulp_content_unit.rb +6 -6
  153. data/app/services/katello/pulp/smart_proxy_repository.rb +2 -17
  154. data/app/services/katello/pulp3/api/ansible_collection.rb +14 -2
  155. data/app/services/katello/pulp3/api/apt.rb +1 -1
  156. data/app/services/katello/pulp3/api/content_guard.rb +6 -40
  157. data/app/services/katello/pulp3/api/core.rb +27 -2
  158. data/app/services/katello/pulp3/api/docker.rb +1 -1
  159. data/app/services/katello/pulp3/api/file.rb +5 -1
  160. data/app/services/katello/pulp3/api/yum.rb +9 -1
  161. data/app/services/katello/pulp3/content_view_version/export.rb +18 -40
  162. data/app/services/katello/pulp3/content_view_version/import.rb +75 -30
  163. data/app/services/katello/pulp3/content_view_version/import_gpg_keys.rb +32 -0
  164. data/app/services/katello/pulp3/content_view_version/import_validator.rb +53 -21
  165. data/app/services/katello/pulp3/content_view_version/importable_products.rb +47 -0
  166. data/app/services/katello/pulp3/content_view_version/importable_repositories.rb +52 -0
  167. data/app/services/katello/pulp3/content_view_version/metadata_generator.rb +99 -0
  168. data/app/services/katello/pulp3/pulp_content_unit.rb +1 -1
  169. data/app/services/katello/pulp3/repository/ansible_collection.rb +5 -1
  170. data/app/services/katello/pulp3/repository/apt.rb +2 -1
  171. data/app/services/katello/pulp3/repository/yum.rb +0 -16
  172. data/app/services/katello/pulp3/repository.rb +20 -1
  173. data/app/services/katello/pulp3/rpm.rb +5 -1
  174. data/app/services/katello/pulp3/task.rb +12 -5
  175. data/app/services/katello/pulp3/task_group.rb +10 -5
  176. data/app/services/katello/smart_proxy_helper.rb +1 -8
  177. data/app/services/katello/ui_notifications/pulp/proxy_disk_space.rb +0 -1
  178. data/app/services/katello/ui_notifications/system_error.rb +25 -0
  179. data/app/views/katello/api/v2/content_view_components/show.json.rabl +1 -1
  180. data/app/views/katello/api/v2/content_view_filters/show.json.rabl +0 -1
  181. data/app/views/katello/api/v2/{puppet_modules → content_view_version_import_histories}/index.json.rabl +1 -1
  182. data/app/views/katello/api/v2/content_view_version_import_histories/show.json.rabl +14 -0
  183. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +2 -2
  184. data/app/views/katello/api/v2/content_view_versions/show.json.rabl +0 -7
  185. data/app/views/katello/api/v2/content_views/base.json.rabl +20 -9
  186. data/app/views/katello/api/v2/environments/show.json.rabl +0 -1
  187. data/app/views/katello/api/v2/package_groups/index.json.rabl +4 -0
  188. data/app/views/katello/api/v2/repositories/base.json.rabl +0 -1
  189. data/app/views/katello/api/v2/repositories/show.json.rabl +1 -1
  190. data/app/views/katello/api/v2/repository_sets/index.json.rabl +4 -1
  191. data/app/views/katello/api/v2/repository_sets/show.json.rabl +22 -0
  192. data/app/views/katello/api/v2/subscriptions/show.json.rabl +1 -1
  193. data/app/views/overrides/activation_keys/_host_media_type_select.html.erb +1 -1
  194. data/app/views/overrides/smart_proxies/_download_policy.erb +1 -1
  195. data/config/initializers/monkeys.rb +0 -1
  196. data/config/katello.yaml.example +0 -1
  197. data/config/routes/api/v2.rb +9 -21
  198. data/config/routes/overrides.rb +1 -2
  199. data/db/migrate/20140422000001_update_products_add_organization.rb +3 -2
  200. data/db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb +2 -0
  201. data/db/migrate/20200514092553_move_katello_fields_from_hostgroups.katello.rb +1 -1
  202. data/db/migrate/20210119162528_delete_puppet_and_ostree_repos.rb +14 -20
  203. data/db/migrate/20210224160921_remove_disabled_products_from_sync_plans.rb +6 -0
  204. data/db/migrate/20210302165636_remove_katello_puppet_modules.rb +62 -0
  205. data/db/migrate/20210309160925_create_katello_content_view_version_import_histories.rb +13 -0
  206. data/db/migrate/20210318204533_add_import_type_to_import_histories.rb +8 -0
  207. data/db/migrate/20210319123300_add_foreign_keys_to_import_export_histories.rb +6 -0
  208. data/db/migrate/20210322142311_add_auth_url_token_to_root_repositories.rb +6 -0
  209. data/db/migrate/20210331180353_katello_pool_organization_id_not_nullable.rb +16 -0
  210. data/db/migrate/20210409033915_add_created_in_katello_to_taxonomy.rb +9 -0
  211. data/db/seeds.d/101-locations.rb +0 -3
  212. data/db/seeds.d/102-organizations.rb +1 -5
  213. data/db/seeds.d/109-katello-notification-blueprints.rb +12 -0
  214. data/db/seeds.d/111-upgrade_tasks.rb +3 -2
  215. data/engines/bastion/vendor/assets/javascripts/bastion/angular/angular.js +325 -156
  216. data/engines/bastion/vendor/assets/javascripts/bastion/angular-animate/angular-animate.js +3 -3
  217. data/engines/bastion/vendor/assets/javascripts/bastion/angular-resource/angular-resource.js +3 -3
  218. data/engines/bastion/vendor/assets/javascripts/bastion/angular-route/angular-route.js +3 -3
  219. data/engines/bastion/vendor/assets/javascripts/bastion/angular-sanitize/angular-sanitize.js +21 -43
  220. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +9 -10
  221. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +2 -9
  222. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +0 -1
  223. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +0 -3
  224. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +2 -0
  225. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +2 -0
  226. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +11 -4
  227. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +18 -11
  228. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-system-purpose-modal.html +10 -4
  229. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +2 -0
  230. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-actions.controller.js +5 -1
  231. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +7 -2
  232. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +7 -2
  233. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +6 -6
  234. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +7 -7
  235. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +14 -6
  236. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +5 -5
  237. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +0 -14
  238. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-repository-sets.controller.js +9 -11
  239. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -2
  240. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-repository-sets.html +2 -8
  241. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +3 -6
  242. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register.html +5 -0
  243. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-view.factory.js +0 -6
  244. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +0 -56
  245. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-available-content-views.html +0 -5
  246. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-content-views-list.html +0 -5
  247. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +2 -9
  248. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-info.html +0 -12
  249. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +0 -3
  250. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +2 -6
  251. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-versions.module.js +0 -1
  252. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +0 -7
  253. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/content.service.js +0 -5
  254. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.module.js +0 -1
  255. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.routes.js +0 -11
  256. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/environments.html +0 -3
  257. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +21 -6
  258. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +9 -0
  259. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +71 -311
  260. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +0 -10
  261. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +0 -1
  262. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +2 -4
  263. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +13 -15
  264. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +21 -7
  265. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +0 -9
  266. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +0 -6
  267. data/engines/bastion_katello/lib/bastion_katello/engine.rb +3 -3
  268. data/lib/katello/engine.rb +16 -15
  269. data/lib/katello/middleware/organization_created_enforcer.rb +22 -0
  270. data/lib/katello/permission_creator.rb +12 -28
  271. data/lib/katello/permissions/host_permissions.rb +3 -2
  272. data/lib/katello/plugin.rb +6 -19
  273. data/lib/katello/repository_types/ansible_collection.rb +1 -1
  274. data/lib/katello/repository_types/deb.rb +1 -1
  275. data/lib/katello/repository_types/docker.rb +1 -1
  276. data/lib/katello/repository_types/file.rb +1 -1
  277. data/lib/katello/repository_types/yum.rb +1 -1
  278. data/lib/katello/tasks/clean_backend_objects.rake +25 -0
  279. data/lib/katello/tasks/jenkins.rake +6 -0
  280. data/lib/katello/tasks/receptor/extract_orgs.rake +1 -3
  281. data/lib/katello/tasks/reimport.rake +0 -1
  282. data/lib/katello/tasks/repository.rake +0 -30
  283. data/lib/katello/tasks/update_subscription_facet_backend_data.rake +3 -3
  284. data/lib/katello/tasks/upgrades/4.0/remove_ostree_puppet_content.rake +2 -4
  285. data/lib/katello/tasks/upgrades/4.1/fix_invalid_pools.rake +62 -0
  286. data/lib/katello/tasks/upgrades/4.1/sync_noarch_content.rake +15 -0
  287. data/lib/katello/version.rb +1 -1
  288. data/lib/katello.rb +1 -1
  289. data/locale/action_names.rb +65 -63
  290. data/locale/bn/katello.edit.po +1357 -1606
  291. data/locale/bn/katello.po +465 -744
  292. data/locale/cs/katello.edit.po +1213 -1087
  293. data/locale/cs/katello.po +307 -219
  294. data/locale/de/katello.edit.po +1498 -1520
  295. data/locale/de/katello.po +589 -625
  296. data/locale/en/katello.edit.po +1198 -1074
  297. data/locale/en/katello.po +304 -213
  298. data/locale/es/katello.edit.po +2344 -2304
  299. data/locale/es/katello.po +1407 -1407
  300. data/locale/fr/katello.edit.po +2720 -2642
  301. data/locale/fr/katello.po +1703 -1750
  302. data/locale/gu/katello.edit.po +1546 -1797
  303. data/locale/gu/katello.po +654 -935
  304. data/locale/hi/katello.edit.po +1545 -1793
  305. data/locale/hi/katello.po +653 -931
  306. data/locale/it/katello.edit.po +1323 -1310
  307. data/locale/it/katello.po +407 -409
  308. data/locale/ja/katello.edit.po +2645 -2557
  309. data/locale/ja/katello.po +1646 -1664
  310. data/locale/katello.pot +1435 -1289
  311. data/locale/kn/katello.edit.po +1546 -1795
  312. data/locale/kn/katello.po +654 -933
  313. data/locale/ko/katello.edit.po +1464 -1449
  314. data/locale/ko/katello.po +554 -554
  315. data/locale/mr/katello.edit.po +1545 -1758
  316. data/locale/mr/katello.po +653 -896
  317. data/locale/or/katello.edit.po +1546 -1795
  318. data/locale/or/katello.po +654 -933
  319. data/locale/pa/katello.edit.po +1541 -1775
  320. data/locale/pa/katello.po +649 -913
  321. data/locale/pt/katello.edit.po +1289 -1255
  322. data/locale/pt/katello.po +398 -394
  323. data/locale/pt_BR/katello.edit.po +2370 -2315
  324. data/locale/pt_BR/katello.po +1435 -1421
  325. data/locale/ru/katello.edit.po +1611 -1608
  326. data/locale/ru/katello.po +704 -716
  327. data/locale/ta/katello.edit.po +1358 -1605
  328. data/locale/ta/katello.po +465 -742
  329. data/locale/te/katello.edit.po +1545 -1792
  330. data/locale/te/katello.po +653 -930
  331. data/locale/zh_CN/katello.edit.po +3052 -2930
  332. data/locale/zh_CN/katello.po +2055 -2039
  333. data/locale/zh_TW/katello.edit.po +1571 -1669
  334. data/locale/zh_TW/katello.po +649 -777
  335. data/package.json +2 -2
  336. data/webpack/{scenes/ContentViews/Details/Repositories/RepoAddedStatus.js → components/AddedStatusLabel.js} +5 -5
  337. data/webpack/components/RoutedTabs/RoutedTabs.js +91 -0
  338. data/webpack/components/RoutedTabs/__tests__/RoutedTabs.test.js +32 -0
  339. data/webpack/components/RoutedTabs/index.js +4 -0
  340. data/webpack/components/extensions/RegistrationCommands/RegistrationCommandsPageConstants.js +2 -0
  341. data/webpack/components/extensions/RegistrationCommands/RegistrationCommandsPageHelpers.js +21 -0
  342. data/webpack/components/extensions/RegistrationCommands/RegistrationCommandsPageSelectors.js +21 -0
  343. data/webpack/components/extensions/RegistrationCommands/__tests__/ActivationKeys.test.js +18 -0
  344. data/webpack/components/extensions/RegistrationCommands/__tests__/Force.test.js +9 -0
  345. data/webpack/components/extensions/RegistrationCommands/__tests__/IgnoreSubmanErrors.test.js +9 -0
  346. data/webpack/components/extensions/RegistrationCommands/__tests__/LifeCycleEnvironment.test.js +11 -0
  347. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/ActivationKeys.test.js.snap +58 -0
  348. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/Force.test.js.snap +25 -0
  349. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/IgnoreSubmanErrors.test.js.snap +25 -0
  350. data/webpack/components/extensions/RegistrationCommands/__tests__/__snapshots__/LifeCycleEnvironment.test.js.snap +27 -0
  351. data/webpack/components/extensions/RegistrationCommands/fields/ActivationKeys.js +99 -0
  352. data/webpack/components/extensions/RegistrationCommands/fields/Force.js +38 -0
  353. data/webpack/components/extensions/RegistrationCommands/fields/IgnoreSubmanErrors.js +38 -0
  354. data/webpack/components/extensions/RegistrationCommands/fields/LifecycleEnvironment.js +56 -0
  355. data/webpack/components/extensions/RegistrationCommands/index.js +81 -0
  356. data/webpack/components/pf3Table/formatters/EntitlementsInlineEditFormatter.js +23 -24
  357. data/webpack/components/pf3Table/formatters/__tests__/__snapshots__/EntitlementsInlineEditFormatter.test.js.snap +3 -1
  358. data/webpack/components/pf3Table/formatters/entitlementsValueFormatter.js +16 -0
  359. data/webpack/containers/Application/overrides.scss +3 -0
  360. data/webpack/fills_index.js +3 -0
  361. data/webpack/redux/reducers/RedHatRepositories/enabled.fixtures.js +0 -2
  362. data/webpack/scenes/ContentViews/ContentViewsConstants.js +8 -1
  363. data/webpack/scenes/ContentViews/Copy/__tests__/contentViewCopyResult.fixtures.json +1 -3
  364. data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +1 -3
  365. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentEnvironments.js +28 -0
  366. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentVersion.js +45 -0
  367. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +124 -0
  368. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.fixtures.json +161 -0
  369. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +163 -0
  370. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/unpublishedCVComponents.fixtures.json +64 -0
  371. data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +67 -7
  372. data/webpack/scenes/ContentViews/Details/ContentViewDetailSelectors.js +61 -4
  373. data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +34 -11
  374. data/webpack/scenes/ContentViews/Details/Filters/CVFilterDetailType.js +33 -0
  375. data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +117 -0
  376. data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +115 -0
  377. data/webpack/scenes/ContentViews/Details/Filters/ContentType.js +7 -10
  378. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetails.js +49 -0
  379. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilterDetailsHeader.js +56 -0
  380. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +3 -17
  381. data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +116 -0
  382. data/webpack/scenes/ContentViews/Details/Filters/__tests__/allFilterPackageGroups.fixtures.json +69 -0
  383. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetail.fixtures.json +103 -0
  384. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilterDetails.test.js +116 -0
  385. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterDetail.fixtures.json +147 -0
  386. data/webpack/scenes/ContentViews/Details/Filters/__tests__/cvPackageFilterRules.fixtures.json +30 -0
  387. data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +136 -0
  388. data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.fixtures.json +370 -0
  389. data/webpack/scenes/ContentViews/Details/Histories/__tests__/contentViewHistory.test.js +94 -0
  390. data/webpack/scenes/ContentViews/Details/Repositories/ContentCounts.js +0 -1
  391. data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +106 -13
  392. data/webpack/scenes/ContentViews/Details/Repositories/LastSync.js +11 -5
  393. data/webpack/scenes/ContentViews/Details/Repositories/RepoIcon.js +5 -1
  394. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +138 -0
  395. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewDetailRepos.fixtures.json +0 -2
  396. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewDetailRepos.test.js +1 -1
  397. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewRepoAdd.fixture.json +57 -0
  398. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionContent.js +73 -0
  399. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionEnvironments.js +31 -0
  400. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.js +64 -0
  401. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionErrata.scss +8 -0
  402. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersionPackages.js +0 -0
  403. data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +105 -0
  404. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.fixtures.json +728 -0
  405. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +154 -0
  406. data/webpack/scenes/ContentViews/Details/Versions/__tests__/emptyCVVersion.fixtures.json +13 -0
  407. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +3 -1
  408. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +0 -2
  409. data/webpack/scenes/ContentViews/Table/ContentViewVersionCell.js +33 -0
  410. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +17 -22
  411. data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +51 -102
  412. data/webpack/scenes/ContentViews/__tests__/basicContentViews.fixtures.js +5 -3
  413. data/webpack/scenes/ContentViews/__tests__/contentViewList.fixtures.json +30 -5
  414. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +95 -0
  415. data/webpack/scenes/ContentViews/components/ContentViewIcon.js +11 -5
  416. data/webpack/scenes/ContentViews/components/EnvironmentLabels.js +16 -0
  417. data/webpack/scenes/ContentViews/components/IconWithCount.js +1 -1
  418. data/webpack/scenes/ContentViews/components/InactiveText.js +15 -0
  419. data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +19 -1
  420. data/webpack/scenes/Subscriptions/Details/SubscriptionPurposeAttributes.js +1 -1
  421. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetailInfo.test.js.snap +1 -1
  422. data/webpack/scenes/Subscriptions/Details/__tests__/__snapshots__/SubscriptionDetails.test.js.snap +3 -3
  423. data/webpack/scenes/Subscriptions/Details/__tests__/subscriptionDetails.fixtures.js +1 -1
  424. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableHelpers.js +17 -0
  425. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/SubscriptionsTableSchema.js +2 -1
  426. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/SubscriptionsTable.test.js +1 -1
  427. data/webpack/scenes/Subscriptions/components/SubscriptionsTable/__tests__/__snapshots__/SubscriptionsTable.test.js.snap +144 -0
  428. data/webpack/scenes/Tasks/helpers.js +2 -2
  429. data/webpack/test-utils/react-testing-lib-wrapper.js +11 -3
  430. data/webpack/utils/__tests__/useParamsWithHash.test.js +22 -0
  431. data/webpack/utils/helpers.js +2 -0
  432. data/webpack/utils/paramsFromHash.js +16 -0
  433. data/webpack/utils/useUrlParams.js +14 -0
  434. metadata +122 -206
  435. data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +0 -82
  436. data/app/controllers/katello/api/v2/puppet_modules_controller.rb +0 -19
  437. data/app/controllers/katello/concerns/registration_controller_extensions.rb +0 -16
  438. data/app/helpers/katello/concerns/hosts_and_hostgroups_helper_extensions.rb +0 -20
  439. data/app/lib/actions/candlepin/owner/create.rb +0 -16
  440. data/app/lib/actions/katello/content_view_puppet_environment/clear.rb +0 -11
  441. data/app/lib/actions/katello/content_view_puppet_environment/clone.rb +0 -78
  442. data/app/lib/actions/katello/content_view_puppet_environment/clone_content_for_version.rb +0 -20
  443. data/app/lib/actions/katello/content_view_puppet_environment/create.rb +0 -34
  444. data/app/lib/actions/katello/content_view_puppet_environment/create_for_version.rb +0 -23
  445. data/app/lib/actions/katello/content_view_puppet_environment/destroy.rb +0 -28
  446. data/app/lib/actions/katello/content_view_puppet_module/destroy.rb +0 -46
  447. data/app/lib/actions/katello/environment/library_create.rb +0 -35
  448. data/app/lib/actions/katello/organization/create.rb +0 -38
  449. data/app/lib/actions/pulp/content_view_puppet_environment/copy_contents.rb +0 -36
  450. data/app/lib/actions/pulp/content_view_puppet_environment/index_content.rb +0 -19
  451. data/app/lib/actions/pulp/repository/presenters/puppet_presenter.rb +0 -54
  452. data/app/lib/actions/pulp3/content_migration.rb +0 -31
  453. data/app/lib/actions/pulp3/content_migration_presenter.rb +0 -59
  454. data/app/lib/actions/pulp3/content_migration_reset.rb +0 -22
  455. data/app/lib/katello/foreman.rb +0 -32
  456. data/app/lib/katello/mapping.rb +0 -31
  457. data/app/lib/katello/util/hostgroup_facets_helper.rb +0 -126
  458. data/app/lib/katello/validators/content_view_puppet_module_validator.rb +0 -32
  459. data/app/models/katello/concerns/environment_extensions.rb +0 -74
  460. data/app/models/katello/content_view_puppet_environment.rb +0 -116
  461. data/app/models/katello/content_view_puppet_environment_puppet_module.rb +0 -11
  462. data/app/models/katello/content_view_puppet_module.rb +0 -63
  463. data/app/models/katello/puppet_module.rb +0 -77
  464. data/app/models/katello/repository_puppet_module.rb +0 -7
  465. data/app/services/katello/pulp/puppet_module.rb +0 -21
  466. data/app/services/katello/pulp/repository/puppet.rb +0 -68
  467. data/app/services/katello/pulp3/migration.rb +0 -329
  468. data/app/services/katello/pulp3/migration_plan.rb +0 -178
  469. data/app/services/katello/pulp3/migration_switchover.rb +0 -126
  470. data/app/services/katello/puppet_class_importer_extensions.rb +0 -32
  471. data/app/views/foreman/hosts/_registration.html.erb +0 -12
  472. data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +0 -30
  473. data/app/views/katello/api/v2/content_view_puppet_modules/create.json.rabl +0 -3
  474. data/app/views/katello/api/v2/content_view_puppet_modules/index.json.rabl +0 -7
  475. data/app/views/katello/api/v2/content_view_puppet_modules/show.json.rabl +0 -9
  476. data/app/views/katello/api/v2/content_views/puppet_modules.json.rabl +0 -7
  477. data/app/views/katello/api/v2/host_subscriptions/content_override.json.rabl +0 -3
  478. data/app/views/katello/api/v2/host_subscriptions/product_content.json.rabl +0 -29
  479. data/app/views/katello/api/v2/puppet_modules/backend.json.rabl +0 -7
  480. data/app/views/katello/api/v2/puppet_modules/base.json.rabl +0 -9
  481. data/app/views/katello/api/v2/puppet_modules/compare.json.rabl +0 -10
  482. data/app/views/katello/api/v2/puppet_modules/name.json.rabl +0 -3
  483. data/app/views/katello/api/v2/puppet_modules/names.json.rabl +0 -7
  484. data/app/views/katello/api/v2/puppet_modules/show.json.rabl +0 -4
  485. data/db/migrate/20210512192745_fix_red_hat_root_repository_arch.rb +0 -11
  486. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register-client.directive.js +0 -6
  487. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register-os-client.directive.js +0 -17
  488. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register.controller.js +0 -44
  489. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-client.html +0 -28
  490. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-deb-client.html +0 -38
  491. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-oracle-client.html +0 -5
  492. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-sles-client.html +0 -28
  493. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-puppet-modules.controller.js +0 -9
  494. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-names.controller.js +0 -45
  495. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +0 -61
  496. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module.factory.js +0 -23
  497. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-modules.controller.js +0 -74
  498. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-names.html +0 -57
  499. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-versions.html +0 -64
  500. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-modules.html +0 -54
  501. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-puppet-modules.html +0 -19
  502. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-puppet-modules.html +0 -25
  503. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +0 -6903
  504. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +0 -7094
  505. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +0 -7303
  506. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +0 -6895
  507. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +0 -6865
  508. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +0 -6720
  509. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +0 -7077
  510. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +0 -6832
  511. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +0 -6766
  512. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +0 -6703
  513. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +0 -66
  514. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-content-views.controller.js +0 -44
  515. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-repositories.controller.js +0 -36
  516. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module.controller.js +0 -34
  517. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module-content-views.html +0 -41
  518. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module-info.html +0 -32
  519. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module-repositories.html +0 -52
  520. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module.html +0 -37
  521. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-module.factory.js +0 -28
  522. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.controller.js +0 -35
  523. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.module.js +0 -20
  524. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.routes.js +0 -71
  525. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/views/puppet-modules.html +0 -47
  526. data/lib/katello/repository_types/puppet.rb +0 -5
  527. data/lib/katello/tasks/fix_hostgroup_facets.rake +0 -8
  528. data/lib/katello/tasks/pulp3_content_switchover.rake +0 -32
  529. data/lib/katello/tasks/pulp3_migration.rake +0 -41
  530. data/lib/katello/tasks/pulp3_migration_abort.rake +0 -22
  531. data/lib/katello/tasks/pulp3_migration_reset.rake +0 -26
  532. data/lib/katello/tasks/pulp3_migration_stats.rake +0 -41
  533. data/lib/katello/tasks/pulp3_post_migration_check.rake +0 -51
  534. data/lib/monkeys/passenger_tee_input.rb +0 -20
  535. data/locale/bn/LC_MESSAGES/katello.mo +0 -0
  536. data/locale/cs/LC_MESSAGES/katello.mo +0 -0
  537. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  538. data/locale/en/LC_MESSAGES/katello.mo +0 -0
  539. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  540. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  541. data/locale/gu/LC_MESSAGES/katello.mo +0 -0
  542. data/locale/hi/LC_MESSAGES/katello.mo +0 -0
  543. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  544. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  545. data/locale/kn/LC_MESSAGES/katello.mo +0 -0
  546. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  547. data/locale/mr/LC_MESSAGES/katello.mo +0 -0
  548. data/locale/or/LC_MESSAGES/katello.mo +0 -0
  549. data/locale/pa/LC_MESSAGES/katello.mo +0 -0
  550. data/locale/pt/LC_MESSAGES/katello.mo +0 -0
  551. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  552. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  553. data/locale/ta/LC_MESSAGES/katello.mo +0 -0
  554. data/locale/te/LC_MESSAGES/katello.mo +0 -0
  555. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  556. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  557. data/webpack/components/TabWrapper/TabWrapper.js +0 -26
  558. data/webpack/components/TabWrapper/index.js +0 -3
  559. data/webpack/components/TabbedView/TabbedView.js +0 -38
  560. data/webpack/components/TabbedView/TabbedView.scss +0 -3
  561. data/webpack/components/TabbedView/index.js +0 -3
  562. data/webpack/scenes/ContentViews/expansions/EnvironmentsExpansion.js +0 -19
  563. data/webpack/scenes/ContentViews/expansions/VersionsExpansion.js +0 -11
@@ -97,10 +97,7 @@ module Katello
97
97
  data = Resources::Candlepin::UpstreamConsumer.export("#{url}#{upstream['uuid']}/export", upstream['idCert']['cert'],
98
98
  upstream['idCert']['key'], ca_file)
99
99
 
100
- File.open(zip_file_path, 'w') do |f|
101
- f.binmode
102
- f.write data
103
- end
100
+ File.write(zip_file_path, data, mode: 'wb')
104
101
 
105
102
  return true
106
103
  end
@@ -144,7 +141,7 @@ module Katello
144
141
  prod_content_importer.import
145
142
  end
146
143
 
147
- self.index_subscriptions(self.organization)
144
+ self.index_subscriptions
148
145
  prod_content_importer
149
146
  end
150
147
 
@@ -158,7 +155,7 @@ module Katello
158
155
  product
159
156
  end
160
157
 
161
- def index_subscriptions(organization = nil)
158
+ def index_subscriptions
162
159
  Katello::Subscription.import_all(organization)
163
160
  Katello::Pool.import_all(organization, false)
164
161
  end
@@ -1,7 +1,6 @@
1
1
  module Katello
2
2
  module Glue::Pulp::Repo
3
3
  # TODO: move into submodules
4
- # rubocop:disable Metrics/MethodLength
5
4
  def self.included(base)
6
5
  base.send :include, LazyAccessor
7
6
  base.send :include, InstanceMethods
@@ -74,6 +73,11 @@ module Katello
74
73
  pulp_repo_facts['content_unit_counts']['srpm']
75
74
  end
76
75
 
76
+ def uri
77
+ uri = URI.parse(SETTINGS[:katello][:pulp][:url])
78
+ "https://#{uri.host}/pulp/content/#{relative_path}"
79
+ end
80
+
77
81
  def to_hash
78
82
  pulp_repo_facts.merge(as_json).merge(:sync_state => sync_state)
79
83
  end
@@ -90,7 +94,6 @@ module Katello
90
94
  srpms.count != pulp_counts['srpm'].to_i ||
91
95
  errata.count != pulp_counts['erratum'].to_i ||
92
96
  package_groups.count != pulp_counts['package_group'].to_i ||
93
- puppet_modules.count != pulp_counts['puppet_module'].to_i ||
94
97
  docker_manifests.count != pulp_counts['docker_manifest'].to_i ||
95
98
  docker_tags.count != pulp_counts['docker_tag'].to_i ||
96
99
  ostree_branches.count != pulp_counts['ostree'].to_i
@@ -142,7 +145,6 @@ module Katello
142
145
  def content_types
143
146
  [Katello.pulp_server.extensions.errata,
144
147
  Katello.pulp_server.extensions.package_group,
145
- Katello.pulp_server.extensions.puppet_module,
146
148
  Katello.pulp_server.extensions.module_stream
147
149
  ]
148
150
  end
@@ -219,8 +221,6 @@ module Katello
219
221
  case content_type
220
222
  when Repository::YUM_TYPE
221
223
  "rpm"
222
- when Repository::PUPPET_TYPE
223
- "puppet_module"
224
224
  when Repository::DOCKER_TYPE
225
225
  "docker_manifest"
226
226
  when Repository::OSTREE_TYPE
@@ -242,10 +242,6 @@ module Katello
242
242
  self.content_type == Repository::DOCKER_TYPE
243
243
  end
244
244
 
245
- def puppet?
246
- self.content_type == Repository::PUPPET_TYPE
247
- end
248
-
249
245
  def file?
250
246
  self.content_type == Repository::FILE_TYPE
251
247
  end
@@ -359,5 +355,19 @@ module Katello
359
355
  end
360
356
  end
361
357
  end
358
+
359
+ def full_path(smart_proxy = nil, force_http = false)
360
+ pulp_uri = URI.parse(smart_proxy ? smart_proxy.url : SETTINGS[:katello][:pulp][:url])
361
+ scheme = force_http ? 'http' : 'https'
362
+ if docker?
363
+ "#{pulp_uri.host.downcase}/#{container_repository_name}"
364
+ elsif ostree?
365
+ "#{scheme}://#{pulp_uri.host.downcase}/pulp/content/web/#{relative_path}"
366
+ elsif ansible_collection?
367
+ "#{scheme}://#{pulp_uri.host.downcase}/pulp_ansible/galaxy/#{relative_path}/api"
368
+ else
369
+ "#{scheme}://#{pulp_uri.host.downcase}/pulp/content/#{relative_path}/"
370
+ end
371
+ end
362
372
  end
363
373
  end
@@ -242,6 +242,7 @@ module Katello
242
242
  name 'Content Facet'
243
243
  refs 'ContentFacet'
244
244
  sections only: %w[all additional]
245
+ desc "Content facet is an object containing the host's content-related metadata and associations"
245
246
  property :id, Integer, desc: 'Returns ID of the facet'
246
247
  property :uuid, String, desc: 'Returns UUID of the facet'
247
248
  property :applicable_module_stream_count, Integer, desc: 'Returns applicable Module Stream count'
@@ -36,6 +36,8 @@ module Katello
36
36
  DMI_UUID_ALLOWED_DUPS = ['', 'Not Settable', 'Not Present'].freeze
37
37
  DMI_UUID_OVERRIDE_PARAM = 'dmi_uuid_override'.freeze
38
38
 
39
+ delegate :content_overrides, to: :candlepin_consumer, allow_nil: true
40
+
39
41
  def host_type
40
42
  host_facts = self.host.facts
41
43
  host_facts["virt::host_type"] || host_facts["hypervisor::type"]
@@ -225,7 +227,7 @@ module Katello
225
227
 
226
228
  name = rhsm_facts['distribution.name']
227
229
  version = rhsm_facts['distribution.version']
228
- major, minor = version.split('.')
230
+ major, minor = version&.split('.')
229
231
  return host_os.name == 'CentOS' &&
230
232
  !host_os.major.nil? &&
231
233
  name == 'CentOS' &&
@@ -20,8 +20,6 @@ module Katello
20
20
  has_many :repositories, :class_name => "Katello::Repository", dependent: :destroy, foreign_key: :environment_id
21
21
  has_many :content_view_environments, :class_name => "Katello::ContentViewEnvironment",
22
22
  :foreign_key => :environment_id, :inverse_of => :environment, :dependent => :restrict_with_exception
23
- has_many :content_view_puppet_environments, :class_name => "Katello::ContentViewPuppetEnvironment",
24
- :foreign_key => :environment_id, :inverse_of => :environment, :dependent => :restrict_with_exception
25
23
  has_many :content_view_versions, :through => :content_view_environments, :inverse_of => :environments
26
24
  has_many :content_views, :through => :content_view_environments, :inverse_of => :environments
27
25
  has_many :content_view_histories, :class_name => "Katello::ContentViewHistory", :dependent => :destroy,
@@ -218,10 +216,6 @@ module Katello
218
216
  self.library? ? Product.in_org(self.organization) : Product.where(id: repositories.map(&:product_id))
219
217
  end
220
218
 
221
- def puppet_repositories
222
- self.repositories.readable.puppet_type
223
- end
224
-
225
219
  def as_json(_options = {})
226
220
  to_ret = self.attributes
227
221
  to_ret['prior'] = self.prior && self.prior.name
@@ -29,5 +29,9 @@ module Katello
29
29
  group = service_class.new(self.pulp_id)
30
30
  group.default_package_names + group.conditional_package_names + group.optional_package_names + group.mandatory_package_names
31
31
  end
32
+
33
+ def content_view_filters
34
+ Katello::ContentViewPackageGroupFilterRule.where(uuid: self.pulp_id).eager_load(:filter).map(&:filter)
35
+ end
32
36
  end
33
37
  end
@@ -5,10 +5,18 @@ module Katello
5
5
  PACKAGES = %w(katello candlepin pulp qpid foreman tfm hammer).freeze
6
6
 
7
7
  class << self
8
+ def pulpcore_enabled # for downstream 6.9, remove in 6.10
9
+ SETTINGS[:katello][:use_pulp_2_for_content_type].nil? || (!SETTINGS[:katello][:use_pulp_2_for_content_type][:yum] &&
10
+ !SETTINGS[:katello][:use_pulp_2_for_content_type][:docker] &&
11
+ !SETTINGS[:katello][:use_pulp_2_for_content_type][:file]) ||
12
+ system('systemctl is-enabled pulpcore-api.service &>/dev/null')
13
+ end
14
+
8
15
  def services(capsule_id = nil)
9
16
  proxy = fetch_proxy(capsule_id)
10
17
  services = [:candlepin, :candlepin_auth, :foreman_tasks, :katello_events, :candlepin_events]
11
- services += [:pulp3] if proxy&.pulp3_enabled?
18
+ services += [:pulp3] if proxy&.pulp3_enabled? && pulpcore_enabled
19
+ services += [:katello_agent] if ::Katello.with_katello_agent?
12
20
  if proxy.nil? || proxy.has_feature?(SmartProxy::PULP_NODE_FEATURE) || proxy.has_feature?(SmartProxy::PULP_FEATURE)
13
21
  services += [:pulp, :pulp_auth]
14
22
  end
@@ -25,7 +33,7 @@ module Katello
25
33
 
26
34
  if result[:status] != OK_RETURN_CODE
27
35
  failed_names = failed_services(result).keys
28
- fail("The following services have not been started or are reporting errors: #{failed_names.join(', ')}")
36
+ fail Katello::Errors::PingError, "The following services have not been started or are reporting errors: #{failed_names.join(', ')}"
29
37
  end
30
38
 
31
39
  result
@@ -65,7 +73,7 @@ module Katello
65
73
 
66
74
  def ping_katello_agent(result)
67
75
  exception_watch(result) do
68
- status = Katello::EventDaemon::Runner.service_status(:katello_agent_events)
76
+ status = Katello::EventDaemon::Services::AgentEventReceiver.status(refresh: false)
69
77
  event_daemon_status(status, result)
70
78
  end
71
79
  end
@@ -215,7 +223,7 @@ module Katello
215
223
  private
216
224
 
217
225
  def failed_services(result)
218
- result[:services].reject do |_name, details|
226
+ result[:services].select do |_name, details|
219
227
  details[:status] != OK_RETURN_CODE
220
228
  end
221
229
  end
@@ -248,9 +256,12 @@ module Katello
248
256
 
249
257
  def backend_status(url, backend)
250
258
  ca_file = SETTINGS[:katello][backend][:ca_cert_file]
259
+ request_id = ::Logging.mdc['request']
260
+
251
261
  options = {}
252
262
  options[:ssl_ca_file] = ca_file unless ca_file.nil?
253
263
  options[:verify_ssl] = SETTINGS[:katello][backend][:verify_ssl] if SETTINGS[:katello][backend].key?(:verify_ssl)
264
+ options[:headers] = { 'Correlation-ID' => request_id } if request_id
254
265
  client = RestClient::Resource.new("#{url}/status", options)
255
266
 
256
267
  response = client.get
@@ -50,6 +50,15 @@ module Katello
50
50
 
51
51
  validates_lengths_from_database
52
52
 
53
+ validates :subscription, :presence => true
54
+ validates :organization, :presence => true
55
+
56
+ validate :subscription_matches_organization
57
+
58
+ def subscription_matches_organization
59
+ errors.add(:base, _("A Pool and its Subscription cannot belong to different organizations")) unless subscription&.organization_id == self.organization_id
60
+ end
61
+
53
62
  DAYS_RECENTLY_EXPIRED = 30
54
63
 
55
64
  def redhat?
@@ -226,12 +226,6 @@ module Katello
226
226
  result.length > 0 ? result.total : 0
227
227
  end
228
228
 
229
- def total_puppet_module_count(env, view)
230
- repo_ids = view.repos(env).in_product(self).collect { |r| r.pulp_id }
231
- results = Katello::PuppetModule.legacy_search('', :page_size => 1, :repoids => repo_ids)
232
- results.empty? ? 0 : results.total
233
- end
234
-
235
229
  def self.humanize_class_name(_name = nil)
236
230
  _("Product and Repositories")
237
231
  end
@@ -16,8 +16,10 @@ module Katello
16
16
  }
17
17
 
18
18
  scoped_search :on => :name, :relation => :content
19
- scoped_search :on => :content_type, :relation => :content
19
+ scoped_search :on => :content_type, :relation => :content, :complete_value => true
20
20
  scoped_search :on => :label, :relation => :content
21
+ scoped_search :on => :content_url, :relation => :content, :rename => :path
22
+ scoped_search :on => :enabled, :rename => :enabled_by_default, :complete_value => { :true => true, :false => false }
21
23
  scoped_search :on => :name, :relation => :product, :rename => :product_name
22
24
  scoped_search :on => :id, :relation => :product, :rename => :product_id, :only_explicit => true
23
25
  scoped_search :on => :label, :relation => :content, :rename => :content_label
@@ -10,7 +10,6 @@ module Katello
10
10
  ht = HashUtil.new
11
11
 
12
12
  details = ht.null_safe_get(progress_attrs, nil, %w(progress_report yum_importer content)) ||
13
- ht.null_safe_get(progress_attrs, nil, %w(progress_report puppet_importer modules)) ||
14
13
  ht.null_safe_get(progress_attrs, nil, %w(progress_report details packages sync_report)) ||
15
14
  ht.null_safe_get(progress_attrs, nil, %w(progress_report iso_importer))
16
15
 
@@ -26,15 +25,6 @@ module Katello
26
25
  else
27
26
  @total_size = ht.null_safe_get(details, 0, ['size_total'])
28
27
  @size_left = ht.null_safe_get(details, 0, ['size_left'])
29
-
30
- if progress_attrs['progress_report']['puppet_importer']
31
- @total_count = ht.null_safe_get(details, 0, ['total_count'])
32
- finished_count = ht.null_safe_get(details, 0, ['finished_count'])
33
- @items_left = @total_count - finished_count
34
- else
35
- @total_count = ht.null_safe_get(details, 0, ['items_total'])
36
- @items_left = ht.null_safe_get(details, 0, ['items_left'])
37
- end
38
28
  end
39
29
 
40
30
  @error_details = errors(progress_attrs['progress_report'])
@@ -26,11 +26,12 @@ module Katello
26
26
  DEB_TYPE = 'deb'.freeze
27
27
  YUM_TYPE = 'yum'.freeze
28
28
  FILE_TYPE = 'file'.freeze
29
- PUPPET_TYPE = 'puppet'.freeze
30
29
  DOCKER_TYPE = 'docker'.freeze
31
30
  OSTREE_TYPE = 'ostree'.freeze
32
31
  ANSIBLE_COLLECTION_TYPE = 'ansible_collection'.freeze
33
32
 
33
+ EXPORTABLE_TYPES = [YUM_TYPE, FILE_TYPE, ANSIBLE_COLLECTION_TYPE].freeze
34
+
34
35
  define_model_callbacks :sync, :only => :after
35
36
 
36
37
  belongs_to :root, :inverse_of => :repositories, :class_name => "Katello::RootRepository"
@@ -60,9 +61,6 @@ module Katello
60
61
  has_many :files, :through => :repository_file_units, :source => :file_unit
61
62
  alias_attribute :file_units, :files
62
63
 
63
- has_many :repository_puppet_modules, :class_name => "Katello::RepositoryPuppetModule", :dependent => :delete_all
64
- has_many :puppet_modules, :through => :repository_puppet_modules
65
-
66
64
  has_many :repository_docker_manifests, :class_name => "Katello::RepositoryDockerManifest", :dependent => :delete_all
67
65
  has_many :docker_manifests, :through => :repository_docker_manifests
68
66
 
@@ -129,17 +127,22 @@ module Katello
129
127
  scope :deb_type, -> { with_type(DEB_TYPE) }
130
128
  scope :yum_type, -> { with_type(YUM_TYPE) }
131
129
  scope :file_type, -> { with_type(FILE_TYPE) }
132
- scope :puppet_type, -> { with_type(PUPPET_TYPE) }
133
130
  scope :docker_type, -> { with_type(DOCKER_TYPE) }
134
131
  scope :ostree_type, -> { with_type(OSTREE_TYPE) }
135
132
  scope :ansible_collection_type, -> { with_type(ANSIBLE_COLLECTION_TYPE) }
136
- scope :non_puppet, -> { with_type(RepositoryTypeManager.repository_types.keys - [PUPPET_TYPE]) }
137
133
  scope :non_archived, -> { where('environment_id is not NULL') }
138
134
  scope :archived, -> { where('environment_id is NULL') }
139
135
  scope :in_published_environments, -> { in_content_views(Katello::ContentView.non_default).where.not(:environment_id => nil) }
140
136
  scope :order_by_root, ->(attr) { joins(:root).order("#{Katello::RootRepository.table_name}.#{attr}") }
141
137
  scope :with_content, ->(content) { joins(Katello::RepositoryTypeManager.find_content_type(content).model_class.repository_association_class.name.demodulize.underscore.pluralize.to_sym).distinct }
142
138
  scope :by_rpm_count, -> { left_joins(:repository_rpms).group(:id).order("count(katello_repository_rpms.id) ASC") } # smallest count first
139
+ scope :exportable, -> { with_type(EXPORTABLE_TYPES) }
140
+ scope :immediate_or_none, -> do
141
+ immediate.or(where("#{RootRepository.table_name}.download_policy" => nil)).
142
+ or(where("#{RootRepository.table_name}.download_policy" => ""))
143
+ end
144
+ scope :redhat, -> { joins(:product => :provider).where("#{Provider.table_name}.provider_type": Provider::REDHAT) }
145
+ scope :custom, -> { joins(:product => :provider).where.not("#{Provider.table_name}.provider_type": Provider::REDHAT) }
143
146
 
144
147
  scoped_search :on => :name, :relation => :root, :complete_value => true
145
148
  scoped_search :rename => :product, :on => :name, :relation => :product, :complete_value => true
@@ -163,15 +166,16 @@ module Katello
163
166
  scoped_search :on => :content_label, :ext_method => :search_by_content_label
164
167
 
165
168
  delegate :product, :redhat?, :custom?, :to => :root
166
- delegate :yum?, :docker?, :puppet?, :deb?, :file?, :ostree?, :ansible_collection?, :to => :root
169
+ delegate :yum?, :docker?, :deb?, :file?, :ostree?, :ansible_collection?, :to => :root
167
170
  delegate :name, :label, :docker_upstream_name, :url, :download_concurrency, :to => :root
168
171
 
169
172
  delegate :name, :created_at, :updated_at, :major, :minor, :gpg_key_id, :gpg_key, :arch, :label, :url, :unprotected,
170
173
  :content_type, :product_id, :checksum_type, :docker_upstream_name, :mirror_on_sync, :"mirror_on_sync?",
171
174
  :download_policy, :verify_ssl_on_sync, :"verify_ssl_on_sync?", :upstream_username, :upstream_password,
172
175
  :ostree_upstream_sync_policy, :ostree_upstream_sync_depth, :deb_releases, :deb_components, :deb_architectures,
173
- :ssl_ca_cert_id, :ssl_ca_cert, :ssl_client_cert, :ssl_client_cert_id, :ssl_client_key_id,
174
- :ssl_client_key, :ignorable_content, :description, :docker_tags_whitelist, :ansible_collection_requirements, :http_proxy_policy, :http_proxy_id, :to => :root
176
+ :ssl_ca_cert_id, :ssl_ca_cert, :ssl_client_cert, :ssl_client_cert_id, :ssl_client_key_id, :os_versions,
177
+ :ssl_client_key, :ignorable_content, :description, :docker_tags_whitelist, :ansible_collection_requirements,
178
+ :ansible_collection_auth_url, :ansible_collection_auth_token, :http_proxy_policy, :http_proxy_id, :to => :root
175
179
 
176
180
  delegate :content_id, to: :root, allow_nil: true
177
181
 
@@ -395,20 +399,6 @@ module Katello
395
399
  all_instances
396
400
  end
397
401
 
398
- def full_path(smart_proxy = nil, force_http = false)
399
- pulp_uri = URI.parse(smart_proxy ? smart_proxy.url : ::SmartProxy.pulp_primary.url)
400
- scheme = force_http ? 'http' : 'https'
401
- if docker?
402
- "#{pulp_uri.host.downcase}/#{container_repository_name}"
403
- elsif ostree?
404
- "#{scheme}://#{pulp_uri.host.downcase}/pulp/content/web/#{relative_path}"
405
- elsif ansible_collection?
406
- "#{scheme}://#{pulp_uri.host.downcase}/pulp_ansible/galaxy/#{relative_path}/api"
407
- else
408
- "#{scheme}://#{pulp_uri.host.downcase}/pulp/content/#{relative_path}/"
409
- end
410
- end
411
-
412
402
  def to_hash(content_source = nil, force_http = false)
413
403
  {id: id, name: label, url: full_path(content_source, force_http)}
414
404
  end
@@ -621,18 +611,6 @@ module Katello
621
611
  root.url.present?
622
612
  end
623
613
 
624
- def name_conflicts
625
- if puppet?
626
- modules = PuppetModule.search("*", :repoids => self.pulp_id,
627
- :fields => [:name],
628
- :page_size => self.puppet_modules.count)
629
-
630
- modules.map(&:name).group_by(&:to_s).select { |_, v| v.size > 1 }.keys
631
- else
632
- []
633
- end
634
- end
635
-
636
614
  def related_resources
637
615
  self.product
638
616
  end
@@ -955,6 +933,13 @@ module Katello
955
933
  DockerMetaTag.cleanup_tags
956
934
  end
957
935
 
936
+ apipie :class, desc: "A class representing #{model_name.human} object" do
937
+ name 'Repository'
938
+ refs 'Repository'
939
+ sections only: %w[all additional]
940
+ prop_group :katello_basic_props, Katello::Model, meta: { friendly_name: 'Repository' }
941
+ property :docker_upstream_name, String, desc: 'Returns name of the upstream docker repository'
942
+ end
958
943
  class Jail < ::Safemode::Jail
959
944
  allow :name, :label, :docker_upstream_name
960
945
  end
@@ -99,7 +99,6 @@ module Katello
99
99
  scope :deb_type, -> { where(:content_type => Repository::DEB_TYPE) }
100
100
  scope :yum_type, -> { where(:content_type => Repository::YUM_TYPE) }
101
101
  scope :file_type, -> { where(:content_type => Repository::FILE_TYPE) }
102
- scope :puppet_type, -> { where(:content_type => Repository::PUPPET_TYPE) }
103
102
  scope :docker_type, -> { where(:content_type => Repository::DOCKER_TYPE) }
104
103
  scope :ostree_type, -> { where(:content_type => Repository::OSTREE_TYPE) }
105
104
  scope :ansible_collection_type, -> { where(:content_type => Repository::ANSIBLE_COLLECTION_TYPE) }
@@ -273,10 +272,6 @@ module Katello
273
272
  self.content_type == Repository::DOCKER_TYPE
274
273
  end
275
274
 
276
- def puppet?
277
- self.content_type == Repository::PUPPET_TYPE
278
- end
279
-
280
275
  def file?
281
276
  self.content_type == Repository::FILE_TYPE
282
277
  end
@@ -57,5 +57,15 @@ module Katello
57
57
  def self.humanize_class_name(_name = nil)
58
58
  _("Subscription")
59
59
  end
60
+
61
+ apipie :class, desc: "A class representing #{model_name.human} object" do
62
+ name 'Subscription'
63
+ refs 'Subscription'
64
+ sections only: %w[all additional]
65
+ prop_group :katello_idname_props, Katello::Model, meta: { friendly_name: 'Subscription' }
66
+ end
67
+ class Jail < ::Safemode::Jail
68
+ allow :id, :name
69
+ end
60
70
  end
61
71
  end
@@ -46,6 +46,13 @@ module Katello
46
46
  end
47
47
  end
48
48
 
49
+ def self.remove_disabled_product(repository)
50
+ if (product = repository.product) && product&.redhat? && (sync_plan = product&.sync_plan) && product&.repositories&.count == 1
51
+ sync_plan.product_ids = (sync_plan.product_ids - [product.id])
52
+ sync_plan.save!
53
+ end
54
+ end
55
+
49
56
  def product_enabled
50
57
  products.each do |product|
51
58
  errors.add :base, _("Can not add product %s because it is disabled.") % product.name unless product.enabled?
@@ -1,5 +1,4 @@
1
1
  class Setting::Content < Setting
2
- #rubocop:disable Metrics/MethodLength
3
2
  #rubocop:disable Metrics/AbcSize
4
3
 
5
4
  validate :content_default_http_proxy, if: proc { |s| s.name == 'content_default_http_proxy' && HttpProxy.table_exists? }
@@ -111,7 +110,9 @@ class Setting::Content < Setting
111
110
  "/etc/pki/katello/private/pulp-client.key", N_('Pulp client key')),
112
111
  self.set('pulp_client_cert', N_("Path for ssl cert used for pulp server auth"),
113
112
  "/etc/pki/katello/certs/pulp-client.crt", N_('Pulp client cert')),
114
- self.set('remote_execution_by_default', N_("If set to true, use the remote execution over katello-agent for remote actions"),
113
+ self.set('sync_connect_timeout', N_("Total timeout in seconds for connections when syncing"),
114
+ 300, N_('Sync Connection Timeout')),
115
+ self.set('remote_execution_by_default', N_("If set to true, use remote execution instead of katello-agent for remote actions"),
115
116
  false, N_('Use remote execution by default')),
116
117
  self.set('unregister_delete_host', N_("When unregistering a host via subscription-manager, also delete the host record. Managed resources linked to host " \
117
118
  "such as virtual machines and DNS records may also be deleted."),
@@ -124,10 +125,6 @@ class Setting::Content < Setting
124
125
  N_('Default Location where new subscribed hosts will put upon registration'),
125
126
  nil, N_('Default Location subscribed hosts'), nil,
126
127
  :collection => proc { Hash[Location.unscoped.all.map { |loc| [loc[:title], loc[:title]] }] }),
127
- self.set('default_location_puppet_content',
128
- N_('Default Location where new Puppet content will be put upon Content View publish'),
129
- nil, N_('Default Location Puppet content'), nil,
130
- :collection => proc { Hash[Location.unscoped.all.map { |loc| [loc[:title], loc[:title]] }] }),
131
128
  self.set('expire_soon_days', N_('The number of days remaining in a subscription before you will be reminded about renewing it.'),
132
129
  120, N_('Expire soon days')),
133
130
  self.set('content_view_solve_dependencies',
@@ -153,13 +150,15 @@ class Setting::Content < Setting
153
150
  self.set('autosearch_while_typing', N_('For pages that support it, automatically perform search while typing in search input.'),
154
151
  true, N_('Autosearch')),
155
152
  self.set('autosearch_delay', N_('If Autosearch is enabled, delay in milliseconds before executing searches while typing.'),
156
- 500, N_('Autosearch delay'))
153
+ 500, N_('Autosearch delay')),
154
+ self.set('bulk_load_size', N_('The number of items fetched from a single paged Pulp API call.'), 2000,
155
+ N_('Pulp bulk load size'))
157
156
  ]
158
157
  end
159
158
 
160
159
  def self.load_defaults
161
160
  BLANK_ATTRS.concat %w(register_hostname_fact default_location_subscribed_hosts
162
- default_location_puppet_content content_default_http_proxy host_dmi_uuid_duplicates cdn_ssl_version)
161
+ content_default_http_proxy host_dmi_uuid_duplicates cdn_ssl_version)
163
162
  super
164
163
  end
165
164
 
@@ -7,12 +7,8 @@ module Katello
7
7
  end
8
8
 
9
9
  def comparison
10
- if @item.is_a?(::Katello::PuppetModule)
11
- item_repos = @item.content_view_puppet_environments
12
- else
13
- item_repos = @item.repositories
14
- item_repos.where(:library_instance_id => @repository.id) if @repository
15
- end
10
+ item_repos = @item.repositories
11
+ item_repos.where(:library_instance_id => @repository.id) if @repository
16
12
 
17
13
  item_repos.map(&:content_view_version_id) & @versions.map(&:id)
18
14
  end
@@ -9,21 +9,19 @@ module Katello
9
9
  end
10
10
 
11
11
  def override
12
+ return 'default' if overrides.blank?
12
13
  override = overrides.find { |pc| pc.content_label == content.label && pc.name == "enabled" }
13
14
  override.nil? ? 'default' : override.value
14
15
  end
15
16
 
16
17
  def enabled_content_override
18
+ return nil if overrides.blank?
17
19
  overrides.find { |pc| pc.content_label == content.label && pc.name == "enabled" }
18
20
  end
19
21
 
20
22
  def content_overrides
23
+ return [] if overrides.blank?
21
24
  overrides.select { |pc| pc.content_label == content.label }
22
25
  end
23
-
24
- def legacy_content_override
25
- override = @overrides.find { |pc| pc.content_label == content.label && pc.name == "enabled" }
26
- override.nil? ? 'default' : override.value
27
- end
28
26
  end
29
27
  end
@@ -5,15 +5,11 @@ module Cert
5
5
  end
6
6
 
7
7
  def self.ca_cert
8
- File.open(Setting[:ssl_ca_file], 'r').read
9
- end
10
-
11
- def self.candlepin_client_ca_cert
12
- File.read(SETTINGS[:katello][:candlepin][:ca_cert_file])
8
+ File.read(Setting[:ssl_ca_file])
13
9
  end
14
10
 
15
11
  def self.ssl_client_cert
16
- @ssl_client_cert ||= OpenSSL::X509::Certificate.new(File.open(ssl_client_cert_filename, 'r').read)
12
+ @ssl_client_cert ||= OpenSSL::X509::Certificate.new(File.read(ssl_client_cert_filename))
17
13
  end
18
14
 
19
15
  def self.ssl_client_cert_filename
@@ -21,7 +17,7 @@ module Cert
21
17
  end
22
18
 
23
19
  def self.ssl_client_key
24
- @ssl_client_key ||= OpenSSL::PKey::RSA.new(File.open(ssl_client_key_filename, 'r').read)
20
+ @ssl_client_key ||= OpenSSL::PKey::RSA.new(File.read(ssl_client_key_filename))
25
21
  end
26
22
 
27
23
  def self.ssl_client_key_filename
@@ -92,8 +92,7 @@ module Katello
92
92
  ::Katello::ModuleStream.
93
93
  joins("inner join katello_available_module_streams on
94
94
  katello_module_streams.name = katello_available_module_streams.name and
95
- katello_module_streams.stream = katello_available_module_streams.stream and
96
- katello_module_streams.context = katello_available_module_streams.context").
95
+ katello_module_streams.stream = katello_available_module_streams.stream").
97
96
  joins("inner join katello_host_available_module_streams on
98
97
  katello_available_module_streams.id = katello_host_available_module_streams.available_module_stream_id").
99
98
  where("katello_host_available_module_streams.host_id = :content_facet_id and
@@ -8,30 +8,30 @@ module Katello
8
8
  end
9
9
 
10
10
  def handle(message)
11
- @logger.debug("message received from subscriptions queue ")
12
- @logger.debug("message subject: #{message.subject}")
13
-
14
11
  ::User.current = ::User.anonymous_admin
15
12
 
16
- @message_handler = ::Katello::Candlepin::MessageHandler.new(message)
17
-
18
- case message_handler.subject
19
- when /entitlement\.created/
20
- message_handler.import_pool
21
- message_handler.create_pool_on_host
22
- when /entitlement\.deleted/
23
- message_handler.import_pool
24
- message_handler.remove_pool_from_host
25
- when /pool\.created/
26
- message_handler.import_pool
27
- when /pool\.deleted/
28
- message_handler.delete_pool
29
- when /^compliance\.created/
30
- reindex_subscription_status
31
- when /system_purpose_compliance\.created/
32
- reindex_purpose_status
33
- when /owner_content_access_mode\.modified/
34
- message_handler.handle_content_access_mode_modified
13
+ Katello::Logging.time("candlepin event handled", logger: @logger) do |data|
14
+ data[:subject] = message.subject
15
+ @message_handler = ::Katello::Candlepin::MessageHandler.new(message)
16
+ data[:entity_id] = @message_handler.entity_id
17
+ case message_handler.subject
18
+ when /entitlement\.created/
19
+ message_handler.import_pool
20
+ message_handler.create_pool_on_host
21
+ when /entitlement\.deleted/
22
+ message_handler.import_pool
23
+ message_handler.remove_pool_from_host
24
+ when /pool\.created/
25
+ message_handler.import_pool
26
+ when /pool\.deleted/
27
+ message_handler.delete_pool
28
+ when /^compliance\.created/
29
+ reindex_subscription_status
30
+ when /system_purpose_compliance\.created/
31
+ reindex_purpose_status
32
+ when /owner_content_access_mode\.modified/
33
+ message_handler.handle_content_access_mode_modified
34
+ end
35
35
  end
36
36
  end
37
37