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
@@ -4,14 +4,12 @@ module Actions
4
4
  class EnvironmentCreate < Actions::Base
5
5
  def plan(content_view_environment)
6
6
  content_view_environment.save!
7
- if ::SETTINGS[:katello][:use_cp]
8
- content_view = content_view_environment.content_view
9
- plan_action(Candlepin::Environment::Create,
10
- organization_label: content_view.organization.label,
11
- cp_id: content_view_environment.cp_id,
12
- name: content_view_environment.label,
13
- description: content_view.description)
14
- end
7
+ content_view = content_view_environment.content_view
8
+ plan_action(Candlepin::Environment::Create,
9
+ organization_label: content_view.organization.label,
10
+ cp_id: content_view_environment.cp_id,
11
+ name: content_view_environment.label,
12
+ description: content_view.description)
15
13
  end
16
14
 
17
15
  def humanized_name
@@ -71,7 +71,7 @@ module Actions
71
71
  private
72
72
 
73
73
  def sync_proxies?(environment)
74
- Setting[:foreman_proxy_content_auto_sync] && ::SmartProxy.sync_needed?(environment)
74
+ ::SmartProxy.sync_needed?(environment)
75
75
  end
76
76
 
77
77
  def repos_to_delete(version, environment)
@@ -6,7 +6,7 @@ module Actions
6
6
  include ::Katello::ContentViewHelper
7
7
  attr_accessor :version
8
8
  # rubocop:disable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity
9
- def plan(content_view, description = "", options = {importing: false})
9
+ def plan(content_view, description = "", options = {importing: false}) # rubocop:disable Metrics/PerceivedComplexity
10
10
  action_subject(content_view)
11
11
 
12
12
  content_view.check_ready_to_publish!(importing: options[:importing])
@@ -137,7 +137,7 @@ module Actions
137
137
  history.save!
138
138
  environment = ::Katello::KTEnvironment.find(input[:environment_id])
139
139
  view = ::Katello::ContentView.find(input[:content_view_id])
140
- if SmartProxy.sync_needed?(environment) && Setting[:foreman_proxy_content_auto_sync] && !input[:skip_promotion]
140
+ if SmartProxy.sync_needed?(environment) && !input[:skip_promotion]
141
141
  ForemanTasks.async_task(ContentView::CapsuleSync,
142
142
  view,
143
143
  environment)
@@ -5,10 +5,11 @@ module Actions
5
5
  def plan(content_view, path:, metadata:)
6
6
  content_view.check_ready_to_import!
7
7
  unless SmartProxy.pulp_primary.pulp3_repository_type_support?(::Katello::Repository::YUM_TYPE)
8
- fail ::Katello::HttpErrors::BadRequest, _("This API endpoint is only valid for Pulp 3 repositories.")
8
+ fail _("This action will become available after the Pulp 3 content migration")
9
9
  end
10
10
 
11
11
  ::Katello::Pulp3::ContentViewVersion::Import.check!(content_view: content_view, metadata: metadata, path: path)
12
+ ::Katello::Pulp3::ContentViewVersion::Import.reset_content_view_repositories_from_metadata!(content_view: content_view, metadata: metadata)
12
13
 
13
14
  major = metadata[:content_view_version][:major]
14
15
  minor = metadata[:content_view_version][:minor]
@@ -0,0 +1,17 @@
1
+ module Actions
2
+ module Katello
3
+ module ContentViewVersion
4
+ class ImportLibrary < Actions::EntryAction
5
+ def plan(organization, path:, metadata:)
6
+ action_subject(organization)
7
+ library_view = ::Katello::Pulp3::ContentViewVersion::Import.find_or_create_library_import_view(organization)
8
+ plan_action(::Actions::Katello::ContentViewVersion::Import, library_view, path: path, metadata: metadata)
9
+ end
10
+
11
+ def humanized_name
12
+ _("Import Default Content View")
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -19,7 +19,7 @@ module Actions
19
19
 
20
20
  # rubocop:disable Metrics/MethodLength
21
21
  # rubocop:disable Metrics/AbcSize
22
- def plan(old_version, environments, options = {})
22
+ def plan(old_version, environments, options = {}) # rubocop:disable Metrics/CyclomaticComplexity
23
23
  dep_solve = options.fetch(:resolve_dependencies, true)
24
24
  description = options.fetch(:description, '')
25
25
  content = options.fetch(:content, {})
@@ -88,11 +88,15 @@ module Actions
88
88
  end
89
89
  end
90
90
 
91
- sequence do
92
- new_puppet_environment = plan_action(Katello::ContentViewPuppetEnvironment::Clone, old_version,
93
- :new_version => new_content_view_version).new_puppet_environment
94
- check_puppet_module_duplicates(content[:puppet_module_ids])
95
- copy_action_outputs += copy_puppet_content(new_puppet_environment, content[:puppet_module_ids], old_version) unless content[:puppet_module_ids].blank?
91
+ if SmartProxy.pulp_primary.has_feature?(SmartProxy::PULP_FEATURE) && SETTINGS[:katello][:content_types][:puppet]
92
+ sequence do
93
+ new_puppet_environment = plan_action(Katello::ContentViewPuppetEnvironment::Clone, old_version,
94
+ :new_version => new_content_view_version).new_puppet_environment
95
+ check_puppet_module_duplicates(content[:puppet_module_ids])
96
+ unless content[:puppet_module_ids].blank?
97
+ copy_action_outputs += copy_puppet_content(new_puppet_environment, content[:puppet_module_ids], old_version)
98
+ end
99
+ end
96
100
  end
97
101
  end
98
102
 
@@ -201,7 +205,7 @@ module Actions
201
205
  end
202
206
  end
203
207
 
204
- def run
208
+ def run # rubocop:disable Metrics/CyclomaticComplexity
205
209
  content = { ::Katello::Erratum::CONTENT_TYPE => [],
206
210
  ::Katello::Rpm::CONTENT_TYPE => [],
207
211
  ::Katello::ModuleStream::CONTENT_TYPE => [],
@@ -352,20 +356,36 @@ module Actions
352
356
  end
353
357
 
354
358
  def copy_yum_content(new_repo, dep_solve, package_ids, errata_ids)
359
+ return [] unless new_repo.content_type == ::Katello::Repository::YUM_TYPE
360
+
355
361
  copy_outputs = []
356
- if new_repo.content_type == ::Katello::Repository::YUM_TYPE
357
- unless errata_ids.blank?
362
+
363
+ unless errata_ids.blank?
364
+ content_present_in_this_repo = new_repo
365
+ .library_instance
366
+ .errata
367
+ .with_identifiers(errata_ids)
368
+ .exists?
369
+ if content_present_in_this_repo
358
370
  copy_outputs << plan_action(Pulp::Repository::CopyUnits, new_repo.library_instance, new_repo,
359
371
  ::Katello::Erratum.with_identifiers(errata_ids),
360
372
  incremental_update: dep_solve).output
361
373
  end
374
+ end
362
375
 
363
- unless package_ids.blank?
376
+ unless package_ids.blank?
377
+ content_present_in_this_repo = new_repo
378
+ .library_instance
379
+ .rpms
380
+ .with_identifiers(package_ids)
381
+ .exists?
382
+ if content_present_in_this_repo
364
383
  copy_outputs << plan_action(Pulp::Repository::CopyUnits, new_repo.library_instance, new_repo,
365
384
  ::Katello::Rpm.with_identifiers(package_ids),
366
385
  incremental_update: dep_solve).output
367
386
  end
368
387
  end
388
+
369
389
  copy_outputs
370
390
  end
371
391
 
@@ -15,7 +15,7 @@ module Actions
15
15
  if applicable_errata.empty?
16
16
  plan_self(:hostname => host.name, :skip => true)
17
17
  else
18
- plan_action(Actions::Katello::Host::Erratum::Install, host, applicable_errata.pluck(:errata_id))
18
+ plan_action(Actions::Katello::Host::Erratum::Install, host, content: applicable_errata.pluck(:errata_id))
19
19
  plan_self(:hostname => host.name, :skip => false)
20
20
  end
21
21
  end
@@ -2,27 +2,13 @@ module Actions
2
2
  module Katello
3
3
  module Host
4
4
  module Erratum
5
- class Install < Actions::EntryAction
6
- include Helpers::Presenter
7
-
8
- def plan(host, errata_ids)
9
- Type! host, ::Host::Managed
5
+ class Install < Actions::Katello::AgentAction
6
+ def self.agent_message
7
+ :install_errata
8
+ end
10
9
 
11
- action_subject(host, :hostname => host.name, :errata => errata_ids)
12
- if Setting['erratum_install_batch_size'] && Setting['erratum_install_batch_size'] > 0
13
- errata_ids.each_slice(Setting['erratum_install_batch_size']) do |errata_ids_batch|
14
- plan_action(Pulp::Consumer::ContentInstall,
15
- consumer_uuid: host.content_facet.uuid,
16
- type: 'erratum',
17
- args: errata_ids_batch)
18
- end
19
- else
20
- plan_action(Pulp::Consumer::ContentInstall,
21
- consumer_uuid: host.content_facet.uuid,
22
- type: 'erratum',
23
- args: errata_ids)
24
- end
25
- plan_self(:host_id => host.id)
10
+ def agent_action_type
11
+ :content_install
26
12
  end
27
13
 
28
14
  def humanized_name
@@ -34,20 +20,16 @@ module Actions
34
20
  end
35
21
 
36
22
  def humanized_input
37
- [input[:errata].join(", ")] + super
23
+ [input[:content].join(", ")] + super
38
24
  end
39
25
 
40
26
  def resource_locks
41
27
  :link
42
28
  end
43
29
 
44
- def presenter
45
- Helpers::Presenter::Delegated.new(self, planned_actions(Pulp::Consumer::ContentInstall))
46
- end
47
-
48
30
  def finalize
49
31
  host = ::Host.find_by(:id => input[:host_id])
50
- host.update(audit_comment: (_("Installation of errata requested: %{errata}") % {errata: input[:errata].join(", ")}).truncate(255))
32
+ host.update(audit_comment: (_("Installation of errata requested: %{errata}") % {errata: input[:content].join(", ")}).truncate(255))
51
33
  end
52
34
  end
53
35
  end
@@ -54,10 +54,10 @@ module Actions
54
54
 
55
55
  # Loads all resources needed for refreshing subscription facet
56
56
  def load_resources
57
- @organizations = ::Organization.where(label: hypervisors_field(:organization_label)).map { |org| [org.label, org] }.to_h
57
+ @organizations = ::Organization.where(label: hypervisors_field(:organization_label)).index_by { |org| org.label }
58
58
 
59
59
  candlepin_data = ::Katello::Resources::Candlepin::Consumer.get_all_with_facts(hypervisors_field(:uuid))
60
- @candlepin_attributes = candlepin_data.map { |consumer| [consumer[:uuid], consumer] }.to_h
60
+ @candlepin_attributes = candlepin_data.index_by { |consumer| consumer[:uuid] }
61
61
 
62
62
  @hosts = {}
63
63
  @hosts.merge!(load_hosts_by_uuid)
@@ -70,7 +70,7 @@ module Actions
70
70
  hosts_by_uuid.each do |host|
71
71
  validate_host_organization(host, host.organization.try(:id))
72
72
  end
73
- hosts_by_uuid.map { |host| [host.subscription_facet.uuid, host] }.to_h
73
+ hosts_by_uuid.index_by { |host| host.subscription_facet.uuid }
74
74
  end
75
75
 
76
76
  def load_hosts_by_duplicate_name
@@ -82,7 +82,7 @@ module Actions
82
82
  validate_host_organization(host, duplicate_name_orgs[host.name].try(:id))
83
83
  end
84
84
 
85
- hosts_by_dup_name.map { |host| [duplicate_names[host.name], host] }.to_h
85
+ hosts_by_dup_name.index_by { |host| duplicate_names[host.name] }
86
86
  end
87
87
 
88
88
  def create_missing_hosts
@@ -2,18 +2,13 @@ module Actions
2
2
  module Katello
3
3
  module Host
4
4
  module Package
5
- class Install < Actions::EntryAction
6
- include Helpers::Presenter
7
-
8
- def plan(host, packages)
9
- Type! host, ::Host::Managed
5
+ class Install < Actions::Katello::AgentAction
6
+ def self.agent_message
7
+ :install_package
8
+ end
10
9
 
11
- action_subject(host, :hostname => host.name, :packages => packages)
12
- plan_action(Pulp::Consumer::ContentInstall,
13
- consumer_uuid: host.content_facet.uuid,
14
- type: 'rpm',
15
- args: packages)
16
- plan_self(:host_id => host.id)
10
+ def agent_action_type
11
+ :content_install
17
12
  end
18
13
 
19
14
  def humanized_name
@@ -25,20 +20,12 @@ module Actions
25
20
  end
26
21
 
27
22
  def humanized_input
28
- [input[:packages].join(", ")] + super
29
- end
30
-
31
- def presenter
32
- Helpers::Presenter::Delegated.new(self, planned_actions(Pulp::Consumer::ContentInstall))
33
- end
34
-
35
- def rescue_strategy
36
- Dynflow::Action::Rescue::Skip
23
+ [input[:content].join(", ")] + super
37
24
  end
38
25
 
39
26
  def finalize
40
27
  host = ::Host.find_by(:id => input[:host_id])
41
- host.update(audit_comment: (_("Installation of package(s) requested: %{packages}") % {packages: input[:packages].join(", ")}).truncate(255))
28
+ host.update(audit_comment: (_("Installation of package(s) requested: %{packages}") % {packages: input[:content].join(", ")}).truncate(255))
42
29
  end
43
30
  end
44
31
  end
@@ -2,16 +2,13 @@ module Actions
2
2
  module Katello
3
3
  module Host
4
4
  module Package
5
- class Remove < Actions::EntryAction
6
- include Helpers::Presenter
5
+ class Remove < Actions::Katello::AgentAction
6
+ def self.agent_message
7
+ :remove_package
8
+ end
7
9
 
8
- def plan(host, packages)
9
- action_subject(host, :hostname => host.name, :packages => packages)
10
- plan_action(Pulp::Consumer::ContentUninstall,
11
- consumer_uuid: host.content_facet.uuid,
12
- type: 'rpm',
13
- args: packages)
14
- plan_self(:host_id => host.id)
10
+ def agent_action_type
11
+ :content_uninstall
15
12
  end
16
13
 
17
14
  def humanized_name
@@ -27,7 +24,7 @@ module Actions
27
24
  end
28
25
 
29
26
  def humanized_package_names
30
- input[:packages].inject([]) do |result, package|
27
+ input[:content].inject([]) do |result, package|
31
28
  if package.is_a?(Hash)
32
29
  new_name = package.include?(:name) ? package[:name] : ""
33
30
  new_name += '-' + package[:version] if package.include?(:version)
@@ -40,18 +37,9 @@ module Actions
40
37
  end
41
38
  end
42
39
 
43
- def presenter
44
- Helpers::Presenter::Delegated.new(
45
- self, planned_actions(Pulp::Consumer::ContentUninstall))
46
- end
47
-
48
- def rescue_strategy
49
- Dynflow::Action::Rescue::Skip
50
- end
51
-
52
40
  def finalize
53
41
  host = ::Host.find_by(:id => input[:host_id])
54
- host.update(audit_comment: (_("Removal of package(s) requested: %{packages}") % {packages: input[:packages].join(", ")}).truncate(255))
42
+ host.update(audit_comment: (_("Removal of package(s) requested: %{packages}") % {packages: input[:content].join(", ")}).truncate(255))
55
43
  end
56
44
  end
57
45
  end
@@ -2,18 +2,13 @@ module Actions
2
2
  module Katello
3
3
  module Host
4
4
  module Package
5
- class Update < Actions::EntryAction
6
- include Helpers::Presenter
7
-
8
- def plan(host, packages)
9
- Type! host, ::Host::Managed
5
+ class Update < Actions::Katello::AgentAction
6
+ def self.agent_message
7
+ :update_package
8
+ end
10
9
 
11
- action_subject(host, :hostname => host.name, :packages => packages)
12
- plan_action(Pulp::Consumer::ContentUpdate,
13
- consumer_uuid: host.content_facet.uuid,
14
- type: 'rpm',
15
- args: packages)
16
- plan_self(:host_id => host.id)
10
+ def agent_action_type
11
+ :content_install
17
12
  end
18
13
 
19
14
  def humanized_name
@@ -25,15 +20,7 @@ module Actions
25
20
  end
26
21
 
27
22
  def humanized_input
28
- [(input[:packages].present? && input[:packages].join(", ") || "all packages")] + super
29
- end
30
-
31
- def presenter
32
- Helpers::Presenter::Delegated.new(self, planned_actions(Pulp::Consumer::ContentUpdate))
33
- end
34
-
35
- def rescue_strategy
36
- Dynflow::Action::Rescue::Skip
23
+ [(input[:content].present? && input[:content].join(", ") || "all packages")] + super
37
24
  end
38
25
 
39
26
  def finalize
@@ -42,8 +29,8 @@ module Actions
42
29
  end
43
30
 
44
31
  def audit_comment
45
- if input[:packages].present?
46
- (_("Update of package(s) requested: %{packages}") % {packages: input[:packages].join(", ")}).truncate(255)
32
+ if input[:content].present?
33
+ (_("Update of package(s) requested: %{packages}") % {packages: input[:content].join(", ")}).truncate(255)
47
34
  else
48
35
  _("Update of all packages requested")
49
36
  end
@@ -2,18 +2,13 @@ module Actions
2
2
  module Katello
3
3
  module Host
4
4
  module PackageGroup
5
- class Install < Actions::EntryAction
6
- include Helpers::Presenter
7
-
8
- def plan(host, groups)
9
- Type! host, ::Host::Managed
5
+ class Install < Actions::Katello::AgentAction
6
+ def self.agent_message
7
+ :install_package_group
8
+ end
10
9
 
11
- action_subject(host, :groups => groups)
12
- plan_action(Pulp::Consumer::ContentInstall,
13
- consumer_uuid: host.content_facet.uuid,
14
- type: 'package_group',
15
- args: groups)
16
- plan_self(:host_id => host.id)
10
+ def agent_action_type
11
+ :content_install
17
12
  end
18
13
 
19
14
  def humanized_name
@@ -21,20 +16,12 @@ module Actions
21
16
  end
22
17
 
23
18
  def humanized_input
24
- [input[:groups].join(", ")] + super
25
- end
26
-
27
- def presenter
28
- Helpers::Presenter::Delegated.new(self, planned_actions(Pulp::Consumer::ContentInstall))
29
- end
30
-
31
- def rescue_strategy
32
- Dynflow::Action::Rescue::Skip
19
+ [input[:content].join(", ")] + super
33
20
  end
34
21
 
35
22
  def finalize
36
23
  host = ::Host.find_by(:id => input[:host_id])
37
- host.update(audit_comment: (_("Installation of package group(s) requested: %{groups}") % {groups: input[:groups].join(", ")}).truncate(255))
24
+ host.update(audit_comment: (_("Installation of package group(s) requested: %{groups}") % {groups: input[:content].join(", ")}).truncate(255))
38
25
  end
39
26
  end
40
27
  end