katello 3.18.0.rc2.1 → 4.0.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 (380) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/katello/katello.scss +0 -72
  3. data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +0 -19
  4. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +1 -3
  5. data/app/controllers/katello/api/v2/api_controller.rb +1 -2
  6. data/app/controllers/katello/api/v2/capsule_content_controller.rb +2 -2
  7. data/app/controllers/katello/api/v2/content_credentials_controller.rb +24 -24
  8. data/app/controllers/katello/api/v2/content_export_incrementals_controller.rb +98 -0
  9. data/app/controllers/katello/api/v2/content_exports_controller.rb +88 -0
  10. data/app/controllers/katello/api/v2/content_imports_controller.rb +59 -0
  11. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
  12. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +56 -94
  13. data/app/controllers/katello/api/v2/content_views_controller.rb +2 -2
  14. data/app/controllers/katello/api/v2/host_errata_controller.rb +1 -1
  15. data/app/controllers/katello/api/v2/host_packages_controller.rb +6 -6
  16. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +2 -3
  17. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +3 -2
  18. data/app/controllers/katello/api/v2/repositories_controller.rb +5 -19
  19. data/app/controllers/katello/api/v2/simple_content_access_controller.rb +34 -0
  20. data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -1
  21. data/app/controllers/katello/api/v2/upstream_subscriptions_controller.rb +8 -4
  22. data/app/controllers/katello/concerns/authorization/api/v2/content_views_controller.rb +1 -1
  23. data/app/helpers/katello/sync_management_helper.rb +0 -2
  24. data/app/lib/actions/candlepin/environment/create.rb +1 -1
  25. data/app/lib/actions/candlepin/environment/set_content.rb +1 -1
  26. data/app/lib/actions/katello/activation_key/create.rb +9 -11
  27. data/app/lib/actions/katello/agent/dispatch_history_presenter.rb +64 -0
  28. data/app/lib/actions/katello/agent_action.rb +107 -0
  29. data/app/lib/actions/katello/applicability/hosts/bulk_generate.rb +6 -2
  30. data/app/lib/actions/katello/bulk_agent_action.rb +21 -0
  31. data/app/lib/actions/katello/capsule_content/sync.rb +8 -8
  32. data/app/lib/actions/katello/capsule_content/sync_capsule.rb +16 -2
  33. data/app/lib/actions/katello/check_matching_content.rb +17 -0
  34. data/app/lib/actions/katello/content_view/environment_create.rb +6 -8
  35. data/app/lib/actions/katello/content_view/promote_to_environment.rb +1 -1
  36. data/app/lib/actions/katello/content_view/publish.rb +2 -2
  37. data/app/lib/actions/katello/content_view_version/import.rb +2 -1
  38. data/app/lib/actions/katello/content_view_version/import_library.rb +17 -0
  39. data/app/lib/actions/katello/content_view_version/incremental_update.rb +30 -10
  40. data/app/lib/actions/katello/host/erratum/applicable_errata_install.rb +1 -1
  41. data/app/lib/actions/katello/host/erratum/install.rb +8 -26
  42. data/app/lib/actions/katello/host/hypervisors_update.rb +4 -4
  43. data/app/lib/actions/katello/host/package/install.rb +8 -21
  44. data/app/lib/actions/katello/host/package/remove.rb +8 -20
  45. data/app/lib/actions/katello/host/package/update.rb +9 -22
  46. data/app/lib/actions/katello/host/package_group/install.rb +8 -21
  47. data/app/lib/actions/katello/host/package_group/remove.rb +8 -20
  48. data/app/lib/actions/katello/host/update_system_purpose.rb +1 -1
  49. data/app/lib/actions/katello/organization/create.rb +3 -5
  50. data/app/lib/actions/katello/organization/destroy.rb +1 -1
  51. data/app/lib/actions/katello/organization/manifest_delete.rb +3 -5
  52. data/app/lib/actions/katello/organization/manifest_import.rb +1 -1
  53. data/app/lib/actions/katello/organization/manifest_refresh.rb +1 -1
  54. data/app/lib/actions/katello/repository/check_matching_content.rb +3 -1
  55. data/app/lib/actions/katello/repository/clone_contents.rb +8 -11
  56. data/app/lib/actions/katello/repository/create.rb +0 -8
  57. data/app/lib/actions/katello/repository/filtered_index_content.rb +3 -0
  58. data/app/lib/actions/katello/repository/index_content.rb +1 -0
  59. data/app/lib/actions/katello/repository/multi_clone_contents.rb +9 -12
  60. data/app/lib/actions/katello/repository/update.rb +0 -8
  61. data/app/lib/actions/middleware/execute_if_contents_changed.rb +4 -1
  62. data/app/lib/actions/middleware/record_smart_proxy_sync_history.rb +24 -4
  63. data/app/lib/actions/pulp/consumer.rb +0 -11
  64. data/app/lib/actions/pulp/orchestration/repository/refresh_repos.rb +0 -6
  65. data/app/lib/actions/pulp3/capsule_content/refresh_distribution.rb +3 -3
  66. data/app/lib/actions/pulp3/content_migration.rb +10 -0
  67. data/app/lib/actions/pulp3/content_migration_presenter.rb +59 -0
  68. data/app/lib/actions/pulp3/content_view/delete_repository_references.rb +1 -1
  69. data/app/lib/actions/pulp3/content_view_version/export.rb +3 -2
  70. data/app/lib/actions/pulp3/import_migration.rb +6 -1
  71. data/app/lib/actions/pulp3/orchestration/content_view_version/copy_version_units_to_library.rb +2 -1
  72. data/app/lib/actions/pulp3/orchestration/content_view_version/export.rb +17 -13
  73. data/app/lib/actions/pulp3/orchestration/content_view_version/export_library.rb +60 -0
  74. data/app/lib/actions/pulp3/orchestration/content_view_version/import.rb +0 -4
  75. data/app/lib/actions/pulp3/orchestration/repository/import_upload.rb +16 -3
  76. data/app/lib/actions/pulp3/orchestration/repository/refresh_repos.rb +1 -6
  77. data/app/lib/actions/pulp3/repository/copy_content.rb +1 -1
  78. data/app/lib/actions/pulp3/repository/delete.rb +1 -1
  79. data/app/lib/actions/pulp3/repository/save_version.rb +1 -1
  80. data/app/lib/actions/pulp3/repository/upload_tag.rb +18 -0
  81. data/app/lib/katello/agent/base_message.rb +38 -0
  82. data/app/lib/katello/agent/client_message_handler.rb +60 -0
  83. data/app/lib/katello/agent/connection.rb +24 -0
  84. data/app/lib/katello/agent/install_errata_message.rb +25 -0
  85. data/app/lib/katello/agent/install_package_group_message.rb +25 -0
  86. data/app/lib/katello/agent/install_package_message.rb +28 -0
  87. data/app/lib/katello/agent/remove_package_group_message.rb +25 -0
  88. data/app/lib/katello/agent/remove_package_message.rb +28 -0
  89. data/app/lib/katello/agent/update_package_message.rb +25 -0
  90. data/app/lib/katello/concerns/base_template_scope_extensions.rb +8 -0
  91. data/app/lib/katello/event_daemon/monitor.rb +53 -0
  92. data/app/lib/katello/event_daemon/runner.rb +99 -0
  93. data/app/lib/katello/event_daemon/services/agent_event_receiver.rb +62 -0
  94. data/app/lib/katello/logging.rb +32 -0
  95. data/app/lib/katello/messaging/connection.rb +1 -7
  96. data/app/lib/katello/messaging/received_message.rb +1 -1
  97. data/app/lib/katello/qpid/connection.rb +130 -0
  98. data/app/lib/katello/validators/content_view_puppet_module_validator.rb +1 -1
  99. data/app/models/katello/activation_key.rb +2 -2
  100. data/app/models/katello/agent/dispatch_history.rb +17 -0
  101. data/app/models/katello/authorization/content_view_version.rb +25 -2
  102. data/app/models/katello/authorization/content_view_version_export_history.rb +1 -1
  103. data/app/models/katello/authorization/organization.rb +8 -0
  104. data/app/models/katello/candlepin/repository_mapper.rb +1 -1
  105. data/app/models/katello/concerns/host_managed_extensions.rb +3 -0
  106. data/app/models/katello/concerns/operatingsystem_extensions.rb +2 -0
  107. data/app/models/katello/concerns/organization_extensions.rb +2 -2
  108. data/app/models/katello/concerns/pulp_database_unit.rb +7 -0
  109. data/app/models/katello/concerns/redhat_extensions.rb +2 -2
  110. data/app/models/katello/concerns/smart_proxy_extensions.rb +31 -5
  111. data/app/models/katello/content_migration_progress.rb +4 -0
  112. data/app/models/katello/content_view.rb +10 -1
  113. data/app/models/katello/content_view_environment.rb +2 -2
  114. data/app/models/katello/content_view_history.rb +2 -1
  115. data/app/models/katello/content_view_package_filter.rb +1 -1
  116. data/app/models/katello/content_view_puppet_environment.rb +2 -2
  117. data/app/models/katello/content_view_version.rb +2 -1
  118. data/app/models/katello/content_view_version_export_history.rb +26 -1
  119. data/app/models/katello/erratum.rb +3 -1
  120. data/app/models/katello/events/delete_host_agent_queue.rb +19 -0
  121. data/app/models/katello/glue/candlepin/pool.rb +2 -0
  122. data/app/models/katello/glue/pulp/repo.rb +0 -6
  123. data/app/models/katello/glue/pulp/repos.rb +1 -22
  124. data/app/models/katello/host/subscription_facet.rb +4 -0
  125. data/app/models/katello/ping.rb +12 -4
  126. data/app/models/katello/pool.rb +5 -0
  127. data/app/models/katello/product.rb +3 -3
  128. data/app/models/katello/repository.rb +10 -3
  129. data/app/models/katello/subscription_status.rb +3 -2
  130. data/app/models/setting/content.rb +0 -2
  131. data/app/presenters/katello/host_subscription_presenter.rb +3 -4
  132. data/app/presenters/katello/host_subscriptions_presenter.rb +24 -0
  133. data/app/services/katello/agent/dispatcher.rb +66 -0
  134. data/app/services/katello/applicability/applicable_content_helper.rb +44 -15
  135. data/app/services/katello/candlepin_event_listener.rb +12 -19
  136. data/app/services/katello/event_monitor/poller_thread.rb +3 -11
  137. data/app/services/katello/pulp/smart_proxy_repository.rb +0 -15
  138. data/app/services/katello/pulp3/api/docker.rb +4 -0
  139. data/app/services/katello/pulp3/content_view_version/export.rb +63 -5
  140. data/app/services/katello/pulp3/content_view_version/import.rb +40 -0
  141. data/app/services/katello/pulp3/content_view_version/import_export_common.rb +0 -16
  142. data/app/services/katello/pulp3/content_view_version/import_validator.rb +26 -49
  143. data/app/services/katello/pulp3/docker_manifest.rb +1 -0
  144. data/app/services/katello/pulp3/docker_tag.rb +1 -0
  145. data/app/services/katello/pulp3/migration.rb +44 -9
  146. data/app/services/katello/pulp3/repository.rb +13 -4
  147. data/app/services/katello/pulp3/repository/docker.rb +5 -0
  148. data/app/services/katello/pulp3/repository/yum.rb +15 -9
  149. data/app/services/katello/pulp3/task.rb +4 -0
  150. data/app/services/katello/pulp3/task_group.rb +4 -0
  151. data/app/services/katello/registration_manager.rb +10 -0
  152. data/app/services/katello/repository_type.rb +1 -1
  153. data/app/views/foreman/smart_proxies/_content_tab.html.erb +4 -47
  154. data/app/views/foreman/smart_proxies/show.html.erb +1 -1
  155. data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +22 -25
  156. data/app/views/katello/api/v2/content_view_version_export_histories/show.json.rabl +1 -0
  157. data/app/views/katello/api/v2/content_views/show.json.rabl +6 -0
  158. data/app/views/katello/api/v2/organizations/show.json.rabl +7 -9
  159. data/app/views/katello/layouts/react.html.erb +3 -2
  160. data/app/views/katello/sync_management/_products.html.erb +1 -1
  161. data/app/views/overrides/activation_keys/_host_tab_pane.html.erb +1 -5
  162. data/app/views/overrides/organizations/_edit_override.html.erb +1 -4
  163. data/app/views/overrides/smart_proxies/_environment_tab.html.erb +1 -1
  164. data/app/views/overrides/smart_proxies/_environment_tab_pane.html.erb +1 -1
  165. data/config/katello.yaml.example +0 -3
  166. data/config/routes/api/v2.rb +31 -13
  167. data/db/migrate/20150930183738_migrate_content_hosts.rb +1 -1
  168. data/db/migrate/20191204214919_add_content_view_version_counts.rb +0 -1
  169. data/db/migrate/20200514092553_move_katello_fields_from_hostgroups.katello.rb +5 -2
  170. data/db/migrate/20201119211133_pulp3_migration_progress.rb +9 -0
  171. data/db/migrate/20210119162528_delete_puppet_and_ostree_repos.rb +56 -0
  172. data/db/migrate/20210122200618_create_katello_agent_dispatch_history.rb +11 -0
  173. data/db/migrate/20210125161911_delete_erratum_install_batch_size_setting.rb +5 -0
  174. data/db/migrate/20210128231228_add_type_and_from_cvv_to_cvv_export_history.rb +14 -0
  175. data/db/migrate/20210201163238_migrate_background_download_policy_to_migrate.rb +7 -0
  176. data/db/migrate/20210208213920_add_available_module_stream_context.rb +8 -0
  177. data/db/seeds.d/104-proxy.rb +1 -1
  178. data/db/seeds.d/111-upgrade_tasks.rb +2 -1
  179. data/engines/bastion/app/assets/javascripts/bastion/auth/authorization.service.js +1 -1
  180. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +1 -1
  181. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/katello-agent-notice.html +1 -1
  182. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-system-purpose-modal.html +35 -40
  183. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-host-register-os-client.directive.js +17 -0
  184. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +2 -2
  185. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +2 -2
  186. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-client.html +12 -5
  187. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-deb-client.html +38 -0
  188. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-oracle-client.html +5 -0
  189. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register-sles-client.html +28 -0
  190. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register.html +14 -11
  191. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-activation-keys.controller.js +8 -3
  192. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-content-hosts.controller.js +9 -3
  193. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html +2 -2
  194. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +1 -1
  195. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +4 -0
  196. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +78 -7
  197. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +17 -20
  198. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +17 -24
  199. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +1292 -1170
  200. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +17 -20
  201. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +858 -807
  202. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +18 -19
  203. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +17 -24
  204. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +17 -18
  205. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +986 -971
  206. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_TW.po +19 -20
  207. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +9 -9
  208. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +2 -2
  209. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +1 -1
  210. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/download-policy.service.js +0 -1
  211. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +1 -1
  212. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +2 -2
  213. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-start-date.directive.js +21 -0
  214. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-type.directive.js +16 -0
  215. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-start-date.html +2 -0
  216. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-type.html +18 -0
  217. data/lib/katello/engine.rb +12 -6
  218. data/lib/katello/middleware/event_daemon.rb +1 -1
  219. data/lib/katello/permission_creator.rb +26 -5
  220. data/lib/katello/plugin.rb +3 -2
  221. data/lib/katello/tasks/delete_orphaned_content.rake +1 -3
  222. data/lib/katello/tasks/jenkins.rake +1 -1
  223. data/lib/katello/tasks/pulp3_content_switchover.rake +1 -1
  224. data/lib/katello/tasks/pulp3_migration.rake +18 -6
  225. data/lib/katello/tasks/pulp3_migration_abort.rake +7 -2
  226. data/lib/katello/tasks/pulp3_migration_stats.rake +28 -8
  227. data/lib/katello/tasks/pulp3_post_migration_check.rake +1 -3
  228. data/lib/katello/tasks/receptor/extract_orgs.rake +1 -1
  229. data/lib/katello/tasks/reimport.rake +1 -1
  230. data/lib/katello/tasks/repository.rake +3 -5
  231. data/lib/katello/tasks/reset.rake +0 -15
  232. data/lib/katello/tasks/upgrades/4.0/remove_ostree_puppet_content.rake +16 -0
  233. data/lib/katello/version.rb +1 -1
  234. data/lib/proxy_api/container_gateway.rb +21 -0
  235. data/locale/action_names.rb +51 -51
  236. data/locale/bn/katello.edit.po +8538 -0
  237. data/locale/bn/katello.po +136 -51
  238. data/locale/bn/katello.po.time_stamp +0 -0
  239. data/locale/cs/katello.edit.po +8440 -0
  240. data/locale/cs/katello.po +136 -49
  241. data/locale/cs/katello.po.time_stamp +0 -0
  242. data/locale/de/katello.edit.po +8344 -0
  243. data/locale/de/katello.po +136 -48
  244. data/locale/de/katello.po.time_stamp +0 -0
  245. data/locale/en/katello.edit.po +8161 -0
  246. data/locale/en/katello.po +136 -48
  247. data/locale/en/katello.po.time_stamp +0 -0
  248. data/locale/es/katello.edit.po +8306 -0
  249. data/locale/es/katello.po +136 -48
  250. data/locale/es/katello.po.time_stamp +0 -0
  251. data/locale/fr/katello.edit.po +8356 -0
  252. data/locale/fr/katello.po +136 -48
  253. data/locale/fr/katello.po.time_stamp +0 -0
  254. data/locale/gu/katello.edit.po +8540 -0
  255. data/locale/gu/katello.po +136 -51
  256. data/locale/gu/katello.po.time_stamp +0 -0
  257. data/locale/hi/katello.edit.po +8537 -0
  258. data/locale/hi/katello.po +136 -51
  259. data/locale/hi/katello.po.time_stamp +0 -0
  260. data/locale/it/katello.edit.po +8293 -0
  261. data/locale/it/katello.po +136 -48
  262. data/locale/it/katello.po.time_stamp +0 -0
  263. data/locale/ja/katello.edit.po +8322 -0
  264. data/locale/ja/katello.po +136 -48
  265. data/locale/ja/katello.po.time_stamp +0 -0
  266. data/locale/katello.pot +941 -767
  267. data/locale/kn/katello.edit.po +8538 -0
  268. data/locale/kn/katello.po +136 -51
  269. data/locale/kn/katello.po.time_stamp +0 -0
  270. data/locale/ko/katello.edit.po +8289 -0
  271. data/locale/ko/katello.po +136 -48
  272. data/locale/ko/katello.po.time_stamp +0 -0
  273. data/locale/mr/katello.edit.po +8502 -0
  274. data/locale/mr/katello.po +136 -51
  275. data/locale/mr/katello.po.time_stamp +0 -0
  276. data/locale/or/katello.edit.po +8538 -0
  277. data/locale/or/katello.po +136 -51
  278. data/locale/or/katello.po.time_stamp +0 -0
  279. data/locale/pa/katello.edit.po +8524 -0
  280. data/locale/pa/katello.po +136 -51
  281. data/locale/pa/katello.po.time_stamp +0 -0
  282. data/locale/pt/katello.edit.po +8255 -0
  283. data/locale/pt/katello.po +136 -51
  284. data/locale/pt/katello.po.time_stamp +0 -0
  285. data/locale/pt_BR/katello.edit.po +8289 -0
  286. data/locale/pt_BR/katello.po +136 -48
  287. data/locale/pt_BR/katello.po.time_stamp +0 -0
  288. data/locale/ru/katello.edit.po +8309 -0
  289. data/locale/ru/katello.po +136 -48
  290. data/locale/ru/katello.po.time_stamp +0 -0
  291. data/locale/ta/katello.edit.po +8536 -0
  292. data/locale/ta/katello.po +136 -51
  293. data/locale/ta/katello.po.time_stamp +0 -0
  294. data/locale/te/katello.edit.po +8536 -0
  295. data/locale/te/katello.po +136 -51
  296. data/locale/te/katello.po.time_stamp +0 -0
  297. data/locale/zh_CN/katello.edit.po +8288 -0
  298. data/locale/zh_CN/katello.po +136 -48
  299. data/locale/zh_CN/katello.po.time_stamp +0 -0
  300. data/locale/zh_TW/katello.edit.po +8420 -0
  301. data/locale/zh_TW/katello.po +136 -48
  302. data/locale/zh_TW/katello.po.time_stamp +0 -0
  303. data/package.json +1 -1
  304. data/webpack/__mocks__/foremanReact/Root/Context/ForemanContext.js +0 -1
  305. data/webpack/__mocks__/foremanReact/components/Pagination/PaginationHooks.js +2 -0
  306. data/webpack/__mocks__/foremanReact/components/common/dates/LongDateTime.js +5 -0
  307. data/webpack/{scenes/ContentViews/Details/Repositories → components/SelectableDropdown}/SelectableDropdown.js +20 -3
  308. data/webpack/components/SelectableDropdown/__tests__/SelectableDropdown.test.js +45 -0
  309. data/webpack/components/SelectableDropdown/index.js +3 -0
  310. data/webpack/components/Table/TableWrapper.js +2 -1
  311. data/webpack/components/Table/helpers.js +14 -0
  312. data/webpack/components/TypeAhead/TypeAhead.js +2 -1
  313. data/webpack/components/TypeAhead/pf3Search/TypeAheadSearch.js +2 -1
  314. data/webpack/components/TypeAhead/pf4Search/TypeAheadSearch.js +0 -1
  315. data/webpack/containers/Application/overrides.scss +6 -0
  316. data/webpack/index.js +6 -0
  317. data/webpack/redux/actions/RedHatRepositories/helpers.js +5 -5
  318. data/webpack/scenes/ContentViews/ContentViewsActions.js +31 -2
  319. data/webpack/scenes/ContentViews/ContentViewsConstants.js +5 -1
  320. data/webpack/scenes/ContentViews/Copy/ContentViewCopySelectors.js +16 -0
  321. data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +77 -0
  322. data/webpack/scenes/ContentViews/Copy/CopyContentViewModal.js +44 -0
  323. data/webpack/scenes/ContentViews/Copy/__tests__/contentViewCopyResult.fixtures.json +42 -0
  324. data/webpack/scenes/ContentViews/Copy/__tests__/copyContentView.test.js +39 -0
  325. data/webpack/scenes/ContentViews/Copy/index.js +4 -0
  326. data/webpack/scenes/ContentViews/Create/ContentViewCreateSelectors.js +16 -0
  327. data/webpack/scenes/ContentViews/Create/ContentViewFormComponents.js +58 -0
  328. data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +175 -0
  329. data/webpack/scenes/ContentViews/Create/CreateContentViewModal.js +27 -0
  330. data/webpack/scenes/ContentViews/Create/__tests__/contentViewCreateResult.fixtures.json +42 -0
  331. data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +92 -0
  332. data/webpack/scenes/ContentViews/Create/index.js +4 -0
  333. data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +16 -0
  334. data/webpack/scenes/ContentViews/Details/ContentViewDetailSelectors.js +20 -1
  335. data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +17 -7
  336. data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +19 -13
  337. data/webpack/scenes/ContentViews/Details/Filters/ContentType.js +40 -0
  338. data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +124 -0
  339. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.fixtures.json +134 -0
  340. data/webpack/scenes/ContentViews/Details/Filters/__tests__/contentViewFilters.test.js +92 -0
  341. data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +44 -25
  342. data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewDetailRepos.test.js +17 -7
  343. data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetail.test.js +24 -0
  344. data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +53 -3
  345. data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +4 -3
  346. data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +41 -0
  347. data/webpack/scenes/ContentViews/helpers.js +13 -0
  348. data/webpack/scenes/SmartProxy/Content.js +17 -0
  349. data/webpack/scenes/SmartProxy/SmartProxyContentActions.js +11 -0
  350. data/webpack/scenes/SmartProxy/SmartProxyContentConstants.js +3 -0
  351. data/webpack/scenes/SmartProxy/SmartProxyContentSelectors.js +16 -0
  352. data/webpack/scenes/SmartProxy/SmartProxyContentTable.js +152 -0
  353. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentResult.fixtures.json +140 -0
  354. data/webpack/scenes/SmartProxy/__tests__/SmartProxyContentTest.js +38 -0
  355. data/webpack/scenes/SmartProxy/index.js +4 -0
  356. data/webpack/scenes/Subscriptions/Manifest/ManifestActions.js +3 -3
  357. data/webpack/scenes/Subscriptions/Manifest/__tests__/ManifestActions.test.js +2 -2
  358. data/webpack/scenes/Subscriptions/Manifest/__tests__/SimpleContentAccess.test.js +2 -2
  359. data/webpack/test-utils/react-testing-lib-wrapper.js +5 -2
  360. data/webpack/utils/helpers.js +3 -0
  361. metadata +160 -40
  362. data/app/controllers/katello/api/v2/gpg_keys_controller.rb +0 -114
  363. data/app/lib/actions/pulp/consumer/abstract_content_action.rb +0 -71
  364. data/app/lib/actions/pulp/consumer/content_install.rb +0 -43
  365. data/app/lib/actions/pulp/consumer/content_uninstall.rb +0 -26
  366. data/app/lib/actions/pulp/consumer/content_update.rb +0 -32
  367. data/app/overrides/disable_turbolinks_on_proxies_index.rb +0 -5
  368. data/app/services/katello/event_daemon.rb +0 -135
  369. data/app/services/katello/pulp/content_counts_calculator.rb +0 -60
  370. data/db/functions/empty_v01.sql +0 -7
  371. data/db/functions/evr_trigger_v01.sql +0 -9
  372. data/db/functions/isalpha_v01.sql +0 -11
  373. data/db/functions/isalphanum_v01.sql +0 -12
  374. data/db/functions/isdigit_v01.sql +0 -10
  375. data/db/functions/rpmver_array_v01.sql +0 -60
  376. data/lib/katello/tasks/common.rake +0 -7
  377. data/lib/katello/tasks/reports.rake +0 -4
  378. data/lib/katello/tasks/upgrades/3.10/update_gpg_key_urls.rake +0 -32
  379. data/webpack/components/TypeAhead/pf4Search/TypeAheadSearch.scss +0 -5
  380. data/webpack/scenes/ContentViews/Table/actionResolver.js +0 -28
@@ -1,7 +1,7 @@
1
1
  module Katello
2
2
  module Validators
3
3
  class ContentViewPuppetModuleValidator < ActiveModel::Validator
4
- def validate(record)
4
+ def validate(record) # rubocop:disable Metrics/CyclomaticComplexity
5
5
  if record.uuid.blank? && (record.name.blank? || record.author.blank?)
6
6
  record.errors[:base] << _("Invalid puppet module parameters specified. \
7
7
  Either 'uuid' or 'name' and 'author' must be specified.")
@@ -1,8 +1,8 @@
1
1
  module Katello
2
2
  class ActivationKey < Katello::Model
3
3
  audited :except => [:cp_id], :associations => [:host_collections]
4
- include Glue::Candlepin::ActivationKey if SETTINGS[:katello][:use_cp]
5
- include Glue if SETTINGS[:katello][:use_cp]
4
+ include Glue::Candlepin::ActivationKey
5
+ include Glue
6
6
  include Katello::Authorization::ActivationKey
7
7
  include ForemanTasks::Concerns::ActionSubject
8
8
  include ScopedSearchExtensions
@@ -0,0 +1,17 @@
1
+ module Katello
2
+ module Agent
3
+ class DispatchHistory < Katello::Model
4
+ self.table_name = 'katello_agent_dispatch_histories'
5
+
6
+ serialize :result, Hash
7
+
8
+ def accepted?
9
+ accepted_at.present?
10
+ end
11
+
12
+ def finished?
13
+ result.present?
14
+ end
15
+ end
16
+ end
17
+ end
@@ -10,9 +10,32 @@ module Katello
10
10
  end
11
11
 
12
12
  module ClassMethods
13
+ def with_content_view_scope(scope)
14
+ joins(:content_view).merge(Katello::ContentView.send(scope))
15
+ end
16
+
13
17
  def readable
14
- view_ids = ::Katello::ContentView.readable.collect { |v| v.id }
15
- joins(:content_view).where("#{Katello::ContentView.table_name}.id" => view_ids)
18
+ with_content_view_scope(:readable)
19
+ end
20
+
21
+ def exportable
22
+ with_content_view_scope(:exportable)
23
+ end
24
+
25
+ def editable
26
+ with_content_view_scope(:editable)
27
+ end
28
+
29
+ def publishable
30
+ with_content_view_scope(:publishable)
31
+ end
32
+
33
+ def deletable
34
+ with_content_view_scope(:deletable)
35
+ end
36
+
37
+ def promotable_or_removable
38
+ with_content_view_scope(:promotable_or_removable)
16
39
  end
17
40
  end
18
41
  end
@@ -4,7 +4,7 @@ module Katello
4
4
 
5
5
  module ClassMethods
6
6
  def readable
7
- where(:content_view_version_id => Katello::ContentViewVersion.readable)
7
+ joins(:content_view_version).merge(Katello::ContentViewVersion.readable)
8
8
  end
9
9
  end
10
10
  end
@@ -12,6 +12,14 @@ module Katello
12
12
  authorized?(:import_manifest)
13
13
  end
14
14
 
15
+ def can_import_library_content?
16
+ authorized?(:import_library_content)
17
+ end
18
+
19
+ def can_export_library_content?
20
+ authorized?(:export_library_content)
21
+ end
22
+
15
23
  def readable_promotion_paths
16
24
  permissible_promotion_paths(KTEnvironment.readable)
17
25
  end
@@ -114,7 +114,7 @@ module Katello
114
114
  end
115
115
 
116
116
  def suse?
117
- content.content_type == Repository::YUM_TYPE && !!path.downcase.match(/suse/) # rubocop:disable Style/DoubleNegation
117
+ content.content_type == Repository::YUM_TYPE && !!path.downcase.match(/suse/)
118
118
  end
119
119
 
120
120
  def file?
@@ -33,6 +33,8 @@ module Katello
33
33
  included do
34
34
  prepend Overrides
35
35
 
36
+ has_many :dispatch_histories, :class_name => "::Katello::Agent::DispatchHistory", :foreign_key => :host_id, :dependent => :delete_all
37
+
36
38
  has_many :host_installed_packages, :class_name => "::Katello::HostInstalledPackage", :foreign_key => :host_id, :dependent => :delete_all
37
39
  has_many :installed_packages, :class_name => "::Katello::InstalledPackage", :through => :host_installed_packages
38
40
 
@@ -212,6 +214,7 @@ module Katello
212
214
  streams = {}
213
215
  module_streams.each do |module_stream|
214
216
  stream = AvailableModuleStream.where(name: module_stream["name"],
217
+ context: module_stream["context"],
215
218
  stream: module_stream["stream"]).first_or_create!
216
219
  streams[stream.id] = module_stream
217
220
  end
@@ -17,6 +17,8 @@ module Katello
17
17
  TemplateKind.all.each do |kind|
18
18
  if name == ::Operatingsystem::REDHAT_ATOMIC_HOST_OS && kind.name == "provision"
19
19
  provisioning_template_name = Setting["katello_default_atomic_provision"]
20
+ elsif kind.name == 'registration'
21
+ provisioning_template_name = 'Linux registration default'
20
22
  else
21
23
  provisioning_template_name = Setting["katello_default_#{kind.name}"]
22
24
  end
@@ -9,8 +9,8 @@ module Katello
9
9
 
10
10
  include ForemanTasks::Concerns::ActionSubject
11
11
  prepend ForemanTasks::Concerns::ActionTriggering
12
- include Glue::Candlepin::Owner if SETTINGS[:katello][:use_cp]
13
- include Glue if SETTINGS[:katello][:use_cp]
12
+ include Glue::Candlepin::Owner
13
+ include Glue
14
14
 
15
15
  include Katello::Authorization::Organization
16
16
  include Ext::LabelFromName
@@ -91,6 +91,13 @@ module Katello
91
91
  service_class.pulp_units_batch_all(pulp_ids).each do |units|
92
92
  units.each do |unit|
93
93
  unit = unit.with_indifferent_access
94
+ if content_type == 'rpm' && repository
95
+ rpms_to_disassociate = ::Katello::Rpm.where(name: unit[:name], version: unit[:version], release: unit[:release],
96
+ epoch: unit[:epoch], arch: unit[:arch]).select(:id)
97
+ if rpms_to_disassociate.any?
98
+ ::Katello::RepositoryRpm.where(rpm_id: rpms_to_disassociate, repository_id: repository.id).destroy_all
99
+ end
100
+ end
94
101
  model = Katello::Util::Support.active_record_retry do
95
102
  self.where(:pulp_id => unit[service_class.unit_identifier]).first_or_create
96
103
  end
@@ -44,8 +44,8 @@ module Katello
44
44
 
45
45
  def kickstart_repos(host)
46
46
  distros = distribution_repositories(host).where(distribution_bootable: true)
47
- if distros && host.content_source
48
- distros.map { |distro| distro.to_hash(host.content_source) }
47
+ if distros && host&.content_facet&.content_source
48
+ distros.map { |distro| distro.to_hash(host.content_facet.content_source) }
49
49
  else
50
50
  []
51
51
  end
@@ -97,19 +97,23 @@ module Katello
97
97
  end
98
98
 
99
99
  def self.sync_needed?(environment)
100
- unscoped.with_environment(environment).any?
100
+ Setting[:foreman_proxy_content_auto_sync] && unscoped.with_environment(environment).any?
101
101
  end
102
102
  end
103
103
 
104
+ def update_unauthenticated_repo_list(repo_names)
105
+ ProxyAPI::ContainerGateway.new(url: self.url).unauthenticated_repository_list("repositories": repo_names)
106
+ end
107
+
104
108
  def puppet_path
105
109
  self[:puppet_path] || update_puppet_path
106
110
  end
107
111
 
108
112
  def update_puppet_path
109
113
  if has_feature?(PULP_FEATURE)
110
- path = ProxyAPI::Pulp.new(:url => self.url).capsule_puppet_path['puppet_content_dir']
114
+ path = ::ProxyAPI::Pulp.new(:url => self.url).capsule_puppet_path['puppet_content_dir']
111
115
  elsif has_feature?(PULP_NODE_FEATURE)
112
- path = ProxyAPI::PulpNode.new(:url => self.url).capsule_puppet_path['puppet_content_dir']
116
+ path = ::ProxyAPI::PulpNode.new(:url => self.url).capsule_puppet_path['puppet_content_dir']
113
117
  end
114
118
  self.update_attribute(:puppet_path, path || '') if persisted?
115
119
  path
@@ -130,7 +134,7 @@ module Katello
130
134
  config.host = uri.host
131
135
  config.scheme = uri.scheme
132
136
  pulp3_ssl_configuration(config)
133
- config.debugging = true
137
+ config.debugging = false
134
138
  config.logger = ::Foreman::Logging.logger('katello/pulp_rest')
135
139
  config.username = self.setting(PULP3_FEATURE, 'username')
136
140
  config.password = self.setting(PULP3_FEATURE, 'password')
@@ -179,7 +183,9 @@ module Katello
179
183
  end
180
184
 
181
185
  def fix_pulp3_capabilities(type)
182
- if missing_pulp3_capabilities? && !pulp2_preferred_for_type?(type)
186
+ repository_type_obj = type.is_a?(String) || type.is_a?(Symbol) ? Katello::RepositoryTypeManager.repository_types[type] : type
187
+
188
+ if missing_pulp3_capabilities? && repository_type_obj.pulp3_plugin && !pulp2_preferred_for_type?(repository_type_obj.id)
183
189
  self.refresh
184
190
  if self.capabilities(::SmartProxy::PULP3_FEATURE).empty?
185
191
  fail Katello::Errors::PulpcoreMissingCapabilities
@@ -346,6 +352,26 @@ module Katello
346
352
  end
347
353
  end
348
354
 
355
+ def repos_in_env_cv(environment = nil, content_view = nil)
356
+ repos = Katello::Repository
357
+ repos = repos.in_environment(environment) if environment
358
+ repos = repos.in_content_views([content_view]) if content_view
359
+ repos
360
+ end
361
+
362
+ def repos_in_sync_history
363
+ smart_proxy_sync_histories.map { |sync_history| sync_history.repository }
364
+ end
365
+
366
+ def current_repositories_data(environment = nil, content_view = nil)
367
+ return repos_in_sync_history unless (environment || content_view)
368
+ repos_in_sync_history & repos_in_env_cv(environment, content_view)
369
+ end
370
+
371
+ def repos_pending_sync(environment = nil, content_view = nil)
372
+ repos_in_env_cv(environment, content_view) - repos_in_sync_history
373
+ end
374
+
349
375
  def smart_proxy_service
350
376
  @smart_proxy_service ||= Pulp::SmartProxyRepository.new(self)
351
377
  end
@@ -0,0 +1,4 @@
1
+ module Katello
2
+ class ContentMigrationProgress < Katello::Model
3
+ end
4
+ end
@@ -8,6 +8,7 @@ module Katello
8
8
  include ForemanTasks::Concerns::ActionSubject
9
9
 
10
10
  CONTENT_DIR = "content_views".freeze
11
+ IMPORT_LIBRARY = "Import-Library".freeze
11
12
 
12
13
  belongs_to :organization, :inverse_of => :content_views, :class_name => "::Organization"
13
14
 
@@ -102,6 +103,10 @@ module Katello
102
103
  name
103
104
  end
104
105
 
106
+ def library_import?
107
+ name == IMPORT_LIBRARY
108
+ end
109
+
105
110
  def content_host_count
106
111
  hosts.count
107
112
  end
@@ -236,6 +241,10 @@ module Katello
236
241
  environments.include?(env)
237
242
  end
238
243
 
244
+ apipie :method, 'Returns the Katello::ContentViewVersion for a given Lifecycle Environment' do
245
+ required :env, 'Katello::KTEnvironment', desc: 'a __Katello::KTEnvironment__ object for which we load the __Katello::ContentViewVersion__ object'
246
+ returns 'Katello::ContentViewVersion'
247
+ end
239
248
  def version(env)
240
249
  self.versions.in_environment(env).order("#{Katello::ContentViewVersion.table_name}.id ASC").readonly(false).last
241
250
  end
@@ -755,7 +764,7 @@ module Katello
755
764
  prop_group :katello_basic_props, Katello::Model, meta: { friendly_name: 'Content View' }
756
765
  end
757
766
  class Jail < ::Safemode::Jail
758
- allow :name, :label
767
+ allow :name, :label, :version
759
768
  end
760
769
  end
761
770
  end
@@ -2,8 +2,8 @@ module Katello
2
2
  class ContentViewEnvironment < Katello::Model
3
3
  audited :associated_with => :content_view
4
4
  include ForemanTasks::Concerns::ActionSubject
5
- include Glue::Candlepin::Environment if SETTINGS[:katello][:use_cp]
6
- include Glue if SETTINGS[:katello][:use_cp]
5
+ include Glue::Candlepin::Environment
6
+ include Glue
7
7
  include Authorization::ContentViewEnvironment
8
8
 
9
9
  belongs_to :content_view, :class_name => "Katello::ContentView", :inverse_of => :content_view_environments
@@ -32,7 +32,8 @@ module Katello
32
32
  publish: 1,
33
33
  promotion: 2,
34
34
  removal: 3,
35
- export: 4
35
+ export: 4,
36
+ importing: 5
36
37
  }
37
38
 
38
39
  def content_view
@@ -43,7 +43,7 @@ module Katello
43
43
  end
44
44
 
45
45
  def self.generate_rpm_clauses(package_filenames = [])
46
- { 'filename' => { "$in" => package_filenames } } unless package_filenames.empty?
46
+ { 'filename' => { "$in" => package_filenames.sort } } unless package_filenames.empty?
47
47
  end
48
48
 
49
49
  def applicable_rpms
@@ -1,8 +1,8 @@
1
1
  module Katello
2
2
  class ContentViewPuppetEnvironment < Katello::Model
3
3
  include ForemanTasks::Concerns::ActionSubject
4
- include Glue::Pulp::Repo if SETTINGS[:katello][:use_pulp]
5
- include Glue if SETTINGS[:katello][:use_pulp]
4
+ include Glue::Pulp::Repo
5
+ include Glue
6
6
 
7
7
  belongs_to :environment, :class_name => "Katello::KTEnvironment",
8
8
  :inverse_of => :content_view_puppet_environments
@@ -322,7 +322,8 @@ module Katello
322
322
  end
323
323
 
324
324
  def content_counts_map
325
- return {} if content_counts.blank?
325
+ # if its empty, calculate it on demand
326
+ update_content_counts! if content_counts.blank?
326
327
  counts = Hash[content_counts.map { |key, value| ["#{key}_count", value] }]
327
328
  counts.merge("module_stream_count" => counts["modulemd_count"],
328
329
  "package_count" => counts["rpm_count"],
@@ -2,13 +2,24 @@ module Katello
2
2
  class ContentViewVersionExportHistory < Katello::Model
3
3
  include Authorization::ContentViewVersionExportHistory
4
4
 
5
+ COMPLETE = "complete".freeze
6
+ INCREMENTAL = "incremental".freeze
7
+ EXPORT_TYPES = [COMPLETE, INCREMENTAL].freeze
8
+
5
9
  belongs_to :content_view_version, :class_name => "Katello::ContentViewVersion", :inverse_of => :export_histories
6
10
  validates_lengths_from_database
7
11
  validates :content_view_version_id, :presence => true
8
- validates :destination_server, :presence => true, :uniqueness => { :scope => [:content_view_version_id, :destination_server, :path] }
12
+ validates :destination_server, :uniqueness => { :scope => [:content_view_version_id, :destination_server, :path] }
13
+ validates :export_type, :inclusion => { :in => EXPORT_TYPES,
14
+ :allow_blank => false,
15
+ :message => _("Invalid export_type from one of the following: %s" % EXPORT_TYPES.join(', '))
16
+ }
17
+
9
18
  validates :metadata, :presence => true
10
19
  serialize :metadata, Hash
11
20
 
21
+ before_validation :set_export_type, :if => -> { export_type.blank? }
22
+
12
23
  scope :with_organization_id, ->(organization_id) do
13
24
  where(:content_view_version_id => ContentViewVersion.with_organization_id(organization_id))
14
25
  end
@@ -20,5 +31,19 @@ module Katello
20
31
  scoped_search :on => :content_view_id, :relation => :content_view_version, :validator => ScopedSearch::Validators::INTEGER, :only_explicit => true
21
32
  scoped_search :on => :content_view_version_id, :only_explicit => true, :validator => ScopedSearch::Validators::INTEGER
22
33
  scoped_search :on => :id, :only_explicit => true, :validator => ScopedSearch::Validators::INTEGER
34
+ scoped_search :on => :export_type, :rename => :type, :complete_value => EXPORT_TYPES
35
+
36
+ def self.latest(content_view, destination_server: nil)
37
+ where(content_view_version: content_view.versions,
38
+ destination_server: destination_server).order(:created_at).last
39
+ end
40
+
41
+ def export_type_from_metadata
42
+ cvve.metadata[:incremental] ? INCREMENTAL : COMPLETE
43
+ end
44
+
45
+ def set_export_type
46
+ self.export_type = export_type_from_metadata
47
+ end
23
48
  end
24
49
  end
@@ -173,9 +173,11 @@ module Katello
173
173
  property :package_names, array_of: String, desc: 'Returns names of packages the errata can be applied to'
174
174
  property :cves, array_of: 'ErratumCve', desc: 'Returns CVEs associated with the errata'
175
175
  property :reboot_suggested, one_of: [true, false], desc: 'Returns true if reboot is suggested after errata applying, false otherwise'
176
+ property :title, String, desc: 'Returns the errata title, e.g. "Important: net-snmp security update"'
177
+ property :summary, String, desc: 'Returns the errata summary, the length can very, it is usually in range of 60 to 1000 characters. It can include empty line characters.'
176
178
  end
177
179
  class Jail < ::Safemode::Jail
178
- allow :errata_id, :errata_type, :issued, :created_at, :severity, :package_names, :cves, :reboot_suggested
180
+ allow :errata_id, :errata_type, :issued, :created_at, :severity, :package_names, :cves, :reboot_suggested, :title, :summary
179
181
  end
180
182
  end
181
183
  end
@@ -0,0 +1,19 @@
1
+ module Katello
2
+ module Events
3
+ class DeleteHostAgentQueue
4
+ EVENT_TYPE = 'delete_host_agent_queue'.freeze
5
+
6
+ attr_accessor :metadata
7
+
8
+ def initialize(_host_id)
9
+ yield(self) if block_given?
10
+ end
11
+
12
+ def run
13
+ if metadata[:queue_name]
14
+ Katello::Agent::Dispatcher.delete_client_queue(queue_name: metadata[:queue_name])
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -92,6 +92,8 @@ module Katello
92
92
  end
93
93
 
94
94
  # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
95
+ # rubocop:disable Metrics/CyclomaticComplexity
96
+ # rubocop:disable Metrics/PerceivedComplexity
95
97
  def import_data(index_hosts_and_activation_keys = false)
96
98
  pool_attributes = {}.with_indifferent_access
97
99
  pool_json = self.backend_data