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
@@ -7,10 +7,10 @@ module Actions
7
7
  upload_actions = options.fetch(:upload_actions, nil)
8
8
  content_type = options.fetch(:content_type)
9
9
  if content_type
10
- unit_type_id = SmartProxy.pulp_master.content_service(content_type)::CONTENT_TYPE
10
+ unit_type_id = SmartProxy.pulp_primary.content_service(content_type)::CONTENT_TYPE
11
11
  else
12
12
  content_type = repository.content_type
13
- unit_type_id = SmartProxy.pulp_master.content_service(content_type)::CONTENT_TYPE
13
+ unit_type_id = SmartProxy.pulp_primary.content_service(content_type)::CONTENT_TYPE
14
14
  end
15
15
  generate_metadata = options.fetch(:generate_metadata, true)
16
16
  plan_action(Katello::Repository::MetadataGenerate, repository, :dependency => import_upload_task) if generate_metadata
@@ -6,7 +6,7 @@ module Actions
6
6
  include Actions::Katello::PulpSelector
7
7
  def plan(repository, uploads, options = {})
8
8
  action_subject(repository)
9
- repo_service = repository.backend_service(::SmartProxy.pulp_master)
9
+ repo_service = repository.backend_service(::SmartProxy.pulp_primary)
10
10
 
11
11
  upload_ids = uploads.pluck('id')
12
12
  unit_keys = repo_service.unit_keys(uploads)
@@ -14,7 +14,7 @@ module Actions
14
14
  sync_capsule = options.fetch(:sync_capsule, true)
15
15
 
16
16
  options[:content_type] ||= ::Katello::RepositoryTypeManager.find(repository.content_type).default_managed_content_type.label
17
- unit_type_id = SmartProxy.pulp_master.content_service(options[:content_type])::CONTENT_TYPE
17
+ unit_type_id = SmartProxy.pulp_primary.content_service(options[:content_type])::CONTENT_TYPE
18
18
 
19
19
  sequence do
20
20
  upload_results = concurrence do
@@ -29,7 +29,7 @@ module Actions
29
29
  }
30
30
  import_upload = plan_pulp_action([Actions::Pulp::Repository::ImportUpload,
31
31
  Actions::Pulp3::Orchestration::Repository::ImportUpload],
32
- repository, SmartProxy.pulp_master, import_upload_args)
32
+ repository, SmartProxy.pulp_primary, import_upload_args)
33
33
  plan_action(FinishUpload, repository, :import_upload_task => import_upload.output,
34
34
  generate_metadata: false, content_type: options[:content_type])
35
35
  import_upload.output
@@ -9,7 +9,7 @@ module Actions
9
9
  force = options.fetch(:force, false)
10
10
  source_repository = options.fetch(:source_repository, nil)
11
11
  source_repository ||= repository.target_repository if repository.link?
12
- smart_proxy = options.fetch(:smart_proxy, SmartProxy.pulp_master)
12
+ smart_proxy = options.fetch(:smart_proxy, SmartProxy.pulp_primary)
13
13
  matching_content = options.fetch(:matching_content, false)
14
14
 
15
15
  plan_pulp_action([Pulp::Repository::DistributorPublish, Pulp3::Orchestration::Repository::GenerateMetadata],
@@ -12,7 +12,7 @@ module Actions
12
12
  if copy_contents
13
13
  plan_action(Pulp3::Orchestration::Repository::MultiCopyAllUnits,
14
14
  extended_repo_mapping,
15
- SmartProxy.pulp_master,
15
+ SmartProxy.pulp_primary,
16
16
  solve_dependencies: solve_dependencies)
17
17
  end
18
18
 
@@ -46,19 +46,15 @@ module Actions
46
46
 
47
47
  plan_action(Katello::Repository::MetadataGenerate, new_repository, metadata_options)
48
48
  unless source_repositories.first.saved_checksum_type == new_repository.saved_checksum_type
49
- checksum_mapping = {}
50
- repository_mapping.each do |source_repos, dest_repo|
51
- checksum_mapping[dest_repo.id] = source_repos.first.saved_checksum_type
52
- end
53
- plan_self(:checksum_mapping => checksum_mapping)
49
+ plan_self(:source_checksum_type => source_repositories.first.saved_checksum_type,
50
+ :target_repo_id => new_repository.id)
54
51
  end
55
52
  end
56
53
 
57
54
  def finalize
58
- input[:checksum_mapping].each do |repo_id, checksum_type|
59
- repository = ::Katello::Repository.find(repo_id)
60
- repository.update!(saved_checksum_type: checksum_type) if (repository && checksum_type)
61
- end
55
+ repository = ::Katello::Repository.find(input[:target_repo_id])
56
+ source_checksum_type = input[:source_checksum_type]
57
+ repository.update!(saved_checksum_type: source_checksum_type) if (repository && source_checksum_type)
62
58
  end
63
59
  end
64
60
  end
@@ -8,7 +8,7 @@ module Actions
8
8
 
9
9
  def invoke_external_task
10
10
  repo = ::Katello::Repository.find(input[:id])
11
- repo.backend_service(SmartProxy.pulp_master).purge_empty_contents
11
+ repo.backend_service(SmartProxy.pulp_primary).purge_empty_contents
12
12
  end
13
13
  end
14
14
  end
@@ -27,7 +27,7 @@ module Actions
27
27
  pulp_action = plan_pulp_action(
28
28
  [Pulp::Orchestration::Repository::RemoveUnits,
29
29
  Pulp3::Orchestration::Repository::RemoveUnits],
30
- repository, SmartProxy.pulp_master, remove_content_args)
30
+ repository, SmartProxy.pulp_primary, remove_content_args)
31
31
  return if pulp_action.error
32
32
  plan_self(:content_unit_class => content_units.first.class.name, :content_unit_ids => content_unit_ids)
33
33
  plan_action(CapsuleSync, repository) if sync_capsule
@@ -34,38 +34,47 @@ module Actions
34
34
 
35
35
  pulp_sync_options = {}
36
36
  pulp_sync_options[:download_policy] = ::Runcible::Models::YumImporter::DOWNLOAD_ON_DEMAND if validate_contents && repo.yum?
37
+
38
+ #pulp2 options
37
39
  pulp_sync_options[:force_full] = true if skip_metadata_check && repo.yum?
38
40
  pulp_sync_options[:repair_sync] = true if validate_contents && repo.deb?
39
41
  pulp_sync_options[:remove_missing] = false if incremental
42
+ pulp_sync_options[:source_url] = source_url
43
+
44
+ #pulp3 options
45
+ pulp_sync_options[:optimize] = false if skip_metadata_check && repo.yum?
40
46
 
41
47
  sequence do
42
- plan_action(Pulp::Repository::RemoveUnits, :repo_id => repo.id, :content_unit_type => ::Katello::YumMetadataFile::CONTENT_TYPE) if validate_contents && repo.yum?
43
- sync_args = {:smart_proxy_id => SmartProxy.pulp_master.id, :repo_id => repo.id, :source_url => source_url, :options => pulp_sync_options}
44
- sync_action = plan_pulp_action([Actions::Pulp::Orchestration::Repository::Sync,
45
- Actions::Pulp3::Orchestration::Repository::Sync],
46
- repo,
47
- SmartProxy.pulp_master,
48
- sync_args)
49
- output = sync_action.output
50
-
51
- contents_changed = skip_metadata_check || output[:contents_changed]
52
-
53
- plan_action(Katello::Repository::IndexContent, :id => repo.id, :contents_changed => contents_changed)
54
- plan_action(Katello::Foreman::ContentUpdate, repo.environment, repo.content_view, repo)
55
- plan_action(Katello::Repository::FetchPxeFiles, :id => repo.id)
56
- plan_action(Katello::Repository::CorrectChecksum, repo)
57
- concurrence do
58
- plan_action(Pulp::Repository::Download, :pulp_id => repo.pulp_id, :options => {:verify_all_units => true}) if validate_contents && repo.yum?
59
- plan_action(Katello::Repository::MetadataGenerate, repo, :force => true) if skip_metadata_check && repo.yum?
60
- plan_action(Katello::Repository::ErrataMail, repo, nil, contents_changed)
61
- if generate_applicability
62
- regenerate_applicability(repo, contents_changed)
48
+ if SmartProxy.pulp_primary.pulp3_support?(repo) && validate_contents
49
+ plan_action(Katello::Repository::VerifyChecksum, repo)
50
+ else
51
+ plan_action(Pulp::Repository::RemoveUnits, :repo_id => repo.id, :content_unit_type => ::Katello::YumMetadataFile::CONTENT_TYPE) if validate_contents && repo.yum?
52
+ sync_action = plan_pulp_action([Actions::Pulp::Orchestration::Repository::Sync,
53
+ Actions::Pulp3::Orchestration::Repository::Sync],
54
+ repo,
55
+ SmartProxy.pulp_primary,
56
+ pulp_sync_options)
57
+ output = sync_action.output
58
+
59
+ contents_changed = skip_metadata_check || output[:contents_changed]
60
+
61
+ plan_action(Katello::Repository::IndexContent, :id => repo.id, :contents_changed => contents_changed)
62
+ plan_action(Katello::Foreman::ContentUpdate, repo.environment, repo.content_view, repo)
63
+ plan_action(Katello::Repository::FetchPxeFiles, :id => repo.id)
64
+ plan_action(Katello::Repository::CorrectChecksum, repo)
65
+ concurrence do
66
+ plan_action(Pulp::Repository::Download, :pulp_id => repo.pulp_id, :options => {:verify_all_units => true}) if validate_contents && repo.yum?
67
+ plan_action(Katello::Repository::MetadataGenerate, repo, :force => true) if skip_metadata_check && repo.yum?
68
+ plan_action(Katello::Repository::ErrataMail, repo, nil, contents_changed)
69
+ if generate_applicability
70
+ regenerate_applicability(repo, contents_changed)
71
+ end
63
72
  end
73
+ plan_self(:id => repo.id, :sync_result => output, :skip_metadata_check => skip_metadata_check, :validate_contents => validate_contents,
74
+ :contents_changed => contents_changed)
75
+ plan_action(Katello::Repository::ImportApplicability, :repo_id => repo.id, :contents_changed => contents_changed) if generate_applicability
76
+ plan_action(Katello::Repository::SyncHook, :id => repo.id)
64
77
  end
65
- plan_self(:id => repo.id, :sync_result => output, :skip_metadata_check => skip_metadata_check, :validate_contents => validate_contents,
66
- :contents_changed => contents_changed)
67
- plan_action(Katello::Repository::ImportApplicability, :repo_id => repo.id, :contents_changed => contents_changed) if generate_applicability
68
- plan_action(Katello::Repository::SyncHook, :id => repo.id)
69
78
  end
70
79
  end
71
80
 
@@ -91,6 +100,7 @@ module Actions
91
100
  def presenter
92
101
  found = all_planned_actions(Pulp::Repository::Sync)
93
102
  found = all_planned_actions(Pulp3::Repository::Sync) if found.empty?
103
+ found = all_planned_actions(Pulp3::Repository::Repair) if found.empty?
94
104
  Helpers::Presenter::Delegated.new(self, found)
95
105
  end
96
106
 
@@ -3,13 +3,14 @@ module Actions
3
3
  module Repository
4
4
  class Update < Actions::EntryAction
5
5
  include Actions::Katello::PulpSelector
6
+
7
+ # rubocop:disable Metrics/MethodLength
6
8
  def plan(root, repo_params)
7
9
  repository = root.library_instance
8
10
  action_subject root.library_instance
9
11
 
10
12
  repo_params[:url] = nil if repo_params[:url] == ''
11
- update_cv_cert_protected = (repo_params[:unprotected] != repository.unprotected)
12
- update_auto_enabled = repo_params.key?(:auto_enabled) && (repo_params[:auto_enabled] != root.auto_enabled)
13
+ update_cv_cert_protected = repo_params.key?(:unprotected) && (repo_params[:unprotected] != repository.unprotected)
13
14
  root.update!(repo_params)
14
15
 
15
16
  if root.download_policy == ::Runcible::Models::YumImporter::DOWNLOAD_BACKGROUND
@@ -21,33 +22,43 @@ module Actions
21
22
  end
22
23
 
23
24
  if update_content?(repository)
24
- plan_action(Katello::Repository::ContentUpdate, repository,
25
- update_auto_enabled: update_auto_enabled)
26
- end
25
+ content = root.content
27
26
 
27
+ plan_action(::Actions::Candlepin::Product::ContentUpdate,
28
+ :owner => repository.organization.label,
29
+ :content_id => root.content_id,
30
+ :name => root.name,
31
+ :content_url => root.custom_content_path,
32
+ :gpg_key_url => repository.yum_gpg_key_url,
33
+ :label => content.label,
34
+ :type => root.content_type,
35
+ :arches => root.format_arches)
36
+
37
+ content.update!(name: root.name,
38
+ content_url: root.custom_content_path,
39
+ content_type: repository.content_type,
40
+ label: content.label,
41
+ gpg_url: repository.yum_gpg_key_url)
42
+ end
28
43
  if root.pulp_update_needed?
29
- plan_pulp_action([::Actions::Pulp::Orchestration::Repository::Refresh,
30
- ::Actions::Pulp3::Orchestration::Repository::Update],
31
- repository,
32
- SmartProxy.pulp_master)
33
- plan_self(:repository_id => root.library_instance.id, :update_cv_cert_protected => update_cv_cert_protected)
44
+ sequence do
45
+ plan_pulp_action([::Actions::Pulp::Orchestration::Repository::Refresh,
46
+ ::Actions::Pulp3::Orchestration::Repository::Update],
47
+ repository,
48
+ SmartProxy.pulp_primary)
49
+ plan_self(:repository_id => root.library_instance.id)
50
+ if update_cv_cert_protected
51
+ plan_optional_pulp_action([::Actions::Pulp3::Orchestration::Repository::TriggerUpdateRepoCertGuard], repository, ::SmartProxy.pulp_primary)
52
+ end
53
+ end
34
54
  end
35
55
  end
36
56
 
37
57
  def run
38
58
  repository = ::Katello::Repository.find(input[:repository_id])
39
- output[:repository_id] = input[:repository_id]
40
- output[:update_cv_cert_protected] = input[:update_cv_cert_protected]
41
59
  ForemanTasks.async_task(Katello::Repository::MetadataGenerate, repository)
42
60
  end
43
61
 
44
- def finalize
45
- repository = ::Katello::Repository.find(output[:repository_id])
46
- if output[:update_cv_cert_protected]
47
- ForemanTasks.async_task(::Actions::Katello::Repository::UpdateCVRepoCertGuard, repository, SmartProxy.pulp_master)
48
- end
49
- end
50
-
51
62
  private
52
63
 
53
64
  def update_content?(repository)
@@ -9,7 +9,7 @@ module Actions
9
9
  [Actions::Pulp::Orchestration::Repository::Refresh,
10
10
  Actions::Pulp3::Repository::UpdateRemote],
11
11
  repository,
12
- SmartProxy.pulp_master)
12
+ SmartProxy.pulp_primary)
13
13
  end
14
14
  end
15
15
  end
@@ -7,7 +7,7 @@ module Actions
7
7
  plan_action(Katello::Repository::MetadataGenerate, repository)
8
8
  concurrence do
9
9
  ::SmartProxy.with_repo(repository).each do |capsule|
10
- next if capsule.pulp_master?
10
+ next if capsule.pulp_primary?
11
11
  plan_action(Katello::CapsuleContent::Sync, capsule, repository_id: repository.id)
12
12
  end
13
13
  end
@@ -12,7 +12,7 @@ module Actions
12
12
  tmp_files = prepare_tmp_files(files)
13
13
 
14
14
  content_type ||= ::Katello::RepositoryTypeManager.find(repository.content_type).default_managed_content_type.label
15
- unit_type_id = SmartProxy.pulp_master.content_service(content_type)::CONTENT_TYPE
15
+ unit_type_id = SmartProxy.pulp_primary.content_service(content_type)::CONTENT_TYPE
16
16
  upload_actions = []
17
17
  sequence do
18
18
  concurrence do
@@ -20,7 +20,7 @@ module Actions
20
20
  sequence do
21
21
  upload_action = plan_pulp_action([Pulp::Orchestration::Repository::UploadContent,
22
22
  Pulp3::Orchestration::Repository::UploadContent],
23
- repository, SmartProxy.pulp_master!, file, unit_type_id)
23
+ repository, SmartProxy.pulp_primary!, file, unit_type_id)
24
24
 
25
25
  upload_actions << upload_action.output
26
26
  end
@@ -0,0 +1,28 @@
1
+ module Actions
2
+ module Katello
3
+ module Repository
4
+ class VerifyChecksum < Actions::EntryAction
5
+ include Helpers::Presenter
6
+ include Actions::Katello::PulpSelector
7
+
8
+ def plan(repo)
9
+ action_subject(repo)
10
+
11
+ if SmartProxy.pulp_primary.pulp3_support?(repo)
12
+ plan_action(Actions::Pulp3::Repository::Repair, repo.id, SmartProxy.pulp_primary)
13
+ else
14
+ options = {}
15
+ options[:validate_contents] = true
16
+ plan_action(Actions::Katello::Repository::Sync, repo, nil, options)
17
+ end
18
+ end
19
+
20
+ def presenter
21
+ found = all_planned_actions(Katello::Repository::Sync)
22
+ found = all_planned_actions(Pulp3::Repository::Repair) if found.empty?
23
+ Helpers::Presenter::Delegated.new(self, found)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -28,7 +28,7 @@ module Actions
28
28
  target_env = ::Katello::ContentViewPuppetEnvironment.find(input[:target_content_view_puppet_environment_id])
29
29
 
30
30
  puppet_modules = input[:puppet_module_ids] ? ::Katello::PuppetModule.where(:id => input[:puppet_module_ids]) : nil
31
- source_repository.backend_service(SmartProxy.pulp_master).copy_contents(target_env.nonpersisted_repository, puppet_modules: puppet_modules)
31
+ source_repository.backend_service(SmartProxy.pulp_primary).copy_contents(target_env.nonpersisted_repository, puppet_modules: puppet_modules)
32
32
  end
33
33
  end
34
34
  end
@@ -5,7 +5,7 @@ module Actions
5
5
  class RemoveOrphans < Pulp::Abstract
6
6
  def plan(proxy)
7
7
  sequence do
8
- plan_action(Actions::Pulp::OrphanCleanup::RemoveUnneededRepos, proxy) unless proxy.pulp_master?
8
+ plan_action(Actions::Pulp::OrphanCleanup::RemoveUnneededRepos, proxy) unless proxy.pulp_primary?
9
9
  plan_action(Actions::Pulp::OrphanCleanup::RemoveOrphans, proxy)
10
10
  end
11
11
  end
@@ -4,8 +4,9 @@ module Actions
4
4
  module Repository
5
5
  class Sync < Pulp::Abstract
6
6
  include Actions::Helpers::OutputPropagator
7
- def plan(_repository, _smart_proxy, options)
7
+ def plan(repository, smart_proxy, options)
8
8
  sequence do
9
+ options.merge!(:repo_id => repository.id, :smart_proxy_id => smart_proxy.id)
9
10
  action_output = plan_action(Actions::Pulp::Repository::Sync, options).output
10
11
  plan_self(:subaction_output => action_output)
11
12
  end
@@ -19,7 +19,7 @@ module Actions
19
19
  target_repo = ::Katello::Repository.find(input[:target_repo_id])
20
20
  filters = ::Katello::ContentViewFilter.where(:id => input[:filter_ids])
21
21
 
22
- source_repo.backend_service(SmartProxy.pulp_master).copy_contents(target_repo,
22
+ source_repo.backend_service(SmartProxy.pulp_primary).copy_contents(target_repo,
23
23
  filters: filters,
24
24
  solve_dependencies: input[:solve_dependencies],
25
25
  rpm_filenames: input[:rpm_filenames])
@@ -16,7 +16,7 @@ module Actions
16
16
  source_repo = ::Katello::Repository.find(input[:source_repo_id])
17
17
  target_repo = ::Katello::Repository.find(input[:target_repo_id])
18
18
  units = input[:class_name].constantize.where(:id => input[:unit_ids])
19
- source_repo.backend_service(SmartProxy.pulp_master).copy_units(target_repo, units,
19
+ source_repo.backend_service(SmartProxy.pulp_primary).copy_units(target_repo, units,
20
20
  incremental_update: input[:incremental_update])
21
21
  end
22
22
  end
@@ -9,7 +9,7 @@ module Actions
9
9
  param :capsule_id
10
10
  end
11
11
 
12
- def plan(repository, smart_proxy = SmartProxy.pulp_master!)
12
+ def plan(repository, smart_proxy = SmartProxy.pulp_primary!)
13
13
  if repository.is_a?(::Katello::ContentViewPuppetEnvironment)
14
14
  plan_self(:content_view_puppet_environment_id => repository.id, :capsule_id => smart_proxy.id)
15
15
  else
@@ -19,7 +19,7 @@ module Actions
19
19
  Rails.logger.warn("Tried to delete repository #{input[:repository_id]}, but it did not exist.")
20
20
  return []
21
21
  end
22
- capsule = input[:capsule_id] ? smart_proxy(input[:capsule_id]) : SmartProxy.pulp_master
22
+ capsule = input[:capsule_id] ? smart_proxy(input[:capsule_id]) : SmartProxy.pulp_primary
23
23
  output[:pulp_tasks] = repo.backend_service(capsule).delete
24
24
  end
25
25
  end
@@ -24,11 +24,11 @@ module Actions
24
24
  units = content_type.model_class.where(:id => input[:contents])
25
25
  unit_pulp_ids = units.map(&:pulp_id).sort
26
26
  end
27
- tasks << ::SmartProxy.pulp_master.content_service(content_type).remove(repo, unit_pulp_ids)
27
+ tasks << ::SmartProxy.pulp_primary.content_service(content_type).remove(repo, unit_pulp_ids)
28
28
  else
29
29
  repo_content_types = ::Katello::RepositoryTypeManager.find(repo.content_type).content_types
30
30
  repo_content_types.each do |type|
31
- tasks << ::SmartProxy.pulp_master.content_service(type).remove(repo)
31
+ tasks << ::SmartProxy.pulp_primary.content_service(type).remove(repo)
32
32
  end
33
33
  end
34
34
  tasks
@@ -14,9 +14,10 @@ module Actions
14
14
  overrides = {}
15
15
  overrides[:feed] = input[:source_url] if input[:source_url]
16
16
  overrides[:validate] = !(SETTINGS[:katello][:pulp][:skip_checksum_validation])
17
- overrides[:options] = input[:options] if input[:options]
17
+ overrides.merge(input[:options]) if input[:options]
18
18
  repo = ::Katello::Repository.find(input[:repo_id])
19
- output[:pulp_tasks] = repo.backend_service(::SmartProxy.pulp_master).sync(overrides)
19
+
20
+ output[:pulp_tasks] = repo.backend_service(::SmartProxy.pulp_primary).sync(overrides)
20
21
  end
21
22
 
22
23
  def finalize
@@ -11,7 +11,9 @@ module Actions
11
11
 
12
12
  def invoke_external_task
13
13
  repo = ::Katello::Repository.find(input[:repository_id])
14
- output[:pulp_tasks] = repo.backend_service(smart_proxy).with_mirror_adapter.sync
14
+ sync_options = {}
15
+ sync_options[:optimize] = false if sync_options[:skip_metadata_check]
16
+ output[:pulp_tasks] = repo.backend_service(smart_proxy).with_mirror_adapter.sync(sync_options)
15
17
  end
16
18
 
17
19
  def rescue_strategy_for_self
@@ -0,0 +1,19 @@
1
+ module Actions
2
+ module Pulp3
3
+ module ContentGuard
4
+ class RefreshAllDistributions < Pulp3::Abstract
5
+ def plan(smart_proxy)
6
+ sequence do
7
+ plan_action(Actions::Pulp3::ContentGuard::Refresh, smart_proxy)
8
+
9
+ roots = ::Katello::RootRepository.where.not(:content_type => ::Katello::Repository::DOCKER_TYPE).where(:unprotected => false)
10
+ repositories = ::Katello::Repository.where(:root => roots)
11
+ if repositories.any?
12
+ plan_action(::Actions::BulkAction, Actions::Pulp3::Repository::RefreshDistribution, repositories, smart_proxy.id, assume_content_guard_exists: true)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end