katello 3.17.0.rc1 → 3.17.0.rc2

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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/katello/api/registry/registry_proxies_controller.rb +5 -3
  3. data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +1 -1
  4. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -2
  5. data/app/controllers/katello/api/v2/api_controller.rb +1 -1
  6. data/app/controllers/katello/api/v2/content_credentials_controller.rb +1 -1
  7. data/app/controllers/katello/api/v2/content_uploads_controller.rb +5 -5
  8. data/app/controllers/katello/api/v2/content_view_repositories_controller.rb +47 -0
  9. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +50 -19
  10. data/app/controllers/katello/api/v2/gpg_keys_controller.rb +1 -1
  11. data/app/controllers/katello/api/v2/host_tracer_controller.rb +0 -5
  12. data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +15 -0
  13. data/app/controllers/katello/api/v2/repositories_controller.rb +24 -14
  14. data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -1
  15. data/app/controllers/katello/concerns/api/v2/{associations_permission_check.rb → authorization.rb} +20 -2
  16. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +11 -5
  17. data/app/helpers/katello/content_view_helper.rb +1 -1
  18. data/app/lib/actions/candlepin/product/content_add.rb +1 -2
  19. data/app/lib/actions/katello/capsule_content/refresh_repos.rb +1 -1
  20. data/app/lib/actions/katello/capsule_content/sync.rb +2 -2
  21. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +17 -3
  22. data/app/lib/actions/katello/content_view/capsule_sync.rb +1 -1
  23. data/app/lib/actions/katello/content_view/destroy.rb +2 -2
  24. data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
  25. data/app/lib/actions/katello/content_view/promote_to_environment.rb +1 -0
  26. data/app/lib/actions/katello/content_view/publish.rb +12 -7
  27. data/app/lib/actions/katello/content_view_puppet_environment/clone.rb +1 -1
  28. data/app/lib/actions/katello/content_view_puppet_environment/create.rb +2 -2
  29. data/app/lib/actions/katello/content_view_version/incremental_update.rb +4 -4
  30. data/app/lib/actions/katello/organization/manifest_delete.rb +1 -0
  31. data/app/lib/actions/katello/organization/manifest_import.rb +1 -0
  32. data/app/lib/actions/katello/organization/manifest_refresh.rb +1 -0
  33. data/app/lib/actions/katello/product/content_create.rb +3 -3
  34. data/app/lib/actions/katello/product/destroy.rb +25 -4
  35. data/app/lib/actions/katello/repository/clone_contents.rb +3 -3
  36. data/app/lib/actions/katello/repository/clone_to_environment.rb +2 -2
  37. data/app/lib/actions/katello/repository/clone_to_version.rb +1 -1
  38. data/app/lib/actions/katello/repository/create.rb +1 -1
  39. data/app/lib/actions/katello/repository/destroy.rb +10 -4
  40. data/app/lib/actions/katello/repository/export.rb +3 -3
  41. data/app/lib/actions/katello/repository/finish_upload.rb +2 -2
  42. data/app/lib/actions/katello/repository/import_upload.rb +3 -3
  43. data/app/lib/actions/katello/repository/metadata_generate.rb +1 -1
  44. data/app/lib/actions/katello/repository/multi_clone_contents.rb +6 -10
  45. data/app/lib/actions/katello/repository/purge_empty_content.rb +1 -1
  46. data/app/lib/actions/katello/repository/remove_content.rb +1 -1
  47. data/app/lib/actions/katello/repository/sync.rb +35 -25
  48. data/app/lib/actions/katello/repository/update.rb +30 -19
  49. data/app/lib/actions/katello/repository/update_http_proxy_details.rb +1 -1
  50. data/app/lib/actions/katello/repository/update_metadata_sync.rb +1 -1
  51. data/app/lib/actions/katello/repository/upload_files.rb +2 -2
  52. data/app/lib/actions/katello/repository/verify_checksum.rb +28 -0
  53. data/app/lib/actions/pulp/content_view_puppet_environment/copy_contents.rb +1 -1
  54. data/app/lib/actions/pulp/orchestration/orphan_cleanup/remove_orphans.rb +1 -1
  55. data/app/lib/actions/pulp/orchestration/repository/sync.rb +2 -1
  56. data/app/lib/actions/pulp/repository/copy_all_units.rb +1 -1
  57. data/app/lib/actions/pulp/repository/copy_units.rb +1 -1
  58. data/app/lib/actions/pulp/repository/create.rb +1 -1
  59. data/app/lib/actions/pulp/repository/destroy.rb +1 -1
  60. data/app/lib/actions/pulp/repository/remove_units.rb +2 -2
  61. data/app/lib/actions/pulp/repository/sync.rb +3 -2
  62. data/app/lib/actions/pulp3/capsule_content/sync.rb +3 -1
  63. data/app/lib/actions/pulp3/content_guard/refresh_all_distributions.rb +19 -0
  64. data/app/lib/actions/pulp3/content_migration.rb +3 -3
  65. data/app/lib/actions/pulp3/content_view_version/create_exporter.rb +20 -0
  66. data/app/lib/actions/pulp3/content_view_version/destroy_exporter.rb +16 -0
  67. data/app/lib/actions/pulp3/content_view_version/export.rb +19 -0
  68. data/app/lib/actions/pulp3/import_migration.rb +3 -3
  69. data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +69 -0
  70. data/app/lib/actions/pulp3/orchestration/repository/copy_all_units.rb +1 -2
  71. data/app/lib/actions/pulp3/orchestration/repository/create.rb +1 -1
  72. data/app/lib/actions/pulp3/orchestration/repository/sync.rb +3 -1
  73. data/app/lib/actions/pulp3/orchestration/repository/trigger_update_repo_cert_guard.rb +22 -0
  74. data/app/lib/actions/pulp3/orchestration/repository/upload_content.rb +1 -1
  75. data/app/lib/actions/pulp3/repository/copy_content.rb +0 -1
  76. data/app/lib/actions/pulp3/repository/multi_copy_units.rb +2 -2
  77. data/app/lib/actions/pulp3/repository/presenters/repair_presenter.rb +85 -0
  78. data/app/lib/actions/pulp3/repository/refresh_distribution.rb +11 -5
  79. data/app/lib/actions/pulp3/repository/repair.rb +29 -0
  80. data/app/lib/actions/pulp3/repository/save_artifact.rb +1 -1
  81. data/app/lib/actions/pulp3/repository/save_distribution_references.rb +2 -2
  82. data/app/lib/actions/pulp3/repository/save_version.rb +20 -16
  83. data/app/lib/actions/pulp3/repository/save_versions.rb +1 -1
  84. data/app/lib/actions/pulp3/repository/sync.rb +1 -1
  85. data/app/lib/actions/pulp3/repository/update_cv_repository_cert_guard.rb +6 -2
  86. data/app/lib/actions/pulp3/repository/upload_file.rb +2 -2
  87. data/app/lib/katello/concerns/base_template_scope_extensions.rb +5 -3
  88. data/app/lib/katello/concerns/permission_extensions.rb +14 -0
  89. data/app/lib/katello/foreman.rb +1 -1
  90. data/app/lib/katello/resources/candlepin/product.rb +0 -11
  91. data/app/lib/katello/resources/registry.rb +3 -3
  92. data/app/models/katello/authorization/content_view_version_export_history.rb +11 -0
  93. data/app/models/katello/authorization/product.rb +4 -0
  94. data/app/models/katello/authorization/repository.rb +8 -0
  95. data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -1
  96. data/app/models/katello/concerns/organization_extensions.rb +6 -1
  97. data/app/models/katello/concerns/pulp_database_unit.rb +2 -2
  98. data/app/models/katello/concerns/redhat_extensions.rb +4 -2
  99. data/app/models/katello/concerns/smart_proxy_extensions.rb +33 -16
  100. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +1 -1
  101. data/app/models/katello/content_view.rb +1 -1
  102. data/app/models/katello/content_view_package_filter.rb +1 -1
  103. data/app/models/katello/content_view_puppet_environment.rb +1 -1
  104. data/app/models/katello/content_view_version.rb +3 -1
  105. data/app/models/katello/content_view_version_export_history.rb +22 -0
  106. data/app/models/katello/docker_meta_tag.rb +1 -1
  107. data/app/models/katello/errata_status.rb +21 -12
  108. data/app/models/katello/erratum.rb +1 -1
  109. data/app/models/katello/glue/candlepin/owner.rb +4 -2
  110. data/app/models/katello/glue/pulp/repo.rb +3 -1
  111. data/app/models/katello/host/content_facet.rb +8 -0
  112. data/app/models/katello/kt_environment.rb +1 -1
  113. data/app/models/katello/package_group.rb +1 -1
  114. data/app/models/katello/ping.rb +8 -3
  115. data/app/models/katello/pulp3/content_guard.rb +1 -1
  116. data/app/models/katello/purpose_status.rb +2 -2
  117. data/app/models/katello/repository.rb +23 -15
  118. data/app/models/katello/rhsm_fact_parser.rb +1 -1
  119. data/app/models/katello/root_repository.rb +2 -15
  120. data/app/models/katello/sync_plan.rb +8 -0
  121. data/app/models/setting/content.rb +3 -1
  122. data/app/services/cert/certs.rb +10 -2
  123. data/app/services/katello/candlepin/event_handler.rb +1 -0
  124. data/app/services/katello/host_status_manager.rb +7 -0
  125. data/app/services/katello/pulp/content.rb +1 -1
  126. data/app/services/katello/pulp/repository.rb +7 -7
  127. data/app/services/katello/pulp/repository/deb.rb +2 -2
  128. data/app/services/katello/pulp/repository/docker.rb +5 -5
  129. data/app/services/katello/pulp/repository/file.rb +2 -2
  130. data/app/services/katello/pulp/repository/ostree.rb +2 -2
  131. data/app/services/katello/pulp/repository/puppet.rb +2 -2
  132. data/app/services/katello/pulp/repository/yum.rb +5 -6
  133. data/app/services/katello/pulp/smart_proxy_repository.rb +1 -1
  134. data/app/services/katello/pulp3/ansible_collection.rb +2 -2
  135. data/app/services/katello/pulp3/api/core.rb +16 -0
  136. data/app/services/katello/pulp3/content.rb +3 -3
  137. data/app/services/katello/pulp3/content_view_version/export.rb +71 -0
  138. data/app/services/katello/pulp3/distribution.rb +2 -2
  139. data/app/services/katello/pulp3/docker_blob.rb +2 -2
  140. data/app/services/katello/pulp3/docker_manifest.rb +2 -2
  141. data/app/services/katello/pulp3/docker_manifest_list.rb +2 -2
  142. data/app/services/katello/pulp3/docker_tag.rb +2 -2
  143. data/app/services/katello/pulp3/erratum.rb +2 -2
  144. data/app/services/katello/pulp3/file_unit.rb +2 -2
  145. data/app/services/katello/pulp3/migration.rb +139 -34
  146. data/app/services/katello/pulp3/migration_plan.rb +50 -14
  147. data/app/services/katello/pulp3/migration_switchover.rb +41 -9
  148. data/app/services/katello/pulp3/module_stream.rb +2 -2
  149. data/app/services/katello/pulp3/package_group.rb +2 -2
  150. data/app/services/katello/pulp3/repository.rb +9 -9
  151. data/app/services/katello/pulp3/repository/docker.rb +18 -10
  152. data/app/services/katello/pulp3/repository/yum.rb +25 -13
  153. data/app/services/katello/pulp3/repository_mirror.rb +2 -1
  154. data/app/services/katello/pulp3/rpm.rb +2 -2
  155. data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +2 -2
  156. data/app/services/katello/pulp3/smart_proxy_repository.rb +1 -1
  157. data/app/services/katello/pulp3/srpm.rb +2 -2
  158. data/app/services/katello/pulp3/task_group.rb +1 -1
  159. data/app/services/katello/pulp3/yum_metadata_file.rb +2 -2
  160. data/app/services/katello/registration_manager.rb +9 -3
  161. data/app/services/katello/repository_type.rb +1 -1
  162. data/app/services/katello/smart_proxy_helper.rb +14 -17
  163. data/app/views/foreman/job_templates/install_errata_-_katello_ansible_default.erb +10 -2
  164. data/app/views/katello/api/v2/content_view_repositories/show_all.json.rabl +8 -0
  165. data/app/views/katello/api/v2/content_view_version_export_histories/index.json.rabl +7 -0
  166. data/app/views/katello/api/v2/content_view_version_export_histories/show.json.rabl +13 -0
  167. data/app/views/katello/api/v2/package_groups/show.json.rabl +1 -1
  168. data/app/views/katello/api/v2/packages/show.json.rabl +1 -1
  169. data/app/views/katello/api/v2/repositories/base.json.rabl +2 -1
  170. data/app/views/katello/api/v2/srpms/show.json.rabl +1 -1
  171. data/app/views/katello/api/v2/sync_plans/show.json.rabl +2 -1
  172. data/config/routes/api/rhsm.rb +1 -0
  173. data/config/routes/api/v2.rb +8 -1
  174. data/db/migrate/20200818040551_add_content_view_version_export_history.rb +13 -0
  175. data/db/migrate/20200818192230_update_system_purpose_status.rb +12 -0
  176. data/db/migrate/20200820145217_add_download_concurrency_to_katello_root_repositories.rb +5 -0
  177. data/db/migrate/20200910140340_remove_distribution_uuid.rb +5 -0
  178. data/db/migrate/20200914200906_remove_auto_enabled.rb +5 -0
  179. data/engines/bastion/app/assets/javascripts/bastion/bastion.js +1 -0
  180. data/engines/bastion/app/assets/javascripts/bastion/routing.module.js +1 -1
  181. data/engines/bastion/vendor/assets/javascripts/bastion/angular-ui-router/stateEvents.js +300 -0
  182. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.controller.js +1 -1
  183. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +1 -1
  184. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +1 -1
  185. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +1 -1
  186. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-products.controller.js +1 -1
  187. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-credentials/details/content-credential-repositories.controller.js +1 -1
  188. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +1 -1
  189. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-host-collections-modal.controller.js +1 -1
  190. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-module-streams-modal.controller.js +1 -1
  191. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-repository-sets-modal.controller.js +1 -1
  192. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-subscriptions-modal.controller.js +1 -1
  193. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-traces-modal.controller.js +1 -1
  194. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts-helper.service.js +1 -1
  195. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +1 -1
  196. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-installed.controller.js +1 -1
  197. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +1 -1
  198. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-module-streams.controller.js +1 -1
  199. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +1 -1
  200. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +1 -1
  201. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +1 -1
  202. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-host-collections.controller.js +1 -1
  203. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-subscriptions.controller.js +1 -1
  204. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +4 -2
  205. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-host-collections.controller.js +1 -1
  206. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-subscriptions.controller.js +1 -1
  207. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -2
  208. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.controller.js +1 -1
  209. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-available-content-views.controller.js +1 -1
  210. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-content-views-list.controller.js +1 -1
  211. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-docker-repositories.controller.js +1 -1
  212. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-ostree-repositories.controller.js +1 -1
  213. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-docker-repositories-list.controller.js +1 -1
  214. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-ostree-repositories-list.controller.js +1 -1
  215. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +1 -1
  216. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +1 -1
  217. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-package-group-filter.controller.js +1 -1
  218. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-names.controller.js +1 -1
  219. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +1 -1
  220. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-modules.controller.js +1 -1
  221. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +1 -1
  222. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +1 -1
  223. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +1 -1
  224. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-repositories.controller.js +1 -1
  225. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment-content.controller.js +1 -1
  226. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-repositories.controller.js +1 -1
  227. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-content-views.controller.js +1 -1
  228. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-repositories.controller.js +1 -1
  229. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +1 -1
  230. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.controller.js +1 -1
  231. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +57 -12
  232. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +45 -8
  233. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +42 -5
  234. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +36 -0
  235. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +36 -0
  236. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +36 -0
  237. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +45 -8
  238. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +36 -0
  239. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +36 -0
  240. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +36 -0
  241. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +4 -4
  242. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +11 -2
  243. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/organization-selector.controller.js +5 -14
  244. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/ostree-branch-repositories.controller.js +1 -1
  245. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/package-repositories.controller.js +1 -1
  246. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.controller.js +1 -1
  247. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/product-bulk-action.factory.js +1 -0
  248. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-sync-plan-modal.controller.js +1 -1
  249. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +1 -1
  250. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +1 -1
  251. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +6 -0
  252. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +7 -1
  253. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +0 -9
  254. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +1 -1
  255. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +0 -11
  256. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +1 -0
  257. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +16 -1
  258. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +6 -0
  259. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-content-views.controller.js +1 -1
  260. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/puppet-module-repositories.controller.js +1 -1
  261. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.controller.js +1 -1
  262. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-details-info.controller.js +4 -3
  263. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-info.html +1 -1
  264. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.controller.js +1 -1
  265. data/lib/katello/engine.rb +2 -0
  266. data/lib/katello/permission_creator.rb +14 -9
  267. data/lib/katello/tasks/clean_published_repo_directories.rake +3 -3
  268. data/lib/katello/tasks/pulp3_content_switchover.rake +24 -6
  269. data/lib/katello/tasks/pulp3_migration.rake +4 -2
  270. data/lib/katello/tasks/pulp3_post_migration_check.rake +2 -2
  271. data/lib/katello/tasks/reimport.rake +1 -1
  272. data/lib/katello/tasks/repository.rake +15 -2
  273. data/lib/katello/tasks/unify_hosts.rake +1 -0
  274. data/lib/katello/tasks/upgrades/3.11/update_puppet_repos.rake +3 -3
  275. data/lib/katello/tasks/upgrades/3.12/remove_pulp2_notifier.rake +2 -2
  276. data/lib/katello/tasks/upgrades/3.8/clear_checksum_type.rake +2 -2
  277. data/lib/katello/version.rb +1 -1
  278. data/locale/action_names.rb +47 -47
  279. data/locale/katello.pot +160 -160
  280. data/webpack/containers/Application/config.js +4 -4
  281. data/webpack/redux/actions/RedHatRepositories/helpers.js +1 -1
  282. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +22 -32
  283. data/webpack/scenes/Subscriptions/Manifest/__tests__/SimpleContentAccess.test.js +0 -14
  284. data/webpack/scenes/Subscriptions/Manifest/index.js +2 -5
  285. data/webpack/scenes/Subscriptions/SubscriptionReducer.js +15 -6
  286. data/webpack/scenes/Subscriptions/SubscriptionsPage.js +0 -1
  287. data/webpack/scenes/Subscriptions/SubscriptionsSelectors.js +3 -0
  288. data/webpack/scenes/Subscriptions/__tests__/SubscriptionsReducer.test.js +24 -0
  289. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsReducer.test.js.snap +114 -26
  290. metadata +67 -33
  291. data/app/lib/actions/candlepin/product/content_update_enablement.rb +0 -18
  292. data/app/lib/actions/katello/repository/content_update.rb +0 -41
  293. data/app/lib/actions/katello/repository/update_cv_repo_cert_guard.rb +0 -17
@@ -130,7 +130,7 @@ module Katello
130
130
  end
131
131
 
132
132
  def self.cleanup_tags
133
- self.where(:schema2_id => nil, :schema1_id => nil).delete_all
133
+ self.where("id not in (?) OR (schema2_id IS NULL AND schema1_id IS NULL)", Katello::RepositoryDockerMetaTag.pluck(:docker_meta_tag_id) + [0]).delete_all
134
134
  end
135
135
 
136
136
  def self.import_meta_tags(repositories)
@@ -9,17 +9,28 @@ module Katello
9
9
  N_("Errata")
10
10
  end
11
11
 
12
+ def errata_status_installable
13
+ @installable ||= Setting[:errata_status_installable]
14
+ end
15
+
16
+ def profiles_reporter_package_name
17
+ if host.content_facet.host_tools_installed?
18
+ Katello::Host::ContentFacet::HOST_TOOLS_PACKAGE_NAME
19
+ else
20
+ Katello::Host::ContentFacet::SUBSCRIPTION_MANAGER_PACKAGE_NAME
21
+ end
22
+ end
23
+
12
24
  def to_label(_options = {})
13
- installable = Setting[:errata_status_installable]
14
25
  case status
15
26
  when NEEDED_SECURITY_ERRATA
16
- installable ? N_("Security errata installable") : N_("Security errata applicable")
27
+ errata_status_installable ? N_("Security errata installable") : N_("Security errata applicable")
17
28
  when NEEDED_ERRATA
18
- installable ? N_("Non-security errata installable") : N_("Non-security errata applicable")
29
+ errata_status_installable ? N_("Non-security errata installable") : N_("Non-security errata applicable")
19
30
  when UP_TO_DATE
20
31
  N_("All errata applied")
21
32
  when UNKNOWN
22
- N_("Could not calculate errata status, ensure host is registered and the katello-host-tools package is installed")
33
+ N_("No installed packages and/or enabled repositories have been reported by %s." % profiles_reporter_package_name)
23
34
  else
24
35
  N_("Unknown errata status")
25
36
  end
@@ -41,19 +52,17 @@ module Katello
41
52
  end
42
53
 
43
54
  def to_status(_options = {})
44
- return UNKNOWN if host.content_facet.nil?
45
-
46
- if Setting[:errata_status_installable]
47
- errata = host.content_facet.try(:installable_errata)
48
- else
49
- errata = host.content_facet.try(:applicable_errata)
50
- end
55
+ errata = if errata_status_installable
56
+ host.content_facet.try(:installable_errata)
57
+ else
58
+ host.content_facet.try(:applicable_errata)
59
+ end
51
60
 
52
61
  if errata.security.any?
53
62
  NEEDED_SECURITY_ERRATA
54
63
  elsif errata.any?
55
64
  NEEDED_ERRATA
56
- elsif host.content_facet.bound_repositories.empty?
65
+ elsif host.installed_packages.empty? || host.content_facet.bound_repositories.empty?
57
66
  UNKNOWN
58
67
  else
59
68
  UP_TO_DATE
@@ -56,7 +56,7 @@ module Katello
56
56
  end
57
57
 
58
58
  def self.backend_identifier_field
59
- SmartProxy.pulp_master!.content_service(CONTENT_TYPE).backend_unit_identifier ? BACKEND_IDENTIFIER_FIELD.to_sym : nil
59
+ SmartProxy.pulp_primary!.content_service(CONTENT_TYPE).backend_unit_identifier ? BACKEND_IDENTIFIER_FIELD.to_sym : nil
60
60
  end
61
61
 
62
62
  def self.applicable_to_hosts(hosts)
@@ -35,8 +35,10 @@ module Katello
35
35
  self.owner_details['contentAccessMode']
36
36
  end
37
37
 
38
- def simple_content_access?
39
- content_access_mode == "org_environment"
38
+ def simple_content_access?(cached: true)
39
+ Rails.cache.fetch("#{self.label}_simple_content_access?", expires_in: 1.minute, force: !cached) do
40
+ content_access_mode == "org_environment"
41
+ end
40
42
  end
41
43
 
42
44
  def generate_debug_cert
@@ -84,7 +84,9 @@ module Katello
84
84
  end
85
85
 
86
86
  def pulp_scratchpad_checksum_type
87
- pulp_repo_facts&.dig('scratchpad', 'checksum_type')
87
+ if SmartProxy.pulp_primary.has_feature?(SmartProxy::PULP_FEATURE)
88
+ pulp_repo_facts&.dig('scratchpad', 'checksum_type')
89
+ end
88
90
  end
89
91
 
90
92
  def pulp_counts_differ?
@@ -5,6 +5,9 @@ module Katello
5
5
  self.table_name = 'katello_content_facets'
6
6
  include Facets::Base
7
7
 
8
+ HOST_TOOLS_PACKAGE_NAME = 'katello-host-tools'.freeze
9
+ SUBSCRIPTION_MANAGER_PACKAGE_NAME = 'subscription-manager'.freeze
10
+
8
11
  belongs_to :kickstart_repository, :class_name => "::Katello::Repository", :foreign_key => :kickstart_repository_id, :inverse_of => :kickstart_content_facets
9
12
  belongs_to :content_view, :inverse_of => :content_facets, :class_name => "Katello::ContentView"
10
13
  belongs_to :lifecycle_environment, :inverse_of => :content_facets, :class_name => "Katello::KTEnvironment"
@@ -126,6 +129,7 @@ module Katello
126
129
  ::Katello::Applicability::ApplicableContentHelper.new(self, ::Katello::Erratum, bound_repos).calculate_and_import
127
130
  ::Katello::Applicability::ApplicableContentHelper.new(self, ::Katello::ModuleStream, bound_repos).calculate_and_import
128
131
  update_applicability_counts
132
+ self.update_errata_status
129
133
  end
130
134
 
131
135
  def import_applicability(partial = false)
@@ -226,6 +230,10 @@ module Katello
226
230
  self.host.installed_packages.where("#{Katello::InstalledPackage.table_name}.name" => 'katello-host-tools-tracer').any?
227
231
  end
228
232
 
233
+ def host_tools_installed?
234
+ host.installed_packages.where("#{Katello::InstalledPackage.table_name}.name" => HOST_TOOLS_PACKAGE_NAME).any?
235
+ end
236
+
229
237
  def update_errata_status
230
238
  host.get_status(::Katello::ErrataStatus).refresh!
231
239
  host.refresh_global_status!
@@ -243,7 +243,7 @@ module Katello
243
243
  end
244
244
 
245
245
  def add_to_default_capsule
246
- SmartProxy.pulp_master.try(:add_lifecycle_environment, self)
246
+ SmartProxy.pulp_primary.try(:add_lifecycle_environment, self)
247
247
  end
248
248
 
249
249
  # Katello, which understands repository content and promotion, provides release versions based upon
@@ -25,7 +25,7 @@ module Katello
25
25
  end
26
26
 
27
27
  def package_names
28
- service_class = SmartProxy.pulp_master!.content_service(CONTENT_TYPE)
28
+ service_class = SmartProxy.pulp_primary!.content_service(CONTENT_TYPE)
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
@@ -6,8 +6,13 @@ module Katello
6
6
 
7
7
  class << self
8
8
  def services(capsule_id = nil)
9
- services = [:pulp, :pulp_auth, :candlepin, :candlepin_auth, :foreman_tasks, :katello_events, :candlepin_events]
10
- services += [:pulp3] if fetch_proxy(capsule_id)&.pulp3_enabled?
9
+ proxy = fetch_proxy(capsule_id)
10
+ services = [:candlepin, :candlepin_auth, :foreman_tasks, :katello_events, :candlepin_events]
11
+ services += [:pulp3] if proxy&.pulp3_enabled?
12
+ if proxy.nil? || proxy.has_feature?(SmartProxy::PULP_NODE_FEATURE) || proxy.has_feature?(SmartProxy::PULP_FEATURE)
13
+ services += [:pulp, :pulp_auth]
14
+ end
15
+
11
16
  services
12
17
  end
13
18
 
@@ -212,7 +217,7 @@ module Katello
212
217
  private
213
218
 
214
219
  def fetch_proxy(capsule_id)
215
- capsule_id ? SmartProxy.unscoped.find(capsule_id) : SmartProxy.pulp_master
220
+ capsule_id ? SmartProxy.unscoped.find(capsule_id) : SmartProxy.pulp_primary
216
221
  end
217
222
 
218
223
  def backend_status(url, backend)
@@ -1,7 +1,7 @@
1
1
  module Katello
2
2
  module Pulp3
3
3
  class ContentGuard < Katello::Model
4
- def self.import(smart_proxy = SmartProxy.pulp_master!, force = false)
4
+ def self.import(smart_proxy = SmartProxy.pulp_primary!, force = false)
5
5
  return unless (count == 0 || force)
6
6
  content_guard_api = Katello::Pulp3::Api::ContentGuard.new(smart_proxy)
7
7
  content_guard = content_guard_api.list&.results&.first
@@ -1,8 +1,8 @@
1
1
  module Katello
2
2
  class PurposeStatus < HostStatus::Status
3
- MATCHED = 0
3
+ UNKNOWN = 0
4
4
  MISMATCHED = 1
5
- UNKNOWN = 2
5
+ MATCHED = 2
6
6
  NOT_SPECIFIED = 3
7
7
 
8
8
  def self.status_map
@@ -135,6 +135,7 @@ module Katello
135
135
  scope :in_published_environments, -> { in_content_views(Katello::ContentView.non_default).where.not(:environment_id => nil) }
136
136
  scope :order_by_root, ->(attr) { joins(:root).order("#{Katello::RootRepository.table_name}.#{attr}") }
137
137
  scope :with_content, ->(content) { joins(Katello::RepositoryTypeManager.find_content_type(content).model_class.repository_association_class.name.demodulize.underscore.pluralize.to_sym).distinct }
138
+ scope :by_rpm_count, -> { left_joins(:repository_rpms).group(:id).order("count(katello_repository_rpms.id) ASC") } # smallest count first
138
139
 
139
140
  scoped_search :on => :name, :relation => :root, :complete_value => true
140
141
  scoped_search :rename => :product, :on => :name, :relation => :product, :complete_value => true
@@ -148,7 +149,6 @@ module Katello
148
149
  scoped_search :on => :distribution_family, :complete_value => true
149
150
  scoped_search :on => :distribution_variant, :complete_value => true
150
151
  scoped_search :on => :distribution_bootable, :complete_value => true
151
- scoped_search :on => :distribution_uuid, :complete_value => true
152
152
  scoped_search :on => :redhat, :complete_value => { :true => true, :false => false }, :ext_method => :search_by_redhat
153
153
  scoped_search :on => :container_repository_name, :complete_value => true
154
154
  scoped_search :on => :description, :relation => :root, :only_explicit => true
@@ -159,7 +159,7 @@ module Katello
159
159
 
160
160
  delegate :product, :redhat?, :custom?, :to => :root
161
161
  delegate :yum?, :docker?, :puppet?, :deb?, :file?, :ostree?, :ansible_collection?, :to => :root
162
- delegate :name, :label, :docker_upstream_name, :url, :to => :root
162
+ delegate :name, :label, :docker_upstream_name, :url, :download_concurrency, :to => :root
163
163
 
164
164
  delegate :name, :created_at, :updated_at, :major, :minor, :gpg_key_id, :gpg_key, :arch, :label, :url, :unprotected,
165
165
  :content_type, :product_id, :checksum_type, :docker_upstream_name, :mirror_on_sync, :"mirror_on_sync?",
@@ -594,6 +594,10 @@ module Katello
594
594
  environment
595
595
  end
596
596
 
597
+ def self.smart_proxy_syncable
598
+ where.not(:environment_id => nil)
599
+ end
600
+
597
601
  def exist_for_environment?(environment, content_view, attribute = nil)
598
602
  if environment.present? && content_view.in_environment?(environment)
599
603
  repos = content_view.version(environment).repos(environment)
@@ -645,11 +649,10 @@ module Katello
645
649
  :distribution_arch => target_repo.distribution_arch,
646
650
  :distribution_family => target_repo.distribution_family,
647
651
  :distribution_variant => target_repo.distribution_variant,
648
- :distribution_uuid => target_repo.distribution_uuid,
649
652
  :distribution_bootable => target_repo.distribution_bootable
650
653
  )
651
654
  else
652
- self.backend_service(SmartProxy.pulp_master).import_distribution_data
655
+ self.backend_service(SmartProxy.pulp_primary).import_distribution_data
653
656
  end
654
657
  end
655
658
 
@@ -659,7 +662,6 @@ module Katello
659
662
  distribution_arch: self.distribution_arch,
660
663
  distribution_family: self.distribution_family,
661
664
  distribution_variant: self.distribution_variant,
662
- distribution_uuid: self.distribution_uuid,
663
665
  distribution_bootable: self.distribution_bootable
664
666
  }
665
667
  end
@@ -721,10 +723,10 @@ module Katello
721
723
  DockerMetaTag.in_repositories(self.id).count
722
724
  end
723
725
 
724
- # a master repository actually has content (rpms, errata, etc) in the pulp repository. For these repositories, we can use the YumDistributor
726
+ # a primary repository actually has content (rpms, errata, etc) in the pulp repository. For these repositories, we can use the YumDistributor
725
727
  # to generate metadata and can index the content from pulp, or for the case of content view archives without filters, can also use the YumCloneDistributor
726
728
  #
727
- def master?
729
+ def primary?
728
730
  !self.yum? || # non-yum repos
729
731
  self.in_default_view? || # default content view repos
730
732
  (self.archive? && !self.content_view.composite) || # non-composite content view archive repos
@@ -734,19 +736,19 @@ module Katello
734
736
  # a link repository has no content in the pulp repository and serves as a shell. It will always be empty. Only the YumCloneDistributor can be used
735
737
  # to publish yum metadata, and it cannot be indexed from pulp, but must have its indexed associations copied from another repository (its target).
736
738
  def link?
737
- !master?
739
+ !primary?
738
740
  end
739
741
 
740
742
  # A link (empty repo) points to a target (a repository that actually has units in pulp). Target repos are always archive repos of a content view version (a repo with no environment)
741
- # But for composite view versions, an archive repo, usually won't be a master (but might be if multple components contain the same repo)
743
+ # But for composite view versions, an archive repo, usually won't be a primary (but might be if multple components contain the same repo)
742
744
  def target_repository
743
- fail _("This is not a linked repository") if master?
745
+ fail _("This is not a linked repository") if primary?
744
746
  return nil if self.archived_instance.nil?
745
747
 
746
- #this is an environment repo, and the archived_instance is a master (not always true with composite)
747
- if self.environment_id? && self.archived_instance.master?
748
+ #this is an environment repo, and the archived_instance is a primary (not always true with composite)
749
+ if self.environment_id? && self.archived_instance.primary?
748
750
  self.archived_instance
749
- elsif self.environment_id #this is an environment repo, but a composite who's archived_instance isn't a master
751
+ elsif self.environment_id #this is an environment repo, but a composite who's archived_instance isn't a primary
750
752
  self.archived_instance.target_repository || self.archived_instance #to archived_instance if nil
751
753
  else #must be a composite archive repo, with only one component repo
752
754
  self.component_source_repositories.first
@@ -857,19 +859,25 @@ module Katello
857
859
  def index_content(options = {})
858
860
  source_repository = options.fetch(:source_repository, nil)
859
861
 
860
- if self.yum? && !self.master?
862
+ if self.yum? && !self.primary?
861
863
  index_linked_repo
862
864
  elsif source_repository && !repository_type.unique_content_per_repo
863
865
  copy_indexed_data(source_repository)
864
866
  else
865
867
  repository_type.content_types_to_index.each do |type|
866
- type.model_class.import_for_repository(self)
868
+ Katello::Logging.time("CONTENT_INDEX", data: {type: type.model_class}) do
869
+ type.model_class.import_for_repository(self)
870
+ end
867
871
  end
868
872
  repository_type.index_additional_data_proc&.call(self)
869
873
  end
870
874
  true
871
875
  end
872
876
 
877
+ def in_content_view?(content_view)
878
+ content_view.repositories.include? self
879
+ end
880
+
873
881
  protected
874
882
 
875
883
  def unit_type_for_removal(type_class = nil)
@@ -113,7 +113,7 @@ module Katello
113
113
  end
114
114
 
115
115
  def get_rhsm_mac(interface)
116
- # if slave then permanent_mac_address contains the physical mac
116
+ # if secondary then permanent_mac_address contains the physical mac
117
117
  facts["net.interface.#{interface}.permanent_mac_address"] || facts["net.interface.#{interface}.mac_address"]
118
118
  end
119
119
  end
@@ -65,7 +65,6 @@ module Katello
65
65
  validate :ensure_valid_docker_tags_whitelist
66
66
  validate :ensure_content_attribute_restrictions
67
67
  validate :ensure_valid_upstream_authorization
68
- validate :ensure_auto_enablement_not_set
69
68
  validate :ensure_no_checksum_on_demand
70
69
  validates :url, presence: true, if: :ostree?
71
70
  validates :checksum_type, :inclusion => {:in => CHECKSUM_TYPES}, :allow_blank => true
@@ -103,6 +102,7 @@ module Katello
103
102
  where(:http_proxy_policy => RootRepository::USE_SELECTED_HTTP_PROXY).
104
103
  where(:http_proxy_id => http_proxy_id)
105
104
  }
105
+ scope :orphaned, -> { where.not(id: Katello::Repository.pluck(:root_id).uniq) }
106
106
  delegate :redhat?, :provider, :organization, to: :product
107
107
 
108
108
  def library_instance
@@ -225,11 +225,6 @@ module Katello
225
225
  end
226
226
  end
227
227
 
228
- def ensure_auto_enablement_not_set
229
- return if new_record? || !auto_enabled_changed?
230
- errors.add(:auto_enabled, N_("Auto Enablement may only be set on custom repositories.")) if redhat?
231
- end
232
-
233
228
  def custom_content_path
234
229
  parts = []
235
230
  # We generate repo path only for custom product content. We add this
@@ -288,7 +283,7 @@ module Katello
288
283
  def pulp_update_needed?
289
284
  changeable_attributes = %w(url unprotected checksum_type docker_upstream_name download_policy mirror_on_sync verify_ssl_on_sync
290
285
  upstream_username upstream_password ostree_upstream_sync_policy ostree_upstream_sync_depth ignorable_content
291
- ssl_ca_cert_id ssl_client_cert_id ssl_client_key_id http_proxy_policy http_proxy_id)
286
+ ssl_ca_cert_id ssl_client_cert_id ssl_client_key_id http_proxy_policy http_proxy_id download_concurrency)
292
287
  changeable_attributes += %w(name container_repository_name docker_tags_whitelist) if docker?
293
288
  changeable_attributes += %w(deb_releases deb_components deb_architectures gpg_key_id) if deb?
294
289
  changeable_attributes += %w(ansible_collection_requirements) if ansible_collection?
@@ -332,14 +327,6 @@ module Katello
332
327
  end
333
328
  end
334
329
 
335
- def content_enablements
336
- product.root_repositories.map do |repo|
337
- repo_content = { id: repo.content_id }
338
- repo_content[:enabled] = repo.auto_enabled? if repo == self
339
- repo_content
340
- end
341
- end
342
-
343
330
  apipie :class, desc: 'A class representing Repository object' do
344
331
  name 'Repository'
345
332
  refs 'Repository'
@@ -121,6 +121,14 @@ module Katello
121
121
  errors.add :base, _("Start Date and Time can't be blank") if self.sync_date.nil?
122
122
  end
123
123
 
124
+ def sync_date_sans_tz
125
+ if User.current.try(:timezone)
126
+ return self.sync_date.strftime('%a, %d %b %Y %H:%M:%S')
127
+ else
128
+ sync_date
129
+ end
130
+ end
131
+
124
132
  def next_sync
125
133
  return nil unless self.enabled?
126
134
  self.foreman_tasks_recurring_logic&.tasks&.order(:start_at)&.last&.start_at
@@ -92,7 +92,7 @@ class Setting::Content < Setting
92
92
  self.set('check_services_before_actions', N_("Whether or not to check the status of backend services such as pulp and candlepin prior to performing some actions."),
93
93
  true, N_('Check services before actions')),
94
94
  self.set('foreman_proxy_content_batch_size', N_("How many repositories should be synced concurrently on the capsule. A smaller number may lead to longer sync times. A larger number will increase dynflow load."),
95
- 25, N_('Batch size to sync repositories in.')),
95
+ 100, N_('Batch size to sync repositories in.')),
96
96
  self.set('foreman_proxy_content_auto_sync', N_("Whether or not to auto sync the Smart Proxies after a Content View promotion."),
97
97
  true, N_('Sync Smart Proxies after Content View promotion')),
98
98
  self.set('default_download_policy', N_("Default download policy for custom repositories (either 'immediate', 'on_demand', or 'background')"), "immediate",
@@ -105,6 +105,8 @@ class Setting::Content < Setting
105
105
  5000, N_('Pulp Docker registry port')),
106
106
  self.set('pulp_export_destination', N_("On-disk location for exported repositories"),
107
107
  "/var/lib/pulp/katello-export", N_('Pulp export destination filepath')),
108
+ self.set('pulpcore_export_destination', N_("On-disk location for pulp 3 exported repositories"),
109
+ "/var/lib/pulp/exports", N_('Pulp 3 export destination filepath')),
108
110
  self.set('pulp_client_key', N_("Path for ssl key used for pulp server auth"),
109
111
  "/etc/pki/katello/private/pulp-client.key", N_('Pulp client key')),
110
112
  self.set('pulp_client_cert', N_("Path for ssl cert used for pulp server auth"),
@@ -9,11 +9,19 @@ module Cert
9
9
  end
10
10
 
11
11
  def self.ssl_client_cert
12
- @ssl_client_cert ||= OpenSSL::X509::Certificate.new(File.open(Setting['pulp_client_cert'], 'r').read)
12
+ @ssl_client_cert ||= OpenSSL::X509::Certificate.new(File.open(ssl_client_cert_filename, 'r').read)
13
+ end
14
+
15
+ def self.ssl_client_cert_filename
16
+ Setting['pulp_client_cert']
13
17
  end
14
18
 
15
19
  def self.ssl_client_key
16
- @ssl_client_key ||= OpenSSL::PKey::RSA.new(File.open(Setting['pulp_client_key'], 'r').read)
20
+ @ssl_client_key ||= OpenSSL::PKey::RSA.new(File.open(ssl_client_key_filename, 'r').read)
21
+ end
22
+
23
+ def self.ssl_client_key_filename
24
+ Setting['pulp_client_key']
17
25
  end
18
26
 
19
27
  def self.verify_ueber_cert(organization)
@@ -53,6 +53,7 @@ module Katello
53
53
 
54
54
  def reindex_purpose_status
55
55
  reindex_consumer do
56
+ return if subscription_facet.host.organization.simple_content_access?
56
57
  subscription_facet.update_purpose_status(role_status: message_handler.system_purpose.role_status,
57
58
  usage_status: message_handler.system_purpose.usage_status,
58
59
  addons_status: message_handler.system_purpose.addons_status,
@@ -9,5 +9,12 @@ module Katello
9
9
  Katello::PurposeAddonsStatus,
10
10
  Katello::PurposeStatus,
11
11
  Katello::TraceStatus].freeze
12
+
13
+ PURPOSE_STATUS = [
14
+ Katello::PurposeStatus,
15
+ Katello::PurposeAddonsStatus,
16
+ Katello::PurposeRoleStatus,
17
+ Katello::PurposeSlaStatus,
18
+ Katello::PurposeUsageStatus].freeze
12
19
  end
13
20
  end