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
@@ -16,7 +16,7 @@ module Katello
16
16
  end
17
17
 
18
18
  private def pulp_content
19
- SmartProxy.pulp_master.pulp_api.resources.content
19
+ SmartProxy.pulp_primary.pulp_api.resources.content
20
20
  end
21
21
  end
22
22
  end
@@ -42,7 +42,7 @@ module Katello
42
42
  fail NotImplementedError
43
43
  end
44
44
 
45
- def master_importer_configuration
45
+ def primary_importer_configuration
46
46
  fail NotImplementedError
47
47
  end
48
48
 
@@ -58,7 +58,7 @@ module Katello
58
58
  fail NotImplementedError
59
59
  end
60
60
 
61
- def generate_master_importer
61
+ def generate_primary_importer
62
62
  fail NotImplementedError
63
63
  end
64
64
 
@@ -120,7 +120,7 @@ module Katello
120
120
  end
121
121
 
122
122
  def external_url(force_https = false)
123
- uri = URI.parse(::SmartProxy.pulp_master.pulp_url)
123
+ uri = URI.parse(::SmartProxy.pulp_primary.pulp_url)
124
124
  uri.scheme = (root.unprotected && !force_https) ? 'http' : 'https'
125
125
  uri.path = partial_repo_path
126
126
  uri.to_s
@@ -130,7 +130,7 @@ module Katello
130
130
  if smart_proxy.pulp_mirror?
131
131
  generate_mirror_importer
132
132
  elsif repo.in_default_view?
133
- generate_master_importer
133
+ generate_primary_importer
134
134
  else #content view repositories don't need any importer configuration
135
135
  importer_class.new
136
136
  end
@@ -149,17 +149,17 @@ module Katello
149
149
  !distributors_match?(repo_details["distributors"])
150
150
  end
151
151
 
152
- def master_importer_connection_options
152
+ def primary_importer_connection_options
153
153
  options = {
154
154
  basic_auth_username: root.upstream_username,
155
155
  basic_auth_password: root.upstream_password,
156
156
  ssl_validation: root.verify_ssl_on_sync?
157
157
  }
158
158
  options.merge!(proxy_options)
159
- options.merge!(master_importer_ssl_options)
159
+ options.merge!(primary_importer_ssl_options)
160
160
  end
161
161
 
162
- def master_importer_ssl_options
162
+ def primary_importer_ssl_options
163
163
  if root.redhat? && Katello::Resources::CDN::CdnResource.redhat_cdn?(root.url)
164
164
  {
165
165
  ssl_client_cert: root.product.certificate,
@@ -4,7 +4,7 @@ module Katello
4
4
  class Deb < ::Katello::Pulp::Repository
5
5
  REPOSITORY_TYPE = 'deb'.freeze
6
6
 
7
- def generate_master_importer
7
+ def generate_primary_importer
8
8
  config = {
9
9
  feed: root.url,
10
10
  remove_missing: root.mirror_on_sync?,
@@ -14,7 +14,7 @@ module Katello
14
14
  gpg_keys: root&.gpg_key&.content,
15
15
  require_signature: root.gpg_key.present?
16
16
  }
17
- importer_class.new(config.merge(master_importer_connection_options))
17
+ importer_class.new(config.merge(primary_importer_connection_options))
18
18
  end
19
19
 
20
20
  def generate_mirror_importer
@@ -14,23 +14,23 @@ module Katello
14
14
  end
15
15
  end
16
16
 
17
- def generate_master_importer
17
+ def generate_primary_importer
18
18
  config = {
19
19
  feed: root.url,
20
20
  upstream_name: root.docker_upstream_name,
21
21
  tags: root.docker_tags_whitelist,
22
22
  enable_v1: false
23
23
  }
24
- importer_class.new(config.merge(master_importer_connection_options))
24
+ importer_class.new(config.merge(primary_importer_connection_options))
25
25
  end
26
26
 
27
27
  #what foreman proxies w/ content pull docker content from
28
28
  def docker_registry_host
29
- if SmartProxy.pulp_master.pulp3_repository_type_support?(Katello::Repository::DOCKER_TYPE)
29
+ if SmartProxy.pulp_primary.pulp3_repository_type_support?(Katello::Repository::DOCKER_TYPE)
30
30
  foreman_url = URI.parse(Setting[:foreman_url]).host.downcase
31
31
  "https://#{foreman_url}"
32
32
  else
33
- pulp_uri = URI.parse(SmartProxy.pulp_master.pulp_url)
33
+ pulp_uri = URI.parse(SmartProxy.pulp_primary.pulp_url)
34
34
  "https://#{pulp_uri.host.downcase}:#{Setting['pulp_docker_registry_port']}"
35
35
  end
36
36
  end
@@ -56,7 +56,7 @@ module Katello
56
56
  end
57
57
 
58
58
  def external_url(_force_https = false)
59
- pulp_uri = URI.parse(SmartProxy.pulp_master.pulp_url)
59
+ pulp_uri = URI.parse(SmartProxy.pulp_primary.pulp_url)
60
60
  "#{pulp_uri.host.downcase}:#{Setting['pulp_docker_registry_port']}/#{repo.container_repository_name}"
61
61
  end
62
62
 
@@ -10,9 +10,9 @@ module Katello
10
10
  end
11
11
  end
12
12
 
13
- def generate_master_importer
13
+ def generate_primary_importer
14
14
  config = { feed: root.url }
15
- importer_class.new(config.merge(master_importer_connection_options))
15
+ importer_class.new(config.merge(primary_importer_connection_options))
16
16
  end
17
17
 
18
18
  def generate_mirror_importer
@@ -4,12 +4,12 @@ module Katello
4
4
  class Ostree < ::Katello::Pulp::Repository
5
5
  PULP_MIRROR_SYNC_DEPTH = -1
6
6
 
7
- def generate_master_importer
7
+ def generate_primary_importer
8
8
  config = {
9
9
  feed: root.url,
10
10
  depth: root.compute_ostree_upstream_sync_depth
11
11
  }
12
- Runcible::Models::OstreeImporter.new(config.merge(master_importer_connection_options))
12
+ Runcible::Models::OstreeImporter.new(config.merge(primary_importer_connection_options))
13
13
  end
14
14
 
15
15
  def generate_mirror_importer
@@ -2,12 +2,12 @@ module Katello
2
2
  module Pulp
3
3
  class Repository
4
4
  class Puppet < ::Katello::Pulp::Repository
5
- def generate_master_importer
5
+ def generate_primary_importer
6
6
  config = {
7
7
  feed: root.url,
8
8
  remove_missing: root.mirror_on_sync?
9
9
  }
10
- importer_class.new(config.merge(master_importer_connection_options))
10
+ importer_class.new(config.merge(primary_importer_connection_options))
11
11
  end
12
12
 
13
13
  def generate_mirror_importer
@@ -4,14 +4,14 @@ module Katello
4
4
  class Yum < ::Katello::Pulp::Repository
5
5
  REPOSITORY_TYPE = 'yum'.freeze
6
6
 
7
- def generate_master_importer
7
+ def generate_primary_importer
8
8
  config = {
9
9
  download_policy: root.download_policy,
10
10
  remove_missing: root.mirror_on_sync?,
11
11
  feed: root.url,
12
12
  type_skip_list: root.ignorable_content
13
13
  }
14
- importer_class.new(config.merge(master_importer_connection_options))
14
+ importer_class.new(config.merge(primary_importer_connection_options))
15
15
  end
16
16
 
17
17
  def generate_mirror_importer
@@ -38,14 +38,14 @@ module Katello
38
38
  id: yum_dist_id,
39
39
  auto_publish: true
40
40
  }
41
- if smart_proxy.pulp_master?
41
+ if smart_proxy.pulp_primary?
42
42
  options[:checksum_type] = repo.saved_checksum_type || root.checksum_type
43
43
  else
44
44
  options[:checksum_type] = nil
45
45
  end
46
46
  distributors = [Runcible::Models::YumDistributor.new(repo.relative_path, root.unprotected, true, options)]
47
47
 
48
- if smart_proxy.pulp_master?
48
+ if smart_proxy.pulp_primary?
49
49
  distributors << Runcible::Models::YumCloneDistributor.new(:id => "#{repo.pulp_id}_clone",
50
50
  :destination_distributor_id => yum_dist_id)
51
51
  distributors << Runcible::Models::ExportDistributor.new(false, false, repo.relative_path)
@@ -55,7 +55,7 @@ module Katello
55
55
 
56
56
  def distributors_to_publish(options)
57
57
  source_repo_id = options[:source_repository]&.fetch(:id)
58
- if (source_repo_id || !repo.master?) && smart_proxy.pulp_master?
58
+ if (source_repo_id || !repo.primary?) && smart_proxy.pulp_primary?
59
59
  source_repository = source_repo_id ? ::Katello::Repository.find(source_repo_id) : repo.target_repository
60
60
  source_service = source_repository.backend_service(smart_proxy)
61
61
  source_distributor_id = source_service.lookup_distributor_id(Runcible::Models::YumDistributor.type_id)
@@ -144,7 +144,6 @@ module Katello
144
144
  :distribution_arch => distribution["arch"],
145
145
  :distribution_family => distribution["family"],
146
146
  :distribution_variant => distribution["variant"],
147
- :distribution_uuid => distribution["_id"],
148
147
  :distribution_bootable => self.class.distribution_bootable?(distribution)
149
148
  )
150
149
  end
@@ -12,7 +12,7 @@ module Katello
12
12
  end
13
13
 
14
14
  def default_capsule?
15
- @smart_proxy.pulp_master?
15
+ @smart_proxy.pulp_primary?
16
16
  end
17
17
 
18
18
  def current_repositories(environment_id = nil, content_view_id = nil)
@@ -4,11 +4,11 @@ module Katello
4
4
  include LazyAccessor
5
5
 
6
6
  def self.content_api
7
- PulpAnsibleClient::ContentCollectionVersionsApi.new(Katello::Pulp3::Api::AnsibleCollection.new(SmartProxy.pulp_master!).api_client)
7
+ PulpAnsibleClient::ContentCollectionVersionsApi.new(Katello::Pulp3::Api::AnsibleCollection.new(SmartProxy.pulp_primary!).api_client)
8
8
  end
9
9
 
10
10
  def self.ids_for_repository(repo_id)
11
- repo = Katello::Pulp3::Repository::AnsibleCollection.new(Katello::Repository.find(repo_id), SmartProxy.pulp_master)
11
+ repo = Katello::Pulp3::Repository::AnsibleCollection.new(Katello::Repository.find(repo_id), SmartProxy.pulp_primary)
12
12
  repo_content_list = repo.content_list
13
13
  repo_content_list.map { |content| content.try(:pulp_href) }
14
14
  end
@@ -58,6 +58,22 @@ module Katello
58
58
  fail NotImplementedError
59
59
  end
60
60
 
61
+ def exporter_api
62
+ PulpcoreClient::ExportersPulpApi.new(core_api_client)
63
+ end
64
+
65
+ def importer_api
66
+ PulpcoreClient::ImportersPulpApi.new(core_api_client)
67
+ end
68
+
69
+ def export_api
70
+ PulpcoreClient::ExportersCoreExportsApi.new(core_api_client)
71
+ end
72
+
73
+ def import_api
74
+ PulpcoreClient::ImportersCoreImportsApi.new(core_api_client)
75
+ end
76
+
61
77
  def orphans_api
62
78
  PulpcoreClient::OrphansApi.new(core_api_client)
63
79
  end
@@ -7,7 +7,7 @@ module Katello
7
7
  def create_upload(size = 0, checksum = nil, content_type = nil)
8
8
  content_unit_href = nil
9
9
  if checksum
10
- content_backend_service = SmartProxy.pulp_master.content_service(content_type)
10
+ content_backend_service = SmartProxy.pulp_primary.content_service(content_type)
11
11
  content_list = content_backend_service.content_api.list("sha256": checksum)
12
12
  content_unit_href = content_list.results.first.pulp_href unless content_list.results.empty?
13
13
  return {"content_unit_href" => content_unit_href} if content_unit_href
@@ -29,7 +29,7 @@ module Katello
29
29
  filechunk.write(content)
30
30
  filechunk.flush
31
31
  actual_chunk_size = File.size(filechunk)
32
- uploads_api.update(upload_href, content_range(offset, offset + actual_chunk_size - 1, size), filechunk)
32
+ uploads_api.update(content_range(offset, offset + actual_chunk_size - 1, size), upload_href, filechunk)
33
33
  ensure
34
34
  filechunk.close
35
35
  filechunk.unlink
@@ -39,7 +39,7 @@ module Katello
39
39
  private
40
40
 
41
41
  def core_api_client
42
- PulpcoreClient::ApiClient.new(SmartProxy.pulp_master.pulp3_configuration(PulpcoreClient::Configuration))
42
+ PulpcoreClient::ApiClient.new(SmartProxy.pulp_primary.pulp3_configuration(PulpcoreClient::Configuration))
43
43
  end
44
44
 
45
45
  def uploads_api
@@ -0,0 +1,71 @@
1
+ module Katello
2
+ module Pulp3
3
+ module ContentViewVersion
4
+ class Export
5
+ def initialize(smart_proxy:, content_view_version: nil, destination_server: nil)
6
+ @smart_proxy = smart_proxy
7
+ @content_view_version = content_view_version
8
+ @destination_server = destination_server
9
+ end
10
+
11
+ def exporter_name
12
+ @content_view_version.name.gsub(/\s/, '_')
13
+ end
14
+
15
+ def generate_exporter_id
16
+ "#{@content_view_version.organization.label}_#{exporter_name}"
17
+ end
18
+
19
+ def generate_exporter_path
20
+ export_path = "#{@content_view_version.content_view}/#{@content_view_version.version}/#{@destination_server}/#{date_dir}".gsub(/\s/, '_')
21
+ "#{@content_view_version.organization.label}/#{export_path}"
22
+ end
23
+
24
+ def date_dir
25
+ DateTime.now.to_s.gsub(/\W/, '-')
26
+ end
27
+
28
+ def api
29
+ ::Katello::Pulp3::Api::Core.new(@smart_proxy)
30
+ end
31
+
32
+ def repository_hrefs
33
+ version_hrefs.map { |href| version_href_to_repository_href(href) }.uniq
34
+ end
35
+
36
+ def version_hrefs
37
+ if @content_view_version.default?
38
+ @content_view_version.repositories.yum_type.pluck(:version_href).compact
39
+ else
40
+ @content_view_version.archived_repos.yum_type.pluck(:version_href).compact
41
+ end
42
+ end
43
+
44
+ def version_href_to_repository_href(version_href)
45
+ version_href.split("/")[0..-3].join("/") + "/"
46
+ end
47
+
48
+ def create_exporter(export_base_dir: Setting['pulpcore_export_destination'])
49
+ api.exporter_api.create(name: generate_exporter_id,
50
+ path: "#{export_base_dir}/#{generate_exporter_path}",
51
+ repositories: repository_hrefs)
52
+ end
53
+
54
+ def create_export(exporter_href)
55
+ [api.export_api.create(exporter_href, { versions: version_hrefs })]
56
+ end
57
+
58
+ def fetch_export(exporter_href)
59
+ api.export_api.list(exporter_href).results.first
60
+ end
61
+
62
+ def destroy_exporter(exporter_href)
63
+ export_data = fetch_export(exporter_href)
64
+ api.exporter_api.partial_update(exporter_href, :last_export => nil)
65
+ api.export_api.delete(export_data.pulp_href) unless export_data.blank?
66
+ api.exporter_api.delete(exporter_href)
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -4,11 +4,11 @@ module Katello
4
4
  include LazyAccessor
5
5
 
6
6
  def self.content_api
7
- PulpRpmClient::ContentDistributionTreesApi.new(Katello::Pulp3::Api::Yum.new(SmartProxy.pulp_master!).api_client)
7
+ PulpRpmClient::ContentDistributionTreesApi.new(Katello::Pulp3::Api::Yum.new(SmartProxy.pulp_primary!).api_client)
8
8
  end
9
9
 
10
10
  def self.ids_for_repository(repo_id)
11
- repo = Katello::Pulp3::Repository::Yum.new(Katello::Repository.find(repo_id), SmartProxy.pulp_master)
11
+ repo = Katello::Pulp3::Repository::Yum.new(Katello::Repository.find(repo_id), SmartProxy.pulp_primary)
12
12
  repo_content_list = repo.content_list
13
13
  repo_content_list.map { |content| content.try(:pulp_href) }
14
14
  end
@@ -4,11 +4,11 @@ module Katello
4
4
  include LazyAccessor
5
5
 
6
6
  def self.content_api
7
- PulpContainerClient::ContentBlobsApi.new(Katello::Pulp3::Api::Docker.new(SmartProxy.pulp_master!).api_client)
7
+ PulpContainerClient::ContentBlobsApi.new(Katello::Pulp3::Api::Docker.new(SmartProxy.pulp_primary!).api_client)
8
8
  end
9
9
 
10
10
  def self.ids_for_repository(repo_id)
11
- repo = Katello::Pulp3::Repository::Docker.new(Katello::Repository.find(repo_id), SmartProxy.pulp_master)
11
+ repo = Katello::Pulp3::Repository::Docker.new(Katello::Repository.find(repo_id), SmartProxy.pulp_primary)
12
12
  repo_content_list = repo.content_list
13
13
  repo_content_list.map { |content| content.try(:pulp_href) }
14
14
  end
@@ -4,11 +4,11 @@ module Katello
4
4
  include LazyAccessor
5
5
 
6
6
  def self.content_api
7
- PulpContainerClient::ContentManifestsApi.new(Katello::Pulp3::Api::Docker.new(SmartProxy.pulp_master!).api_client)
7
+ PulpContainerClient::ContentManifestsApi.new(Katello::Pulp3::Api::Docker.new(SmartProxy.pulp_primary!).api_client)
8
8
  end
9
9
 
10
10
  def self.ids_for_repository(repo_id)
11
- repo = Katello::Pulp3::Repository::Docker.new(Katello::Repository.find(repo_id), SmartProxy.pulp_master)
11
+ repo = Katello::Pulp3::Repository::Docker.new(Katello::Repository.find(repo_id), SmartProxy.pulp_primary)
12
12
  repo_content_list = repo.content_list
13
13
  repo_content_list.map { |content| content.try(:pulp_href) }
14
14
  end
@@ -4,11 +4,11 @@ module Katello
4
4
  include LazyAccessor
5
5
 
6
6
  def self.content_api
7
- PulpContainerClient::ContentManifestsApi.new(Katello::Pulp3::Api::Docker.new(SmartProxy.pulp_master!).api_client)
7
+ PulpContainerClient::ContentManifestsApi.new(Katello::Pulp3::Api::Docker.new(SmartProxy.pulp_primary!).api_client)
8
8
  end
9
9
 
10
10
  def self.ids_for_repository(repo_id)
11
- repo = Katello::Pulp3::Repository::Docker.new(Katello::Repository.find(repo_id), SmartProxy.pulp_master)
11
+ repo = Katello::Pulp3::Repository::Docker.new(Katello::Repository.find(repo_id), SmartProxy.pulp_primary)
12
12
  repo_content_list = repo.content_list
13
13
  repo_content_list.map { |content| content.try(:pulp_href) }
14
14
  end
@@ -4,11 +4,11 @@ module Katello
4
4
  include LazyAccessor
5
5
 
6
6
  def self.content_api
7
- PulpContainerClient::ContentTagsApi.new(Katello::Pulp3::Api::Docker.new(SmartProxy.pulp_master!).api_client)
7
+ PulpContainerClient::ContentTagsApi.new(Katello::Pulp3::Api::Docker.new(SmartProxy.pulp_primary!).api_client)
8
8
  end
9
9
 
10
10
  def self.ids_for_repository(repo_id)
11
- repo = Katello::Pulp3::Repository::Docker.new(Katello::Repository.find(repo_id), SmartProxy.pulp_master)
11
+ repo = Katello::Pulp3::Repository::Docker.new(Katello::Repository.find(repo_id), SmartProxy.pulp_primary)
12
12
  repo_content_list = repo.content_list
13
13
  repo_content_list.map { |content| content.try(:pulp_href) }
14
14
  end
@@ -4,7 +4,7 @@ module Katello
4
4
  include LazyAccessor
5
5
 
6
6
  def self.content_api
7
- PulpRpmClient::ContentAdvisoriesApi.new(Katello::Pulp3::Api::Yum.new(SmartProxy.pulp_master!).api_client)
7
+ PulpRpmClient::ContentAdvisoriesApi.new(Katello::Pulp3::Api::Yum.new(SmartProxy.pulp_primary!).api_client)
8
8
  end
9
9
 
10
10
  def self.unit_identifier
@@ -20,7 +20,7 @@ module Katello
20
20
  end
21
21
 
22
22
  def self.ids_for_repository(repo_id)
23
- repo = Katello::Pulp3::Repository::Yum.new(Katello::Repository.find(repo_id), SmartProxy.pulp_master)
23
+ repo = Katello::Pulp3::Repository::Yum.new(Katello::Repository.find(repo_id), SmartProxy.pulp_primary)
24
24
  repo_content_list = repo.content_list
25
25
  repo_content_list.map { |content| content.try(:pulp_href) }
26
26
  end