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
@@ -2,14 +2,13 @@ module Katello
2
2
  class Ping
3
3
  OK_RETURN_CODE = 'ok'.freeze
4
4
  FAIL_RETURN_CODE = 'FAIL'.freeze
5
- PACKAGES = %w(katello candlepin pulp qpid foreman tfm hammer).freeze
5
+ PACKAGES = %w(katello candlepin pulp foreman hammer).freeze
6
6
 
7
7
  class << self
8
8
  def services(capsule_id = nil)
9
9
  proxy = fetch_proxy(capsule_id)
10
10
  services = [:candlepin, :candlepin_auth, :foreman_tasks, :katello_events, :candlepin_events]
11
11
  services += [:pulp3, :pulp3_content] if proxy&.pulp3_enabled?
12
- services += [:katello_agent] if ::Katello.with_katello_agent?
13
12
  if proxy.nil? || proxy.has_feature?(SmartProxy::PULP_NODE_FEATURE) || proxy.has_feature?(SmartProxy::PULP_FEATURE)
14
13
  services += [:pulp, :pulp_auth]
15
14
  end
@@ -64,13 +63,6 @@ module Katello
64
63
  end
65
64
  end
66
65
 
67
- def ping_katello_agent(result)
68
- exception_watch(result) do
69
- status = Katello::EventDaemon::Runner.service_status(:katello_agent_events)
70
- event_daemon_status(status, result)
71
- end
72
- end
73
-
74
66
  def ping_pulp3_without_auth(service_result, capsule_id)
75
67
  exception_watch(service_result) do
76
68
  Katello::Ping.pulp3_without_auth(fetch_proxy(capsule_id).pulp3_url)
@@ -233,7 +225,6 @@ module Katello
233
225
  end
234
226
  end
235
227
 
236
- # rubocop:disable Metrics/CyclomaticComplexity
237
228
  def ping_services_for_capsule(services, capsule_id)
238
229
  services ||= self.services(capsule_id)
239
230
  result = {}
@@ -249,14 +240,12 @@ module Katello
249
240
  ping_foreman_tasks(result[:foreman_tasks]) if result.include?(:foreman_tasks)
250
241
  ping_katello_events(result[:katello_events]) if result.include?(:katello_events)
251
242
  ping_candlepin_events(result[:candlepin_events]) if result.include?(:candlepin_events)
252
- ping_katello_agent(result[:katello_agent]) if result.include?(:katello_agent)
253
243
 
254
244
  # set overall status result code
255
245
  result = {:services => result}
256
246
  result[:status] = result[:services].each_value.any? { |v| v[:status] == FAIL_RETURN_CODE } ? FAIL_RETURN_CODE : OK_RETURN_CODE
257
247
  result
258
248
  end
259
- # rubocop:enable Metrics/CyclomaticComplexity
260
249
 
261
250
  def fetch_proxy(capsule_id)
262
251
  capsule_id ? SmartProxy.unscoped.find(capsule_id) : SmartProxy.pulp_primary
@@ -52,11 +52,24 @@ module Katello
52
52
  where(:product_id => Katello::PoolProduct.where(:pool_id => organization.pools).select(:product_id))
53
53
  end
54
54
 
55
- # used by Katello::Api::V2::RepositorySetsController#index
55
+ # following 4 methods used by Katello::Api::V2::RepositorySetsController#index
56
56
  def repositories
57
57
  Katello::Repository.in_default_view.where(:root_id => product.root_repositories.has_url.where(:content_id => content.cp_content_id))
58
58
  end
59
59
 
60
+ def unfiltered_repositories
61
+ # don't filter by url, as we want to show all repos in the product
62
+ Katello::Repository.in_default_view.where(:root_id => product.root_repositories.where(:content_id => content.cp_content_id))
63
+ end
64
+
65
+ def arch
66
+ unfiltered_repositories.first&.arch
67
+ end
68
+
69
+ def os_versions
70
+ unfiltered_repositories.first&.os_versions || []
71
+ end
72
+
60
73
  def enabled_value_from_candlepin
61
74
  cp_product = ::Katello::Resources::Candlepin::Product.get(product.organization.label, product.cp_id).first
62
75
  cp_content = cp_product['productContent'].find { |pc| pc['content']['id'] == content.cp_content_id }
@@ -178,7 +178,7 @@ module Katello
178
178
  :upstream_authentication_token, :deb_releases,
179
179
  :deb_components, :deb_architectures, :ssl_ca_cert_id, :ssl_ca_cert, :ssl_client_cert, :ssl_client_cert_id,
180
180
  :ssl_client_key_id, :os_versions, :ssl_client_key, :ignorable_content, :description, :include_tags, :exclude_tags,
181
- :docker_tags_whitelist, :ansible_collection_requirements, :ansible_collection_auth_url, :ansible_collection_auth_token,
181
+ :ansible_collection_requirements, :ansible_collection_auth_url, :ansible_collection_auth_token,
182
182
  :http_proxy_policy, :http_proxy_id, :to => :root
183
183
 
184
184
  delegate :content_id, to: :root, allow_nil: true
@@ -939,6 +939,7 @@ module Katello
939
939
  end
940
940
  repository_type.index_additional_data_proc&.call(self)
941
941
  end
942
+ self.update!(last_indexed: DateTime.now)
942
943
  true
943
944
  end
944
945
 
@@ -946,6 +947,10 @@ module Katello
946
947
  content_view.repositories.include? self
947
948
  end
948
949
 
950
+ def sync_status
951
+ return latest_dynflow_sync
952
+ end
953
+
949
954
  protected
950
955
 
951
956
  def unit_type_for_removal(type_class = nil)
@@ -3,7 +3,6 @@ module Katello
3
3
  class RootRepository < Katello::Model
4
4
  audited :except => [:content_id]
5
5
  serialize :ignorable_content
6
- serialize :docker_tags_whitelist
7
6
  serialize :include_tags
8
7
  serialize :exclude_tags
9
8
  serialize :os_versions
@@ -360,11 +359,6 @@ module Katello
360
359
  Katello::Content.find_by(:cp_content_id => self.content_id, :organization_id => self.product.organization_id)
361
360
  end
362
361
 
363
- # For API support during deprecation period.
364
- def docker_tags_whitelist
365
- include_tags
366
- end
367
-
368
362
  def docker?
369
363
  self.content_type == Repository::DOCKER_TYPE
370
364
  end
@@ -406,8 +400,8 @@ module Katello
406
400
  end
407
401
 
408
402
  def pulp_update_needed?
409
- changeable_attributes = %w(url unprotected checksum_type docker_upstream_name download_policy mirroring_policy verify_ssl_on_sync
410
- upstream_username upstream_password ignorable_content retain_package_versions_count
403
+ changeable_attributes = %w(url unprotected checksum_type docker_upstream_name download_policy verify_ssl_on_sync
404
+ upstream_username upstream_password retain_package_versions_count
411
405
  ssl_ca_cert_id ssl_client_cert_id ssl_client_key_id http_proxy_policy http_proxy_id download_concurrency)
412
406
  changeable_attributes += %w(name container_repository_name include_tags exclude_tags) if docker?
413
407
  changeable_attributes += %w(deb_releases deb_components deb_architectures gpg_key_id) if deb?
@@ -133,13 +133,13 @@ module Katello
133
133
  end
134
134
 
135
135
  def newest_distinct_installed_packages_query
136
- "SELECT DISTINCT ON (katello_installed_packages.name) katello_installed_packages.id " \
136
+ "SELECT DISTINCT ON (katello_installed_packages.name, katello_installed_packages.arch) katello_installed_packages.id " \
137
137
  "FROM katello_installed_packages INNER JOIN " \
138
138
  "katello_host_installed_packages ON " \
139
139
  "katello_installed_packages.id = " \
140
140
  "katello_host_installed_packages.installed_package_id " \
141
141
  "WHERE katello_host_installed_packages.host_id = " \
142
- "#{content_facet.host.id} ORDER BY katello_installed_packages.name, katello_installed_packages.evr DESC"
142
+ "#{content_facet.host.id} ORDER BY katello_installed_packages.name, katello_installed_packages.arch, katello_installed_packages.evr DESC"
143
143
  end
144
144
 
145
145
  def applicable_differences
@@ -135,8 +135,6 @@ module Katello
135
135
  # if this fails, there is not much to do about it right now. We can't really re-create the candlepin consumer.
136
136
  # This can be cleaned up later via clean_backend_objects.
137
137
 
138
- delete_agent_queue(host) if host.content_facet.try(:uuid)
139
-
140
138
  host.subscription_facet.try(:destroy!)
141
139
 
142
140
  if unregistering
@@ -281,16 +279,6 @@ module Katello
281
279
  Rails.logger.warn(_("Candlepin consumer %s has already been removed") % host_uuid)
282
280
  end
283
281
 
284
- def delete_agent_queue(host)
285
- return unless ::Katello.with_katello_agent?
286
-
287
- queue_name = Katello::Agent::Dispatcher.host_queue_name(host)
288
- Katello::EventQueue.push_event(::Katello::Events::DeleteHostAgentQueue::EVENT_TYPE, host.id) do |attrs|
289
- attrs[:metadata] = { queue_name: queue_name }
290
- attrs[:process_after] = 10.minutes.from_now
291
- end
292
- end
293
-
294
282
  def populate_content_facet(host, content_view_environments, uuid)
295
283
  content_facet = host.content_facet || ::Katello::Host::ContentFacet.new(:host => host)
296
284
  content_facet.content_view_environments = content_view_environments
@@ -317,6 +305,8 @@ module Katello
317
305
  host.content_facet.uuid = nil
318
306
  host.content_facet.content_view_environments = []
319
307
  host.content_facet.save!
308
+ Rails.logger.debug "remove_host_artifacts: marking CVEs unchanged to prevent backend update"
309
+ host.content_facet.mark_cves_unchanged
320
310
  host.content_facet.calculate_and_import_applicability
321
311
  end
322
312
 
@@ -0,0 +1,25 @@
1
+ <%#
2
+ kind: job_template
3
+ name: Configure host for new content source
4
+ job_category: Katello
5
+ model: JobTemplate
6
+ provider_type: script
7
+ description_format: Configure subscription manager for new content source
8
+ feature: katello_change_content_source
9
+ %>
10
+ #!/bin/sh
11
+
12
+ # This job template alone will NOT change a host's content source!
13
+ # It is invoked after changing a host's content source on the server,
14
+ # which is done from the Change Content Source page in the web UI.
15
+
16
+ <%= configure_host_for_new_content_source(@host, foreman_server_ca_cert) %>
17
+
18
+ # If REX pull mode is enabled, update yggdrasil config to pull from the new content source.
19
+ # If host is not configured for REX pull mode, this is a noop.
20
+
21
+ if [ -f /etc/yggdrasil/config.toml ]; then
22
+ cp /etc/yggdrasil/config.toml /etc/yggdrasil/config.toml.bak
23
+ export YGGDRASIL_RESTART_DELAY=10
24
+ <%= snippet 'remote_execution_pull_setup' %>
25
+ fi
@@ -38,7 +38,7 @@ child @lifecycle_environments => :lifecycle_environments do
38
38
  :label => content_view.label,
39
39
  :name => content_view.name,
40
40
  :composite => content_view.composite,
41
- :last_published => content_view.versions.empty? ? nil : content_view.versions.last.created_at,
41
+ :last_published => content_view.versions.empty? ? nil : content_view.versions.in_environment(env).first&.created_at,
42
42
  :default => content_view.default,
43
43
  :up_to_date => @capsule.repos_pending_sync(env, content_view).empty?,
44
44
  :counts => {
@@ -21,22 +21,10 @@ child :content_facet => :content_facet_attributes do
21
21
  content_facet.single_lifecycle_environment&.library? || false
22
22
  end
23
23
 
24
- node :katello_agent_installed do |content_facet|
25
- content_facet.katello_agent_installed?
26
- end
27
-
28
24
  node :katello_tracer_installed do |content_facet|
29
25
  content_facet.tracer_installed?
30
26
  end
31
27
 
32
- node :katello_agent_enabled do
33
- Katello.with_katello_agent?
34
- end
35
-
36
- node :remote_execution_by_default do
37
- Katello.remote_execution_by_default?
38
- end
39
-
40
28
  user = User.current # current_user is not available here
41
29
  child :permissions do
42
30
  node(:view_lifecycle_environments) { user.can?("view_lifecycle_environments") }
@@ -29,5 +29,8 @@ child :latest_version => :content_view_version do
29
29
  end
30
30
 
31
31
  child :component_content_view_versions => :component_content_view_versions do
32
- attributes :id, :version
32
+ attributes :id, :version, :description
33
+ node :published_at_words do |version|
34
+ time_ago_in_words(version.created_at)
35
+ end
33
36
  end
@@ -44,7 +44,7 @@ node :environments do |cv|
44
44
  {
45
45
  id: env.id,
46
46
  label: env.label,
47
- name: env.label,
47
+ name: env.name,
48
48
  activation_keys: cv&.activation_keys&.in_environment(env)&.ids,
49
49
  hosts: cv&.hosts&.in_environments([env])&.ids,
50
50
  permissions: {readable: env.readable?}
@@ -64,11 +64,15 @@ else
64
64
  attributes :repository_ids
65
65
  end
66
66
 
67
- child :versions => :versions do
67
+ child :sorted_versions => :versions do
68
68
  attributes :id, :version
69
69
  attributes :created_at => :published
70
+ attributes :description
70
71
  attributes :environment_ids
71
72
  attributes :filters_applied? => :filters_applied
73
+ node :published_at_words do |version|
74
+ time_ago_in_words(version.created_at)
75
+ end
72
76
  end
73
77
 
74
78
  if params.key?(:include_permissions)
@@ -71,6 +71,9 @@ node(:published_content_view_ids) do |product|
71
71
  product.published_content_views.map(&:id).uniq
72
72
  end
73
73
 
74
+ node(:has_last_affected_repo_in_filter) do |product|
75
+ product.repositories.any? { |repo| repo.filters.any? { |filter| filter.repositories.size == 1 } }
76
+ end
74
77
  node :redhat do |product|
75
78
  product.redhat?
76
79
  end
@@ -36,6 +36,24 @@ child :published_in_versions => :content_view_versions do |_version|
36
36
  end
37
37
  end
38
38
 
39
+ child :repository_content_view_filters => :filters do |_filters|
40
+ node :content_view_filter_id do |object|
41
+ object.filter.id
42
+ end
43
+ node :content_view_filter_name do |object|
44
+ object.filter.name
45
+ end
46
+ node :content_view_id do |object|
47
+ object.filter.content_view_id
48
+ end
49
+ node :content_view_name do |object|
50
+ object.filter.content_view_name
51
+ end
52
+ node :last_affected_repo do |object|
53
+ object.filter&.repositories&.size == 1
54
+ end
55
+ end
56
+
39
57
  child :latest_dynflow_sync => :last_sync do |_object|
40
58
  attributes :id, :username, :started_at, :ended_at, :state, :result, :progress
41
59
  end
@@ -7,7 +7,6 @@ extends 'katello/api/v2/repositories/base'
7
7
  glue(@resource.root) do
8
8
  attributes :content_type
9
9
  attributes :docker_upstream_name
10
- attributes :docker_tags_whitelist
11
10
  attributes :include_tags
12
11
  attributes :exclude_tags
13
12
  attributes :verify_ssl_on_sync
@@ -38,11 +38,11 @@ child @resource.repositories => :repositories do
38
38
  end
39
39
 
40
40
  node :archRestricted do |pc|
41
- pc.repositories&.first&.arch
41
+ pc.arch
42
42
  end
43
43
 
44
44
  node :osRestricted do |pc|
45
- pc.repositories&.first&.os_versions&.first
45
+ pc.os_versions&.first
46
46
  end
47
47
 
48
48
  node :override do |pc|
@@ -5,9 +5,8 @@
5
5
  option.kt-cv { margin-left: 1em; }
6
6
  </style>
7
7
  <% spinner_path = asset_path('spinner.gif') %>
8
- <% edit_action = params[:action] == 'edit' %>
9
8
 
10
- <% if edit_action && !using_hostgroups_page? %>
9
+ <% if edit_action? && !using_hostgroups_page? && !using_discovered_hosts_page? %>
11
10
  <div style="margin-left: 270px">
12
11
  <%= link_to _("Change content source"), "/change_host_content_source?host_id=#{@host.id}" %>
13
12
  </div>
@@ -22,7 +21,7 @@
22
21
  select_tag cs_select_id, content_source_options(@hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_source)), :data => {"spinner_path" => spinner_path},
23
22
  :class => 'form-control', :name => cs_select_name
24
23
  else
25
- select_tag cs_select_id, content_source_options(@host, :selected_host_group => @hostgroup || @host.hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_source)), :data => {"spinner_path" => spinner_path}, :class => 'form-control', :name => cs_select_name, :disabled => edit_action
24
+ select_tag cs_select_id, content_source_options(@host, :selected_host_group => @hostgroup || @host.hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_source)), :data => {"spinner_path" => spinner_path}, :class => 'form-control', :name => cs_select_name, :disabled => cv_lce_disabled?
26
25
  end
27
26
  end %>
28
27
 
@@ -35,7 +34,7 @@ end %>
35
34
  select_tag env_select_id, lifecycle_environment_options(@hostgroup, :include_blank => blank_or_inherit_with_id(f, :lifecycle_environment)),
36
35
  :class => 'form-control', :name => env_select_name
37
36
  else
38
- select_tag env_select_id, lifecycle_environment_options(@host, :selected_host_group => @hostgroup || @host.hostgroup, :include_blank => blank_or_inherit_with_id(f, :lifecycle_environment)), :class => 'form-control', :name => env_select_name, :disabled => edit_action
37
+ select_tag env_select_id, lifecycle_environment_options(@host, :selected_host_group => @hostgroup || @host.hostgroup, :include_blank => blank_or_inherit_with_id(f, :lifecycle_environment)), :class => 'form-control', :name => env_select_name, :disabled => cv_lce_disabled?
39
38
  end
40
39
  end %>
41
40
 
@@ -47,6 +46,6 @@ end %>
47
46
  select_tag cv_select_id, content_views_for_host(@hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_view)), :data => {"spinner_path" => spinner_path},
48
47
  :class => 'form-control', :name => cv_select_name
49
48
  else
50
- select_tag cv_select_id, content_views_for_host(@host, :selected_host_group => @hostgroup || @host.hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_view)), :data => {"spinner_path" => spinner_path}, :class => 'form-control', :name => cv_select_name, :disabled => edit_action
49
+ select_tag cv_select_id, content_views_for_host(@host, :selected_host_group => @hostgroup || @host.hostgroup, :include_blank => blank_or_inherit_with_id(f, :content_view)), :data => {"spinner_path" => spinner_path}, :class => 'form-control', :name => cv_select_name, :disabled => cv_lce_disabled?
51
50
  end
52
51
  end %>
@@ -1,9 +1,17 @@
1
- <% media_selection = using_hostgroups_page? ? use_install_media(@hostgroup) : use_install_media(@host, :selected_host_group => @hostgroup)
1
+ <%
2
+ if using_discovered_hosts_page?
3
+ media_selection = use_install_media(@host, :selected_host_group => @host&.hostgroup)
4
+ kickstart_options = kickstart_repository_options(@host, :selected_host_group => @host&.hostgroup)
5
+ elsif using_hostgroups_page?
6
+ media_selection = use_install_media(@hostgroup)
7
+ kickstart_options = kickstart_repository_options(@hostgroup)
8
+ else
9
+ media_selection = use_install_media(@host, :selected_host_group => @hostgroup)
10
+ kickstart_options = kickstart_repository_options(@host, :selected_host_group => @hostgroup)
11
+ end
2
12
  install_media_radio = media_selection ? 'checked="checked"':''
3
13
  synced_content_radio = media_selection ? '' : 'checked="checked"'
4
14
  install_media_disabled = os_media.empty? ? 'disabled = true' : ''
5
-
6
- kickstart_options = using_hostgroups_page? ? kickstart_repository_options(@hostgroup) : kickstart_repository_options(@host, :selected_host_group => @hostgroup)
7
15
  synced_content_disabled = kickstart_options.empty? ? 'disabled = true' : ''
8
16
  %>
9
17
 
@@ -1,11 +1,19 @@
1
1
  <%
2
- kickstart_repo_id = using_hostgroups_page? ? kickstart_repository_id(@hostgroup) : kickstart_repository_id(@host, :selected_host_group => @hostgroup)
3
- kickstart_repo_id = 'unset' if kickstart_repo_id.blank?
4
- host = using_hostgroups_page? ? @hostgroup : @host
5
- kickstart_options = kickstart_repository_options(host, :selected_host_group => @hostgroup)
6
- ks_repo_select_id = using_hostgroups_page? ? :host_group_kickstart_repository_id : :host_kickstart_repository_id
7
- ks_repo_select_name = using_hostgroups_page? ? 'hostgroup[kickstart_repository_id]' : 'host[content_facet_attributes][kickstart_repository_id]'
8
- ks_repo_select_attr = using_hostgroups_page? ? 'kickstart_repository' : 'content_facet.kickstart_repository'
2
+ if using_discovered_hosts_page?
3
+ kickstart_repo_id = kickstart_repository_id(@host, :selected_host_group => @host&.hostgroup)
4
+ kickstart_options = kickstart_repository_options(@host, :selected_host_group => @host&.hostgroup)
5
+ elsif using_hostgroups_page?
6
+ kickstart_repo_id = kickstart_repository_id(@host, :selected_host_group => @host&.hostgroup)
7
+ kickstart_options = kickstart_repository_options(@hostgroup)
8
+ else
9
+ kickstart_repo_id = kickstart_repository_id(@host, :selected_host_group => @hostgroup)
10
+ kickstart_options = kickstart_repository_options(@host, :selected_host_group => @hostgroup)
11
+ end
12
+
13
+ kickstart_repo_id = 'unset' if kickstart_repo_id.blank?
14
+ ks_repo_select_id = using_hostgroups_page? ? :host_group_kickstart_repository_id : :host_kickstart_repository_id
15
+ ks_repo_select_name = using_hostgroups_page? ? 'hostgroup[kickstart_repository_id]' : 'host[content_facet_attributes][kickstart_repository_id]'
16
+ ks_repo_select_attr = using_hostgroups_page? ? 'kickstart_repository' : 'content_facet.kickstart_repository'
9
17
  %>
10
18
 
11
19
  <% spinner_path = asset_path('spinner.gif') %>
@@ -2,3 +2,4 @@
2
2
  require 'monkeys/anemone'
3
3
  require 'monkeys/ar_postgres_evr_t'
4
4
  require 'monkeys/fx_sqlite_skip'
5
+ require 'monkeys/remove_hidden_distribution'
@@ -39,10 +39,6 @@
39
39
  :upload_chunk_size: 1048575 # upload size in bytes to pulp. see SSLRenegBufferSize in apache
40
40
  :skip_checksum_validation: false
41
41
 
42
- :qpid:
43
- :url: amqp:ssl:katello-devel.example.com:5671
44
- :subscriptions_queue_address: katello_event_queue
45
-
46
42
  # Logging configuration can be changed by uncommenting the loggers
47
43
  # section and the logger configuration desired.
48
44
  #
@@ -353,6 +353,8 @@ Katello::Engine.routes.draw do
353
353
  ##############################
354
354
  ##############################
355
355
 
356
+ match '/alternate_content_sources/bulk/refresh_all' => 'alternate_content_sources_bulk_actions#refresh_all_alternate_content_sources', :via => :post
357
+
356
358
  api_resources :alternate_content_sources, :only => [], :constraints => { :id => /[0-9a-zA-Z\-_.]*/ } do
357
359
  collection do
358
360
  match '/bulk/destroy' => 'alternate_content_sources_bulk_actions#destroy_alternate_content_sources', :via => :put
@@ -484,6 +486,7 @@ Katello::Engine.routes.draw do
484
486
  end
485
487
 
486
488
  api_resources :sync_plans, :only => [:index, :show, :update, :destroy] do
489
+ api_resources :products, :only => [:index]
487
490
  get :auto_complete_search, :on => :collection
488
491
  put :sync
489
492
  end
@@ -52,7 +52,6 @@ Foreman::Application.routes.draw do
52
52
  resources :hosts, :only => [] do
53
53
  resources :errata, :only => [:show, :index], :controller => :host_errata do
54
54
  collection do
55
- put :apply
56
55
  get :auto_complete_search
57
56
  put :applicability
58
57
  end
@@ -69,11 +68,8 @@ Foreman::Application.routes.draw do
69
68
  match '/bulk/auto_attach' => 'hosts_bulk_actions#auto_attach', :via => :put
70
69
  match '/bulk/content_overrides' => 'hosts_bulk_actions#content_overrides', :via => :put
71
70
 
72
- match '/bulk/install_content' => 'hosts_bulk_actions#install_content', :via => :put
73
71
  match '/bulk/applicable_errata' => 'hosts_bulk_actions#applicable_errata', :via => :post
74
72
  match '/bulk/installable_errata' => 'hosts_bulk_actions#installable_errata', :via => :post
75
- match '/bulk/update_content' => 'hosts_bulk_actions#update_content', :via => :put
76
- match '/bulk/remove_content' => 'hosts_bulk_actions#remove_content', :via => :put
77
73
  match '/bulk/destroy' => 'hosts_bulk_actions#destroy_hosts', :via => :put
78
74
  match '/bulk/environment_content_view' => 'hosts_bulk_actions#environment_content_view', :via => :put
79
75
  match '/bulk/release_version' => 'hosts_bulk_actions#release_version', :via => :put
@@ -88,13 +84,6 @@ Foreman::Application.routes.draw do
88
84
 
89
85
  resources :packages, :only => [:index], :controller => :host_packages do
90
86
  get :auto_complete_search, :on => :collection
91
-
92
- collection do
93
- put :remove
94
- put :install
95
- put :upgrade
96
- put :upgrade_all
97
- end
98
87
  end
99
88
 
100
89
  resources :module_streams, :only => [:index], :controller => :host_module_streams do
@@ -6,6 +6,7 @@ class RemoveDrpmFromIgnorableContent < ActiveRecord::Migration[6.0]
6
6
  else
7
7
  root.ignorable_content = []
8
8
  end
9
+ root.checksum_type = nil if root.download_policy == ::Katello::RootRepository::DOWNLOAD_ON_DEMAND
9
10
  root.save!
10
11
  end
11
12
  end
@@ -0,0 +1,5 @@
1
+ class AddCustomCdnAuthEnabledToKatelloCdnConfigurations < ActiveRecord::Migration[6.1]
2
+ def change
3
+ add_column :katello_cdn_configurations, :custom_cdn_auth_enabled, :boolean, default: false
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class RemoveRelativePathLimit < ActiveRecord::Migration[6.1]
2
+ def change
3
+ change_column :katello_repositories, :relative_path, :text
4
+ end
5
+ end
@@ -0,0 +1,20 @@
1
+ class ChangeChangeContentSourceJobTemplateName < ActiveRecord::Migration[6.1]
2
+ TEMPLATE_NAMES = {
3
+ "Change content source" => "Configure host for new content source"
4
+ }.freeze
5
+
6
+ def up
7
+ TEMPLATE_NAMES.each do |from, to|
8
+ token = SecureRandom.base64(5)
9
+ ::Template.unscoped.find_by(name: to)&.update_columns(:name => "#{to} Backup #{token}")
10
+ ::Template.unscoped.find_by(name: from)&.update_columns(:name => to)
11
+ end
12
+ end
13
+
14
+ def down
15
+ TEMPLATE_NAMES.each do |from, to|
16
+ ::Template.unscoped.find_by(name: from)&.delete
17
+ ::Template.unscoped.find_by(name: to)&.update_columns(:name => from)
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,15 @@
1
+ class RemoveKatelloAgentDispatchHistory < ActiveRecord::Migration[6.1]
2
+ def up
3
+ drop_table :katello_agent_dispatch_histories
4
+ end
5
+
6
+ def down
7
+ create_table :katello_agent_dispatch_histories do |t|
8
+ t.integer :host_id, null: false, foreign_key: true
9
+ t.datetime :accepted_at
10
+ t.string :dynflow_execution_plan_id
11
+ t.integer :dynflow_step_id
12
+ t.text :result
13
+ end
14
+ end
15
+ end
@@ -9,7 +9,6 @@ UpgradeTask.define_tasks(:katello) do
9
9
  {:name => 'katello:upgrades:4.2:remove_checksum_values'},
10
10
  {:name => 'katello:upgrades:4.4:publish_import_cvvs'},
11
11
  {:name => 'katello:upgrades:4.8:fix_incorrect_providers'},
12
- {:name => 'katello:upgrades:4.8:regenerate_imported_repository_metadata'},
13
- {:name => 'katello:upgrades:4.9:update_custom_products_enablement'}
12
+ {:name => 'katello:upgrades:4.8:regenerate_imported_repository_metadata'}
14
13
  ]
15
14
  end
@@ -25,7 +25,6 @@
25
25
  angular.module('Bastion').value('deleteHostOnUnregister', angular.fromJson(`<%= Setting[:unregister_delete_host] %>`));
26
26
  angular.module('Bastion').value('globalContentProxy', angular.fromJson(`<%= Setting[:content_default_http_proxy].empty? ? nil.to_json : Setting[:content_default_http_proxy].to_json.html_safe %>`));
27
27
  angular.module('Bastion').value('entriesPerPage', "<%= Setting[:entries_per_page] %>");
28
- angular.module('Bastion').value('contentViewSolveDependencies', "<%= Setting[:content_view_solve_dependencies] %>");
29
28
  angular.module('Bastion').constant('BastionConfig', angular.fromJson(`<%= Bastion.config.to_json.html_safe %>`));
30
29
  angular.module('Bastion.auth').value('CurrentUser', {
31
30
  id: <%= User.current.id %>,
@@ -33,6 +32,7 @@
33
32
  });
34
33
  angular.module('Bastion.auth').value('Permissions', angular.fromJson(`<%= User.current.cached_roles.collect { |role| role.permissions }.flatten.to_json.html_safe %>`));
35
34
  angular.module('Bastion').value('newHostDetailsUI', "<%= Setting[:host_details_ui] %>");
35
+ angular.module('Bastion').value('experimentalLabsSetting', "<%= Setting[:lab_features] %>");
36
36
  </script>
37
37
  <% Bastion.plugins.each do |name, plugin| %>
38
38
  <%= include_plugin_js(plugin) %>
@@ -7,7 +7,8 @@ The only real difference, as far as the user is concerned, is that the applicati
7
7
  # Running tests:
8
8
 
9
9
  ```
10
- sudo yum -y install npm chromium-headless chromium
10
+ sudo dnf -y install epel-release epel-next-release
11
+ sudo dnf -y install npm chromium-headless chromium
11
12
  cd ./engines/bastion_katello
12
13
  sudo npm install -g grunt-cli
13
14
  npm install
@@ -8,6 +8,7 @@
8
8
  * @requires Nutupane
9
9
  * @requires ActivationKey
10
10
  * @requires CurrentOrganization
11
+ * @requires experimentalLabsSetting
11
12
  *
12
13
  * @description
13
14
  * Provides the functionality specific to activation keys for use with the Nutupane UI pattern.
@@ -15,8 +16,8 @@
15
16
  * within the table.
16
17
  */
17
18
  angular.module('Bastion.activation-keys').controller('ActivationKeysController',
18
- ['$scope', '$location', 'translate', 'Nutupane', 'ActivationKey', 'CurrentOrganization',
19
- function ($scope, $location, translate, Nutupane, ActivationKey, CurrentOrganization) {
19
+ ['$scope', '$location', 'translate', 'Nutupane', 'ActivationKey', 'CurrentOrganization', 'experimentalLabsSetting',
20
+ function ($scope, $location, translate, Nutupane, ActivationKey, CurrentOrganization, experimentalLabsSetting) {
20
21
 
21
22
  var params = {
22
23
  'organization_id': CurrentOrganization,
@@ -30,5 +31,6 @@ angular.module('Bastion.activation-keys').controller('ActivationKeysController',
30
31
  $scope.controllerName = 'katello_activation_keys';
31
32
  nutupane.primaryOnly = true;
32
33
  $scope.table = nutupane.table;
34
+ $scope.experimentalLabsSetting = experimentalLabsSetting;
33
35
  }]
34
36
  );
@@ -37,8 +37,8 @@
37
37
  <span ng-class="getHostStatusIcon(host.subscription_global_status)">
38
38
  </span>
39
39
  </td>
40
- <td bst-table-cell>{{ host.content_facet_attributes.lifecycle_environment_name }}</td>
41
- <td bst-table-cell>{{ host.content_facet_attributes.content_view_name || "" }}</td>
40
+ <td bst-table-cell>{{ host.content_facet_attributes.lifecycle_environment.name }}</td>
41
+ <td bst-table-cell>{{ host.content_facet_attributes.content_view.name || "" }}</td>
42
42
  <td bst-table-cell>{{ host.subscription_facet_attributes.service_level }}</td>
43
43
  <td bst-table-cell>{{ host.subscription_facet_attributes.release_version }}</td>
44
44
  </tr>