katello 4.9.1 → 4.10.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 (308) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -7
  3. data/app/assets/javascripts/katello/locale/bn/katello.js +8967 -1
  4. data/app/assets/javascripts/katello/locale/bn_IN/katello.js +8967 -0
  5. data/app/assets/javascripts/katello/locale/ca/katello.js +8967 -0
  6. data/app/assets/javascripts/katello/locale/cs/katello.js +8967 -1
  7. data/app/assets/javascripts/katello/locale/cs_CZ/katello.js +8969 -0
  8. data/app/assets/javascripts/katello/locale/de/katello.js +8991 -1
  9. data/app/assets/javascripts/katello/locale/de_AT/katello.js +8966 -0
  10. data/app/assets/javascripts/katello/locale/de_DE/katello.js +8967 -0
  11. data/app/assets/javascripts/katello/locale/el/katello.js +8967 -0
  12. data/app/assets/javascripts/katello/locale/en/katello.js +8967 -1
  13. data/app/assets/javascripts/katello/locale/en_GB/katello.js +8967 -0
  14. data/app/assets/javascripts/katello/locale/en_US/katello.js +8966 -0
  15. data/app/assets/javascripts/katello/locale/es/katello.js +8984 -1
  16. data/app/assets/javascripts/katello/locale/et_EE/katello.js +8966 -0
  17. data/app/assets/javascripts/katello/locale/fr/katello.js +9008 -1
  18. data/app/assets/javascripts/katello/locale/gl/katello.js +8967 -0
  19. data/app/assets/javascripts/katello/locale/gu/katello.js +8967 -1
  20. data/app/assets/javascripts/katello/locale/he_IL/katello.js +8967 -0
  21. data/app/assets/javascripts/katello/locale/hi/katello.js +8967 -1
  22. data/app/assets/javascripts/katello/locale/id/katello.js +8966 -0
  23. data/app/assets/javascripts/katello/locale/it/katello.js +8974 -1
  24. data/app/assets/javascripts/katello/locale/ja/katello.js +9004 -1
  25. data/app/assets/javascripts/katello/locale/ka/katello.js +8976 -1
  26. data/app/assets/javascripts/katello/locale/kn/katello.js +8967 -1
  27. data/app/assets/javascripts/katello/locale/ko/katello.js +8972 -1
  28. data/app/assets/javascripts/katello/locale/locale/katello.js +3070 -1
  29. data/app/assets/javascripts/katello/locale/ml_IN/katello.js +8966 -0
  30. data/app/assets/javascripts/katello/locale/mr/katello.js +8967 -1
  31. data/app/assets/javascripts/katello/locale/nl_NL/katello.js +8967 -0
  32. data/app/assets/javascripts/katello/locale/or/katello.js +8967 -1
  33. data/app/assets/javascripts/katello/locale/pa/katello.js +8967 -1
  34. data/app/assets/javascripts/katello/locale/pl/katello.js +8967 -0
  35. data/app/assets/javascripts/katello/locale/pl_PL/katello.js +8966 -0
  36. data/app/assets/javascripts/katello/locale/pt/katello.js +8967 -1
  37. data/app/assets/javascripts/katello/locale/pt_BR/katello.js +8984 -1
  38. data/app/assets/javascripts/katello/locale/ro/katello.js +8966 -0
  39. data/app/assets/javascripts/katello/locale/ro_RO/katello.js +8966 -0
  40. data/app/assets/javascripts/katello/locale/ru/katello.js +8973 -1
  41. data/app/assets/javascripts/katello/locale/sl/katello.js +8967 -0
  42. data/app/assets/javascripts/katello/locale/sv_SE/katello.js +8967 -0
  43. data/app/assets/javascripts/katello/locale/ta/katello.js +8967 -1
  44. data/app/assets/javascripts/katello/locale/ta_IN/katello.js +8967 -0
  45. data/app/assets/javascripts/katello/locale/te/katello.js +8967 -1
  46. data/app/assets/javascripts/katello/locale/tr/katello.js +8967 -0
  47. data/app/assets/javascripts/katello/locale/vi/katello.js +8966 -0
  48. data/app/assets/javascripts/katello/locale/vi_VN/katello.js +8966 -0
  49. data/app/assets/javascripts/katello/locale/zh/katello.js +8966 -0
  50. data/app/assets/javascripts/katello/locale/zh_CN/katello.js +9004 -1
  51. data/app/assets/javascripts/katello/locale/zh_TW/katello.js +8972 -1
  52. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -1
  53. data/app/controllers/katello/api/v2/alternate_content_sources_bulk_actions_controller.rb +22 -1
  54. data/app/controllers/katello/api/v2/api_controller.rb +0 -15
  55. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +13 -4
  56. data/app/controllers/katello/api/v2/host_errata_controller.rb +0 -12
  57. data/app/controllers/katello/api/v2/host_packages_controller.rb +0 -55
  58. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -1
  59. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +0 -77
  60. data/app/controllers/katello/api/v2/organizations_controller.rb +2 -1
  61. data/app/controllers/katello/api/v2/products_controller.rb +4 -4
  62. data/app/controllers/katello/api/v2/repositories_bulk_actions_controller.rb +12 -5
  63. data/app/controllers/katello/api/v2/repositories_controller.rb +16 -17
  64. data/app/controllers/katello/api/v2/sync_controller.rb +0 -1
  65. data/app/controllers/katello/concerns/api/api_controller.rb +0 -10
  66. data/app/controllers/katello/concerns/content_facet_hosts_controller_extensions.rb +7 -9
  67. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +1 -1
  68. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +14 -2
  69. data/app/lib/actions/katello/alternate_content_source/update.rb +1 -1
  70. data/app/lib/actions/katello/content_view/capsule_sync.rb +1 -1
  71. data/app/lib/actions/katello/content_view/incremental_updates.rb +3 -9
  72. data/app/lib/actions/katello/content_view_environment/destroy.rb +5 -3
  73. data/app/lib/actions/katello/content_view_version/destroy.rb +5 -1
  74. data/app/lib/actions/katello/content_view_version/republish_repositories.rb +8 -2
  75. data/app/lib/actions/katello/host/update_content_view.rb +4 -2
  76. data/app/lib/actions/katello/product/destroy.rb +15 -11
  77. data/app/lib/actions/katello/repository/capsule_sync.rb +1 -1
  78. data/app/lib/actions/katello/repository/destroy.rb +10 -2
  79. data/app/lib/actions/katello/repository/index_content.rb +0 -1
  80. data/app/lib/actions/katello/repository/sync.rb +1 -3
  81. data/app/lib/actions/katello/repository/update_metadata_sync.rb +1 -1
  82. data/app/lib/actions/katello/repository/verify_checksum.rb +2 -10
  83. data/app/lib/actions/pulp3/orchestration/repository/generate_metadata.rb +12 -5
  84. data/app/lib/katello/concerns/base_template_scope_extensions.rb +4 -9
  85. data/app/lib/katello/resources/cdn.rb +4 -0
  86. data/app/lib/katello/validators/alternate_content_source_products_validator.rb +1 -1
  87. data/app/models/katello/candlepin/repository_mapper.rb +1 -0
  88. data/app/models/katello/cdn_configuration.rb +4 -0
  89. data/app/models/katello/concerns/host_managed_extensions.rb +57 -4
  90. data/app/models/katello/content_view.rb +21 -3
  91. data/app/models/katello/content_view_component.rb +1 -1
  92. data/app/models/katello/content_view_version.rb +4 -0
  93. data/app/models/katello/docker_meta_tag.rb +3 -1
  94. data/app/models/katello/host/content_facet.rb +10 -8
  95. data/app/models/katello/kt_environment.rb +1 -1
  96. data/app/models/katello/ping.rb +1 -12
  97. data/app/models/katello/product_content.rb +14 -1
  98. data/app/models/katello/repository.rb +6 -1
  99. data/app/models/katello/root_repository.rb +2 -8
  100. data/app/services/katello/applicability/applicable_content_helper.rb +2 -2
  101. data/app/services/katello/registration_manager.rb +2 -12
  102. data/app/views/foreman/job_templates/configure_host_for_new_content_source.erb +25 -0
  103. data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +1 -1
  104. data/app/views/katello/api/v2/content_facet/show.json.rabl +0 -12
  105. data/app/views/katello/api/v2/content_view_components/show.json.rabl +4 -1
  106. data/app/views/katello/api/v2/content_views/base.json.rabl +6 -2
  107. data/app/views/katello/api/v2/products/show.json.rabl +3 -0
  108. data/app/views/katello/api/v2/repositories/base.json.rabl +18 -0
  109. data/app/views/katello/api/v2/repositories/show.json.rabl +0 -1
  110. data/app/views/katello/api/v2/repository_sets/show.json.rabl +2 -2
  111. data/app/views/overrides/activation_keys/_host_environment_select.html.erb +4 -5
  112. data/app/views/overrides/activation_keys/_host_media_type_select.html.erb +11 -3
  113. data/app/views/overrides/activation_keys/_host_synced_content_select.html.erb +15 -7
  114. data/config/initializers/monkeys.rb +1 -0
  115. data/config/katello.yaml.example +0 -4
  116. data/config/routes/api/v2.rb +3 -0
  117. data/config/routes/overrides.rb +0 -11
  118. data/db/migrate/20220228173251_remove_drpm_from_ignorable_content.rb +1 -0
  119. data/db/migrate/20230609155411_add_custom_cdn_auth_enabled_to_katello_cdn_configurations.rb +5 -0
  120. data/db/migrate/20230710190626_remove_relative_path_limit.rb +5 -0
  121. data/db/migrate/20230717150442_change_change_content_source_job_template_name.rb +20 -0
  122. data/db/migrate/20230828143236_remove_katello_agent_dispatch_history.rb +15 -0
  123. data/db/seeds.d/111-upgrade_tasks.rb +1 -2
  124. data/engines/bastion/app/views/bastion/layouts/assets.html.erb +1 -1
  125. data/engines/bastion_katello/README.md +2 -1
  126. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.controller.js +4 -2
  127. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +2 -2
  128. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys.html +8 -3
  129. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +3 -44
  130. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-module-streams-modal.controller.js +0 -1
  131. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +1 -65
  132. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +1 -3
  133. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +1 -6
  134. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-debs-applicable.controller.js +1 -1
  135. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +1 -16
  136. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-module-streams.controller.js +0 -1
  137. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-actions.controller.js +0 -1
  138. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +2 -11
  139. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +0 -2
  140. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages.controller.js +1 -39
  141. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-debs-applicable.html +2 -2
  142. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +1 -4
  143. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +2 -4
  144. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +4 -6
  145. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +1 -3
  146. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +0 -14
  147. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +1 -2
  148. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-content-views.controller.js +2 -1
  149. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file-content-views.html +1 -1
  150. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +235 -521
  151. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-details.controller.js +2 -0
  152. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +17 -4
  153. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +55 -6
  154. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +2 -2
  155. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +13 -2
  156. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +2 -2
  157. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +4 -1
  158. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-details.html +5 -0
  159. data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -3
  160. data/lib/katello/engine.rb +0 -18
  161. data/lib/katello/permission_creator.rb +1 -1
  162. data/lib/katello/plugin.rb +0 -25
  163. data/lib/katello/version.rb +1 -1
  164. data/lib/monkeys/remove_hidden_distribution.rb +383 -0
  165. data/locale/action_names.rb +3 -1
  166. data/locale/bn/katello.po +130 -39
  167. data/locale/bn_IN/katello.po +130 -39
  168. data/locale/ca/katello.po +130 -39
  169. data/locale/cs/katello.po +130 -39
  170. data/locale/cs_CZ/katello.po +130 -39
  171. data/locale/de/LC_MESSAGES/katello.mo +0 -0
  172. data/locale/de/katello.po +134 -43
  173. data/locale/de_AT/katello.po +130 -39
  174. data/locale/de_DE/katello.po +130 -39
  175. data/locale/el/katello.po +130 -39
  176. data/locale/en/katello.po +130 -39
  177. data/locale/en_GB/katello.po +130 -39
  178. data/locale/en_US/katello.po +130 -39
  179. data/locale/es/LC_MESSAGES/katello.mo +0 -0
  180. data/locale/es/katello.po +133 -42
  181. data/locale/et_EE/katello.po +130 -39
  182. data/locale/fr/LC_MESSAGES/katello.mo +0 -0
  183. data/locale/fr/katello.po +138 -47
  184. data/locale/gl/katello.po +130 -39
  185. data/locale/gu/katello.po +130 -39
  186. data/locale/he_IL/katello.po +130 -39
  187. data/locale/hi/katello.po +130 -39
  188. data/locale/id/katello.po +130 -39
  189. data/locale/it/LC_MESSAGES/katello.mo +0 -0
  190. data/locale/it/katello.po +131 -40
  191. data/locale/ja/LC_MESSAGES/katello.mo +0 -0
  192. data/locale/ja/katello.po +138 -47
  193. data/locale/ka/LC_MESSAGES/katello.mo +0 -0
  194. data/locale/ka/katello.po +131 -40
  195. data/locale/katello.pot +805 -642
  196. data/locale/kn/katello.po +130 -39
  197. data/locale/ko/LC_MESSAGES/katello.mo +0 -0
  198. data/locale/ko/katello.po +131 -40
  199. data/locale/ml_IN/katello.po +130 -39
  200. data/locale/mr/katello.po +130 -39
  201. data/locale/nl_NL/katello.po +130 -39
  202. data/locale/or/katello.po +130 -39
  203. data/locale/pa/katello.po +130 -39
  204. data/locale/pl/katello.po +130 -39
  205. data/locale/pl_PL/katello.po +130 -39
  206. data/locale/pt/katello.po +130 -39
  207. data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
  208. data/locale/pt_BR/katello.po +133 -42
  209. data/locale/ro/katello.po +130 -39
  210. data/locale/ro_RO/katello.po +130 -39
  211. data/locale/ru/LC_MESSAGES/katello.mo +0 -0
  212. data/locale/ru/katello.po +131 -40
  213. data/locale/sl/katello.po +130 -39
  214. data/locale/sv_SE/katello.po +130 -39
  215. data/locale/ta/katello.po +130 -39
  216. data/locale/ta_IN/katello.po +130 -39
  217. data/locale/te/katello.po +130 -39
  218. data/locale/tr/katello.po +130 -39
  219. data/locale/vi/katello.po +130 -39
  220. data/locale/vi_VN/katello.po +130 -39
  221. data/locale/zh/katello.po +130 -39
  222. data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
  223. data/locale/zh_CN/katello.po +138 -47
  224. data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
  225. data/locale/zh_TW/katello.po +131 -40
  226. data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +0 -5
  227. data/webpack/components/extensions/HostDetails/Tabs/ContentTab/index.js +9 -3
  228. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +7 -54
  229. data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/HostErrataActions.js +2 -11
  230. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/HostPackagesActions.js +1 -40
  231. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/HostPackagesConstants.js +0 -3
  232. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +5 -40
  233. data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +6 -61
  234. data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +5 -4
  235. data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +0 -212
  236. data/webpack/components/extensions/HostDetails/Tabs/__tests__/packageInstallModal.test.js +2 -157
  237. data/webpack/components/extensions/HostDetails/hostDetailsHelpers.js +0 -20
  238. data/webpack/containers/Application/config.js +5 -0
  239. data/webpack/scenes/ActivationKeys/Details/ActivationKeyActions.js +31 -0
  240. data/webpack/scenes/ActivationKeys/Details/ActivationKeyConstants.js +3 -0
  241. data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetails.js +127 -0
  242. data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetails.scss +37 -0
  243. data/webpack/scenes/ActivationKeys/Details/ActivationKeyDetailsSelectors.js +16 -0
  244. data/webpack/scenes/ActivationKeys/Details/__tests__/activationKeyDetails.test.js +117 -0
  245. data/webpack/scenes/ActivationKeys/Details/components/DeleteMenu.js +77 -0
  246. data/webpack/scenes/ActivationKeys/Details/components/DeleteModal.js +63 -0
  247. data/webpack/scenes/ActivationKeys/Details/components/EditModal.js +199 -0
  248. data/webpack/scenes/ActivationKeys/Details/index.js +3 -0
  249. data/webpack/scenes/AlternateContentSources/Create/Steps/AcsUrlPaths.js +1 -1
  250. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditCredentials.js +10 -5
  251. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditProducts.js +8 -3
  252. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditSmartProxies.js +8 -3
  253. data/webpack/scenes/AlternateContentSources/Details/EditModals/ACSEditURLPaths.js +1 -1
  254. data/webpack/scenes/AlternateContentSources/Details/__tests__/ACSEdits.test.js +2 -2
  255. data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +1 -1
  256. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +37 -29
  257. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +53 -37
  258. data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +7 -0
  259. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.fixtures.json +15 -6
  260. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +6 -5
  261. data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/publishedContentViewDetails.fixtures.json +43 -197
  262. data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +1 -1
  263. data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +1 -1
  264. data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +2 -2
  265. data/webpack/scenes/ContentViews/Details/Versions/Compare/CVVersionCompareConfig.js +1 -1
  266. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.fixtures.json +0 -98
  267. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +103 -1
  268. data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersionsLatestEnvironment.fixtures.json +634 -0
  269. data/webpack/scenes/ContentViews/components/ContentViewSelect/helpers.js +1 -1
  270. data/webpack/scenes/Hosts/ChangeContentSource/actions.js +14 -12
  271. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceForm.js +45 -6
  272. data/webpack/scenes/Hosts/ChangeContentSource/components/ContentSourceTemplate.js +42 -7
  273. data/webpack/scenes/Hosts/ChangeContentSource/index.js +37 -10
  274. data/webpack/scenes/Hosts/ChangeContentSource/styles.scss +5 -0
  275. data/webpack/scenes/RedHatRepositories/__tests__/__snapshots__/RedHatRepositoriesPage.test.js.snap +0 -8
  276. data/webpack/scenes/RedHatRepositories/index.scss +1 -1
  277. data/webpack/scenes/Subscriptions/Manifest/ManageManifestModal.js +2 -2
  278. data/webpack/scenes/Subscriptions/__tests__/__snapshots__/SubscriptionsPage.test.js.snap +0 -8
  279. metadata +85 -80
  280. data/app/lib/actions/katello/agent/dispatch_history_presenter.rb +0 -64
  281. data/app/lib/actions/katello/agent_action.rb +0 -119
  282. data/app/lib/actions/katello/bulk_agent_action.rb +0 -34
  283. data/app/lib/actions/katello/host/erratum/applicable_errata_install.rb +0 -44
  284. data/app/lib/actions/katello/host/erratum/install.rb +0 -38
  285. data/app/lib/actions/katello/host/package/install.rb +0 -34
  286. data/app/lib/actions/katello/host/package/remove.rb +0 -48
  287. data/app/lib/actions/katello/host/package/update.rb +0 -42
  288. data/app/lib/actions/katello/host/package_group/install.rb +0 -30
  289. data/app/lib/actions/katello/host/package_group/remove.rb +0 -30
  290. data/app/lib/katello/agent/base_message.rb +0 -41
  291. data/app/lib/katello/agent/client_message_handler.rb +0 -69
  292. data/app/lib/katello/agent/connection.rb +0 -38
  293. data/app/lib/katello/agent/install_errata_message.rb +0 -25
  294. data/app/lib/katello/agent/install_package_group_message.rb +0 -25
  295. data/app/lib/katello/agent/install_package_message.rb +0 -28
  296. data/app/lib/katello/agent/remove_package_group_message.rb +0 -25
  297. data/app/lib/katello/agent/remove_package_message.rb +0 -28
  298. data/app/lib/katello/agent/update_package_message.rb +0 -33
  299. data/app/lib/katello/event_daemon/services/agent_event_receiver.rb +0 -59
  300. data/app/lib/katello/qpid/connection.rb +0 -149
  301. data/app/lib/katello/util/default_enablement_migrator.rb +0 -183
  302. data/app/models/katello/agent/dispatch_history.rb +0 -19
  303. data/app/models/katello/events/delete_host_agent_queue.rb +0 -19
  304. data/app/services/katello/agent/dispatcher.rb +0 -60
  305. data/app/views/foreman/job_templates/change_content_source.erb +0 -18
  306. data/app/views/katello/api/v2/sync/index.json.rabl +0 -1
  307. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/katello-agent-notice.html +0 -8
  308. data/lib/katello/tasks/upgrades/4.9/update_custom_products_enablement.rake +0 -13
@@ -66,6 +66,8 @@ angular.module('Bastion.products').controller('ProductDetailsController',
66
66
  readOnlyReason = 'permissions';
67
67
  } else if (product['published_content_view_ids'].length > 0) {
68
68
  readOnlyReason = 'published';
69
+ } else if (product['has_last_affected_repo_in_filter']) {
70
+ readOnlyReason = 'last_affected_repo_on_filter';
69
71
  }
70
72
  }
71
73
 
@@ -37,14 +37,25 @@
37
37
  });
38
38
  };
39
39
 
40
+ $scope.repositoryFiltersToDelete = function () {
41
+ return _.groupBy($scope.repository.filters && $scope.repository.filters.filter(function(filter) {
42
+ return filter.last_affected_repo === true;
43
+ }), function(filter) {
44
+ return filter.content_view_id;
45
+ });
46
+ };
47
+
40
48
  $scope.repositoryWrapper = {
41
49
  repository: $scope.repository,
42
50
  repositoryVersions: {},
43
- forceDelete: false
51
+ repositoryFiltersToDelete: {},
52
+ forceDeleteCV: false,
53
+ filterAction: 'delete',
54
+ showLastFilterDeletion: false
44
55
  };
45
56
 
46
- $scope.updateForceDelete = function () {
47
- $scope.repositoryWrapper.forceDelete = !($scope.repositoryWrapper.forceDelete);
57
+ $scope.updateForceDeleteCV = function () {
58
+ $scope.repositoryWrapper.forceDeleteCV = !($scope.repositoryWrapper.forceDeleteCV);
48
59
  };
49
60
 
50
61
  $scope.product = Product.get({id: $scope.$stateParams.productId}, function () {
@@ -71,6 +82,8 @@
71
82
  $scope.page.loading = false;
72
83
  $scope.repositoryWrapper.repository = $scope.repository;
73
84
  $scope.repositoryWrapper.repositoryVersions = $scope.repositoryVersions();
85
+ $scope.repositoryWrapper.repositoryFiltersToDelete = $scope.repositoryFiltersToDelete();
86
+ $scope.repositoryWrapper.showLastFilterDeletion = Object.keys($scope.repositoryWrapper.repositoryFiltersToDelete).length !== 0;
74
87
  }, function (response) {
75
88
  $scope.page.loading = false;
76
89
  ApiErrorHandler.handleGETRequestErrors(response, $scope);
@@ -152,7 +165,7 @@
152
165
  Notification.setSuccessMessage(translate('Repository "%s" successfully deleted').replace('%s', repositoryName));
153
166
  };
154
167
 
155
- Repository.remove({id: repository.id}, success, errorHandler);
168
+ Repository.remove({id: repository.id, 'delete_orphaned_filters': ($scope.repositoryWrapper.filterAction === 'delete')}, success, errorHandler);
156
169
  };
157
170
 
158
171
  $scope.canRemove = function (repo, product) {
@@ -95,11 +95,11 @@
95
95
  </li>
96
96
  </ul>
97
97
 
98
- <div bst-modal="removeRepository(repository)" model="repositoryWrapper">
98
+ <div bst-modal="removeRepository(repository, filterAction)" model="repositoryWrapper">
99
99
  <div data-block="modal-header" translate>Remove Repository {{ repositoryWrapper.repository.name }}?</div>
100
100
  <div data-block="modal-body">
101
101
  <div ng-show="repositoryWrapper.repository.content_view_versions.length !== 0" style="margin-bottom: 1em">
102
- <span translate>Repository will also be removed from the following published content view versions!</span>
102
+ <b><span translate>Repository will also be removed from the following published content view versions!</span></b>
103
103
  <table class="table table-striped table-bordered" style="margin-top: 1em">
104
104
  <thead>
105
105
  <tr>
@@ -127,13 +127,62 @@
127
127
  </div>
128
128
  <input type="checkbox"
129
129
  ng-show="repositoryWrapper.repository.content_view_versions.length !== 0"
130
- ng-model="repositoryWrapper.forceDelete"
131
- ng-change="updateForceDelete()"/>
132
- <span translate> Are you sure you want to remove repository {{ repositoryWrapper.repository.name }} from all content views?</span>
130
+ ng-model="repositoryWrapper.forceDeleteCV"
131
+ ng-change="updateForceDeleteCV()"/>
132
+ <span translate
133
+ ng-show="repositoryWrapper.repository.content_view_versions.length !== 0"
134
+ style="margin-bottom: 2em"
135
+ >
136
+ Are you sure you want to remove repository {{ repositoryWrapper.repository.name }} from all content views?
137
+ </span>
138
+ <div ng-show="repositoryWrapper.showLastFilterDeletion" style="margin-top: 1em; margin-bottom: 1em">
139
+ <b><span translate> The filters below have this repository as the last affected repository!</span></b>
140
+ <table class="table table-striped table-bordered" style="margin-top: 1em">
141
+ <thead>
142
+ <tr>
143
+ <th translate>Content View</th>
144
+ <th translate>Filters</th>
145
+ </tr>
146
+ </thead>
147
+ <tbody>
148
+ <tr ng-repeat="filters in repositoryWrapper.repositoryFiltersToDelete">
149
+ <td class="align-center">
150
+ <a href="/content_views/{{filters[0]['content_view_id']}}/" target="_blank">
151
+ {{filters[0]['content_view_name']}}
152
+ </a>
153
+ </td>
154
+ <td class="align-center">
155
+ <div ng-repeat="filter in filters">
156
+ <a href="/content_views/{{filter['content_view_id']}}#/filters/{{filter['content_view_filter_id']}}" target="_blank">
157
+ {{filter['content_view_filter_name']}}
158
+ </a>
159
+ </div>
160
+ </td>
161
+ </tr>
162
+ </tbody>
163
+ </table>
164
+ <div class="radio">
165
+ <label>
166
+ <input type="radio" ng-model="repositoryWrapper.filterAction" value="delete" />
167
+ <span translate>
168
+ Delete filters
169
+ </span>
170
+ </label>
171
+ </div>
172
+ <div class="radio">
173
+ <label>
174
+ <input type="radio" ng-model="repositoryWrapper.filterAction" value="applyAll" />
175
+ <span translate>
176
+ Make filters apply to all repositories in the content view
177
+ </span>
178
+ </label>
179
+ </div>
180
+ </div>
133
181
  </div>
134
182
  <div data-block="modal-footer">
135
183
  <span data-block="modal-confirm-button">
136
- <button class="btn btn-danger" ng-disabled="repositoryWrapper.repository.content_view_versions.length !== 0 && !repositoryWrapper.forceDelete" ng-click="ok()">
184
+ <button class="btn btn-danger" ng-disabled="(repositoryWrapper.repository.content_view_versions.length !== 0 &&
185
+ !repositoryWrapper.forceDeleteCV)" ng-click="ok()">
137
186
  <span translate>Delete</span>
138
187
  </button>
139
188
  </span>
@@ -35,7 +35,7 @@
35
35
  <dl class="dl-horizontal dl-horizontal-left">
36
36
  <dt>
37
37
  <span translate>Restrict to architecture</span>
38
- <i class="pficon-info" title="{{ 'The repository will be enabled by default on content hosts with the selected architecture.' | translate }}"></i>
38
+ <i class="pficon-info" title="{{ 'The repository will only be available on content hosts with the selected architecture.' | translate }}"></i>
39
39
  </dt>
40
40
  <dd bst-edit-select="repository.arch==='noarch'?'No restriction':repository.arch"
41
41
  selector="repository.arch"
@@ -45,7 +45,7 @@
45
45
 
46
46
  <dt>
47
47
  <span translate>Restrict to <br />OS version</span>
48
- <i class="pficon-info" title="{{ 'The repository will be enabled by default on content hosts with the selected OS version.' | translate }}"></i>
48
+ <i class="pficon-info" title="{{ 'The repository will only be available on content hosts with the selected OS version.' | translate }}"></i>
49
49
  </dt>
50
50
  <dd bst-edit-select="repository.os_versions.length ? formatOSVersions() : 'No restriction'"
51
51
  selector="selectedOSVersion"
@@ -29,9 +29,20 @@
29
29
  <button type="button" class="btn btn-default"
30
30
  ng-hide="denied('edit_products')"
31
31
  ng-click="openModal()"
32
- ng-disabled="table.working || table.numSelected === 0">
32
+ ng-disabled="table.working || table.numSelected === 0 || product.redhat">
33
33
  <i class="fa fa-trash-o" ng-hide="table.working"></i>
34
- <span translate>Remove Packages</span>
34
+ <span ng-hide="product.redhat" translate>Remove Packages</span>
35
+ <span ng-show="product.redhat">
36
+ <span translate>Cannot Remove</span>
37
+ <span>
38
+ <i class="fa fa-question-circle" ng-show="product.redhat"
39
+ uib-tooltip="{{ 'You cannot remove content from a redhat repository' | translate }}"
40
+ tooltip-animation="false"
41
+ tooltip-placement="left"
42
+ tooltip-append-to-body="true">
43
+ </i>
44
+ </span>
45
+ </span>
35
46
  </button>
36
47
  </div>
37
48
 
@@ -60,7 +60,7 @@
60
60
  ng-options="arch.id as arch.name for arch in architecture">
61
61
  </select>
62
62
  <p class="help-block" translate>
63
- The repository will be enabled by default on content hosts with the selected architecture.
63
+ The repository will only be available on content hosts with the selected architecture.
64
64
  </p>
65
65
  </div>
66
66
 
@@ -71,7 +71,7 @@
71
71
  ng-options="tag as tag.name for tag in osVersionsOptions track by tag.id">
72
72
  </select>
73
73
  <p class="help-block" translate>
74
- The repository will be enabled by default on content hosts with the selected OS version.
74
+ The repository will only be available on content hosts with the selected OS version.
75
75
  </p>
76
76
  </div>
77
77
  </div>
@@ -45,7 +45,10 @@
45
45
  <div data-block="modal-body"
46
46
  translate
47
47
  translate-n="table.numSelected"
48
- translate-plural="Are you sure you want to remove {{ table.getSelected().length }} repositories?">
48
+ translate-plural="Repositories that are published in content view
49
+ versions or are the last affected repository in a content view filter will be skipped. You can delete those from the repository details page.
50
+ "
51
+ >
49
52
  Are you sure you want to remove the {{ table.getSelected()[0].name }} repository?
50
53
  </div>
51
54
  </div>
@@ -46,6 +46,11 @@
46
46
  tooltip-animation="false"
47
47
  tooltip-append-to-body="true">
48
48
  </i>
49
+ <i class="fa fa-question-circle" ng-switch-when="last_affected_repo_on_filter"
50
+ uib-tooltip="{{ 'You cannot remove this product because it has repositories that are the last affected repository on content view filters' | translate }}"
51
+ tooltip-animation="false"
52
+ tooltip-append-to-body="true">
53
+ </i>
49
54
  </span>
50
55
  </span>
51
56
  </li>
@@ -40,10 +40,8 @@ module BastionKatello
40
40
  :config_generator => lambda do
41
41
  { 'consumerCertRPM' => consumer_cert_rpm,
42
42
  'defaultDownloadPolicy' => !Foreman.in_rake? && db_migrated && Setting['default_download_policy'],
43
- 'katelloAgentPresent' => ::Katello.with_katello_agent?,
44
43
  'remoteExecutionPresent' => ::Katello.with_remote_execution?,
45
- 'hostToolingEnabled' => (::Katello.with_katello_agent? || ::Katello.with_remote_execution?) ? true : false,
46
- 'remoteExecutionByDefault' => ::Katello.remote_execution_by_default?
44
+ 'hostToolingEnabled' => ::Katello.with_remote_execution?
47
45
  }
48
46
  end
49
47
  )
@@ -55,14 +55,6 @@ module Katello
55
55
  :queue_name => 'katello.candlepin',
56
56
  :subscription_name => 'candlepin_events',
57
57
  :client_id => 'katello_candlepin_event_monitor'
58
- },
59
- :agent => {
60
- :client_queue_format => 'pulp.agent.%s',
61
- :event_queue_name => 'katello.agent',
62
- :broker_url => 'amqps://localhost:5671',
63
- :broker_ssl_cert_file => SETTINGS[:ssl_certificate],
64
- :broker_ssl_key_file => SETTINGS[:ssl_priv_key],
65
- :broker_ssl_ca_file => SETTINGS[:ssl_ca_file]
66
58
  }
67
59
  }
68
60
 
@@ -148,7 +140,6 @@ module Katello
148
140
 
149
141
  Katello::EventDaemon::Runner.register_service(:candlepin_events, Katello::CandlepinEventListener)
150
142
  Katello::EventDaemon::Runner.register_service(:katello_events, Katello::EventMonitor::PollerThread)
151
- Katello::EventDaemon::Runner.register_service(:katello_agent_events, Katello::EventDaemon::Services::AgentEventReceiver) if ::Katello.with_katello_agent?
152
143
 
153
144
  # Lib Extensions
154
145
  ::Foreman::Renderer::Scope::Variables::Base.include Katello::Concerns::RendererExtensions
@@ -226,7 +217,6 @@ module Katello
226
217
  Katello::EventQueue.register_event(Katello::Events::AutoPublishCompositeView::EVENT_TYPE, Katello::Events::AutoPublishCompositeView)
227
218
  Katello::EventQueue.register_event(Katello::Events::DeleteLatestContentViewVersion::EVENT_TYPE, Katello::Events::DeleteLatestContentViewVersion)
228
219
  Katello::EventQueue.register_event(Katello::Events::GenerateHostApplicability::EVENT_TYPE, Katello::Events::GenerateHostApplicability)
229
- Katello::EventQueue.register_event(Katello::Events::DeleteHostAgentQueue::EVENT_TYPE, Katello::Events::DeleteHostAgentQueue)
230
220
  Katello::EventQueue.register_event(Katello::Events::DeletePool::EVENT_TYPE, Katello::Events::DeletePool)
231
221
  end
232
222
 
@@ -242,14 +232,6 @@ module Katello
242
232
  Foreman::Plugin.installed?("foreman_remote_execution")
243
233
  end
244
234
 
245
- def self.with_katello_agent?
246
- !!SETTINGS.dig(:katello, :agent, :enabled)
247
- end
248
-
249
- def self.remote_execution_by_default?
250
- self.with_katello_agent? ? Setting['remote_execution_by_default'] : true
251
- end
252
-
253
235
  def self.with_ansible?
254
236
  Foreman::Plugin.installed?("foreman_ansible")
255
237
  end
@@ -404,7 +404,7 @@ module Katello
404
404
  @plugin.permission :edit_alternate_content_sources,
405
405
  {
406
406
  'katello/api/v2/alternate_content_sources' => [:update, :refresh],
407
- 'katello/api/v2/alternate_content_sources_bulk_actions' => [:refresh_alternate_content_sources]
407
+ 'katello/api/v2/alternate_content_sources_bulk_actions' => [:refresh_alternate_content_sources, :refresh_all_alternate_content_sources]
408
408
  },
409
409
  :resource_type => 'Katello::AlternateContentSource',
410
410
  :finder_scope => :editable
@@ -242,7 +242,6 @@ Foreman::Plugin.register :katello do
242
242
  logger :registry_proxy, :enabled => true
243
243
  logger :katello_events, :enabled => true
244
244
  logger :candlepin_events, :enabled => true
245
- logger :agent, :enabled => true
246
245
 
247
246
  widget 'errata_widget', :name => 'Latest Errata', :sizey => 1, :sizex => 6
248
247
  widget 'content_views_widget', :name => 'Content Views', :sizey => 1, :sizex => 6
@@ -457,18 +456,6 @@ Foreman::Plugin.register :katello do
457
456
  full_name: N_('Timeout when refreshing a manifest (in seconds)'),
458
457
  description: N_("Manifest refresh timeout")
459
458
 
460
- setting 'content_action_accept_timeout',
461
- type: :integer,
462
- default: 20,
463
- full_name: N_('Accept action timeout'),
464
- description: N_("Time in seconds to wait for a host to pick up a katello-agent action")
465
-
466
- setting 'content_action_finish_timeout',
467
- type: :integer,
468
- default: 3600,
469
- full_name: N_('Finish action timeout'),
470
- description: N_("Time in seconds to wait for a host to finish a katello-agent action")
471
-
472
459
  setting 'subscription_connection_enabled',
473
460
  type: :boolean,
474
461
  default: true,
@@ -575,12 +562,6 @@ Foreman::Plugin.register :katello do
575
562
  full_name: N_('Sync Sock Read Timeout'),
576
563
  description: N_("The maximum number of seconds that Pulp can take to download a file, not counting connection time.")
577
564
 
578
- setting 'remote_execution_by_default',
579
- type: :boolean,
580
- default: false,
581
- full_name: N_('Use remote execution by default'),
582
- description: N_("If this is enabled, remote execution is used instead of katello-agent for remote actions")
583
-
584
565
  setting 'unregister_delete_host',
585
566
  type: :boolean,
586
567
  default: false,
@@ -612,12 +593,6 @@ Foreman::Plugin.register :katello do
612
593
  full_name: N_('Expire soon days'),
613
594
  description: N_('The number of days remaining in a subscription before you will be reminded about renewing it.')
614
595
 
615
- setting 'content_view_solve_dependencies',
616
- type: :boolean,
617
- default: false,
618
- full_name: N_('content view Dependency Solving Default'),
619
- description: N_('The default dependency solving value for new content views.')
620
-
621
596
  setting 'host_dmi_uuid_duplicates',
622
597
  type: :array,
623
598
  default: [],
@@ -1,3 +1,3 @@
1
1
  module Katello
2
- VERSION = "4.9.1".freeze
2
+ VERSION = "4.10.0.rc2".freeze
3
3
  end