katello 3.5.2 → 3.6.0.rc1

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 (490) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/katello/sync_management/sync_management.js +5 -2
  3. data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +2 -0
  4. data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +35 -16
  5. data/app/controllers/katello/api/v2/activation_keys_controller.rb +2 -2
  6. data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -2
  7. data/app/controllers/katello/api/v2/content_view_components_controller.rb +1 -0
  8. data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
  9. data/app/controllers/katello/api/v2/content_view_histories_controller.rb +1 -1
  10. data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +1 -1
  11. data/app/controllers/katello/api/v2/content_view_versions_controller.rb +1 -1
  12. data/app/controllers/katello/api/v2/content_views_controller.rb +3 -3
  13. data/app/controllers/katello/api/v2/debs_controller.rb +19 -0
  14. data/app/controllers/katello/api/v2/docker_manifest_lists_controller.rb +20 -0
  15. data/app/controllers/katello/api/v2/environments_controller.rb +1 -1
  16. data/app/controllers/katello/api/v2/errata_controller.rb +24 -0
  17. data/app/controllers/katello/api/v2/file_units_controller.rb +4 -1
  18. data/app/controllers/katello/api/v2/gpg_keys_controller.rb +10 -4
  19. data/app/controllers/katello/api/v2/host_autocomplete_controller.rb +0 -1
  20. data/app/controllers/katello/api/v2/host_collections_controller.rb +1 -1
  21. data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -1
  22. data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +13 -5
  23. data/app/controllers/katello/api/v2/organizations_controller.rb +2 -1
  24. data/app/controllers/katello/api/v2/package_groups_controller.rb +3 -2
  25. data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +1 -1
  26. data/app/controllers/katello/api/v2/products_controller.rb +3 -3
  27. data/app/controllers/katello/api/v2/repositories_controller.rb +28 -12
  28. data/app/controllers/katello/api/v2/repository_sets_controller.rb +21 -13
  29. data/app/controllers/katello/api/v2/root_controller.rb +0 -1
  30. data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -19
  31. data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -1
  32. data/app/controllers/katello/application_controller.rb +0 -18
  33. data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +12 -13
  34. data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +17 -13
  35. data/app/controllers/katello/concerns/containers/steps_controller_extensions.rb +39 -37
  36. data/app/controllers/katello/concerns/hosts_controller_extensions.rb +14 -14
  37. data/app/controllers/katello/concerns/organizations_controller_extensions.rb +34 -33
  38. data/app/controllers/katello/concerns/smart_proxies_controller_extensions.rb +18 -17
  39. data/app/controllers/katello/products_controller.rb +1 -1
  40. data/app/controllers/katello/providers_controller.rb +11 -0
  41. data/app/controllers/katello/react_controller.rb +9 -0
  42. data/app/controllers/katello/sync_management_controller.rb +1 -1
  43. data/app/helpers/katello/concerns/hosts_and_hostgroups_helper_extensions.rb +10 -9
  44. data/app/helpers/katello/concerns/settings_helper_extensions.rb +42 -33
  45. data/app/helpers/katello/concerns/smart_proxy_helper_extensions.rb +1 -1
  46. data/app/helpers/katello/hosts_and_hostgroups_helper.rb +1 -3
  47. data/app/helpers/katello/providers_helper.rb +2 -5
  48. data/app/lib/actions/candlepin/listen_on_candlepin_events.rb +5 -15
  49. data/app/lib/actions/katello/capsule_content/sync.rb +8 -0
  50. data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
  51. data/app/lib/actions/katello/content_view_puppet_environment/clone.rb +2 -2
  52. data/app/lib/actions/katello/content_view_version/republish_repositories.rb +2 -5
  53. data/app/lib/actions/katello/event_queue/monitor.rb +10 -11
  54. data/app/lib/actions/katello/event_queue/suspended_action.rb +1 -1
  55. data/app/lib/actions/katello/host/register.rb +1 -1
  56. data/app/lib/actions/katello/host/update.rb +1 -3
  57. data/app/lib/actions/katello/organization/manifest_refresh.rb +1 -5
  58. data/app/lib/actions/katello/product/content_create.rb +11 -1
  59. data/app/lib/actions/katello/product/content_destroy.rb +8 -0
  60. data/app/lib/actions/katello/product/destroy.rb +2 -2
  61. data/app/lib/actions/katello/product/update.rb +0 -3
  62. data/app/lib/actions/katello/repository/bulk_metadata_generate.rb +15 -0
  63. data/app/lib/actions/katello/repository/check_matching_content.rb +10 -3
  64. data/app/lib/actions/katello/repository/clear.rb +4 -1
  65. data/app/lib/actions/katello/repository/clone_deb_content.rb +70 -0
  66. data/app/lib/actions/katello/repository/clone_to_environment.rb +4 -1
  67. data/app/lib/actions/katello/repository/clone_to_version.rb +19 -10
  68. data/app/lib/actions/katello/repository/clone_yum_content.rb +2 -0
  69. data/app/lib/actions/katello/repository/clone_yum_metadata.rb +1 -2
  70. data/app/lib/actions/katello/repository/create.rb +6 -2
  71. data/app/lib/actions/katello/repository/destroy.rb +1 -1
  72. data/app/lib/actions/katello/repository/export.rb +15 -0
  73. data/app/lib/actions/katello/repository/fetch_pxe_files.rb +49 -0
  74. data/app/lib/actions/katello/repository/filtered_index_content.rb +2 -0
  75. data/app/lib/actions/katello/repository/metadata_generate.rb +5 -1
  76. data/app/lib/actions/katello/repository/remove_content.rb +2 -0
  77. data/app/lib/actions/katello/repository/sync.rb +5 -6
  78. data/app/lib/actions/katello/repository/update.rb +14 -4
  79. data/app/lib/actions/katello/repository/upload_package_group.rb +0 -1
  80. data/app/lib/actions/katello/repository_set/disable_repository.rb +7 -7
  81. data/app/lib/actions/katello/repository_set/enable_repository.rb +17 -7
  82. data/app/lib/actions/katello/repository_set/scan_cdn.rb +8 -10
  83. data/app/lib/actions/pulp/consumer/abstract_content_action.rb +1 -1
  84. data/app/lib/actions/pulp/repository/copy_deb.rb +15 -0
  85. data/app/lib/actions/pulp/repository/copy_deb_component.rb +11 -0
  86. data/app/lib/actions/pulp/repository/copy_deb_release.rb +11 -0
  87. data/app/lib/actions/pulp/repository/copy_srpm.rb +16 -0
  88. data/app/lib/actions/pulp/repository/create.rb +38 -3
  89. data/app/lib/actions/pulp/repository/presenters/deb_presenter.rb +101 -0
  90. data/app/lib/actions/pulp/repository/remove_deb.rb +15 -0
  91. data/app/lib/actions/pulp/repository/remove_docker_blob.rb +11 -0
  92. data/app/lib/actions/pulp/repository/remove_docker_manifest_list.rb +11 -0
  93. data/app/lib/actions/pulp/repository/remove_docker_tag.rb +11 -0
  94. data/app/lib/actions/pulp/repository/sync.rb +2 -0
  95. data/app/lib/katello/api/v2/error_handling.rb +1 -1
  96. data/app/lib/katello/capsule_content.rb +1 -1
  97. data/app/lib/katello/concerns/renderer_extensions.rb +12 -10
  98. data/app/lib/katello/errors.rb +0 -4
  99. data/app/lib/katello/resources/candlepin.rb +2 -3
  100. data/app/lib/katello/util/cdn_var_substitutor.rb +2 -2
  101. data/app/lib/katello/util/docker_manifest_clause_generator.rb +1 -1
  102. data/app/lib/katello/util/package_clause_generator.rb +1 -1
  103. data/app/lib/katello/util/support.rb +1 -1
  104. data/app/models/katello/activation_key.rb +1 -1
  105. data/app/models/katello/authorization/content_view_history.rb +1 -0
  106. data/app/models/katello/authorization/content_view_version.rb +1 -1
  107. data/app/models/katello/authorization/pool.rb +2 -0
  108. data/app/models/katello/authorization/repository.rb +2 -0
  109. data/app/models/katello/candlepin/docker_repository_mapper.rb +77 -0
  110. data/app/models/katello/candlepin/repository_mapper.rb +143 -0
  111. data/app/models/katello/concerns/container_extensions.rb +14 -12
  112. data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -2
  113. data/app/models/katello/concerns/docker_container_wizard_state_extensions.rb +6 -4
  114. data/app/models/katello/concerns/docker_container_wizard_state_image_extensions.rb +8 -6
  115. data/app/models/katello/concerns/host_managed_extensions.rb +2 -13
  116. data/app/models/katello/concerns/location_extensions.rb +5 -1
  117. data/app/models/katello/concerns/organization_extensions.rb +22 -1
  118. data/app/models/katello/concerns/pulp_database_unit.rb +26 -5
  119. data/app/models/katello/concerns/redhat_extensions.rb +22 -21
  120. data/app/models/katello/concerns/smart_proxy_extensions.rb +11 -9
  121. data/app/models/katello/concerns/subscription_facet_host_extensions.rb +8 -7
  122. data/app/models/katello/content.rb +26 -0
  123. data/app/models/katello/content_view.rb +18 -5
  124. data/app/models/katello/content_view_component.rb +1 -1
  125. data/app/models/katello/content_view_docker_filter.rb +15 -6
  126. data/app/models/katello/content_view_filter.rb +8 -2
  127. data/app/models/katello/content_view_puppet_environment.rb +12 -0
  128. data/app/models/katello/content_view_repository.rb +2 -1
  129. data/app/models/katello/content_view_version.rb +57 -15
  130. data/app/models/katello/deb.rb +50 -0
  131. data/app/models/katello/docker_manifest.rb +14 -8
  132. data/app/models/katello/docker_manifest_list.rb +39 -0
  133. data/app/models/katello/docker_manifest_list_manifest.rb +6 -0
  134. data/app/models/katello/docker_meta_tag.rb +3 -3
  135. data/app/models/katello/docker_tag.rb +30 -10
  136. data/app/models/katello/errata_status.rb +1 -1
  137. data/app/models/katello/erratum.rb +3 -4
  138. data/app/models/katello/file_unit.rb +2 -2
  139. data/app/models/katello/glue/candlepin/activation_key.rb +1 -1
  140. data/app/models/katello/glue/candlepin/content.rb +9 -34
  141. data/app/models/katello/glue/candlepin/owner.rb +0 -32
  142. data/app/models/katello/glue/candlepin/pool.rb +2 -3
  143. data/app/models/katello/glue/candlepin/product.rb +34 -52
  144. data/app/models/katello/glue/candlepin/repository.rb +31 -0
  145. data/app/models/katello/glue/provider.rb +16 -19
  146. data/app/models/katello/glue/pulp/repo.rb +89 -16
  147. data/app/models/katello/host/content_facet.rb +6 -6
  148. data/app/models/katello/host/info_provider.rb +2 -2
  149. data/app/models/katello/host/subscription_facet.rb +4 -4
  150. data/app/models/katello/kt_environment.rb +6 -2
  151. data/app/models/katello/package_group.rb +1 -1
  152. data/app/models/katello/pool.rb +13 -12
  153. data/app/models/katello/product.rb +12 -6
  154. data/app/models/katello/product_content.rb +36 -0
  155. data/app/models/katello/provider.rb +1 -1
  156. data/app/models/katello/puppet_module.rb +5 -5
  157. data/app/models/katello/repository.rb +103 -11
  158. data/app/models/katello/repository_deb.rb +7 -0
  159. data/app/models/katello/repository_docker_manifest_list.rb +7 -0
  160. data/app/models/katello/repository_srpm.rb +7 -0
  161. data/app/models/katello/rhsm_fact_importer.rb +2 -2
  162. data/app/models/katello/rhsm_fact_parser.rb +1 -1
  163. data/app/models/katello/rpm.rb +5 -5
  164. data/app/models/katello/srpm.rb +40 -0
  165. data/app/models/katello/subscription.rb +3 -2
  166. data/app/models/katello/sync_plan.rb +8 -5
  167. data/app/models/setting/content.rb +5 -3
  168. data/app/services/katello/product_content_finder.rb +1 -1
  169. data/app/services/katello/pulp/deb.rb +46 -0
  170. data/app/services/katello/pulp/docker_manifest_list.rb +7 -0
  171. data/app/services/katello/pulp/server.rb +4 -12
  172. data/app/services/katello/pulp/srpm.rb +17 -0
  173. data/app/views/foreman/unattended/finish-katello.erb +4 -4
  174. data/app/views/foreman/unattended/kickstart-katello-atomic.erb +3 -3
  175. data/app/views/foreman/unattended/kickstart-katello.erb +5 -9
  176. data/app/views/foreman/unattended/snippets/_subscription_manager_registration.erb +3 -3
  177. data/app/views/foreman/unattended/userdata-katello.erb +8 -8
  178. data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +1 -2
  179. data/app/views/katello/api/v2/content_facet/base.json.rabl +6 -1
  180. data/app/views/katello/api/v2/content_view_versions/base.json.rabl +3 -0
  181. data/app/views/katello/api/v2/content_views/show.json.rabl +12 -0
  182. data/app/views/katello/api/v2/debs/base.json.rabl +10 -0
  183. data/app/views/katello/api/v2/debs/index.json.rabl +7 -0
  184. data/app/views/katello/api/v2/debs/show.json.rabl +3 -0
  185. data/app/views/katello/api/v2/docker_manifest_lists/index.json.rabl +7 -0
  186. data/app/views/katello/api/v2/docker_manifest_lists/show.json.rabl +12 -0
  187. data/app/views/katello/api/v2/docker_manifests/compare.json.rabl +10 -0
  188. data/app/views/katello/api/v2/docker_manifests/show.json.rabl +5 -1
  189. data/app/views/katello/api/v2/docker_tags/_base.json.rabl +4 -4
  190. data/app/views/katello/api/v2/docker_tags/compare.json.rabl +10 -0
  191. data/app/views/katello/api/v2/docker_tags/show.json.rabl +1 -1
  192. data/app/views/katello/api/v2/errata/_counts.json.rabl +1 -0
  193. data/app/views/katello/api/v2/errata/available_errata.rabl +7 -0
  194. data/app/views/katello/api/v2/file_units/compare.json.rabl +10 -0
  195. data/app/views/katello/api/v2/host_subscriptions/product_content.json.rabl +1 -2
  196. data/app/views/katello/api/v2/hostgroups_extensions/show.json.rabl +2 -1
  197. data/app/views/katello/api/v2/hosts_bulk_actions/applicable_errata.json.rabl +7 -0
  198. data/app/views/katello/api/v2/layouts/resource.json.erb +1 -1
  199. data/app/views/katello/api/v2/ostree_branches/compare.json.rabl +10 -0
  200. data/app/views/katello/api/v2/package_groups/compare.json.rabl +10 -0
  201. data/app/views/katello/api/v2/packages/compare.json.rabl +10 -0
  202. data/app/views/katello/api/v2/products/_product_content.json.rabl +9 -0
  203. data/app/views/katello/api/v2/products/base.json.rabl +3 -1
  204. data/app/views/katello/api/v2/products/show.json.rabl +6 -2
  205. data/app/views/katello/api/v2/puppet_modules/compare.json.rabl +10 -0
  206. data/app/views/katello/api/v2/repositories/base.json.rabl +5 -1
  207. data/app/views/katello/api/v2/repositories/show.json.rabl +2 -0
  208. data/app/views/katello/api/v2/repository_sets/show.json.rabl +15 -3
  209. data/app/views/katello/layouts/react.html.erb +15 -0
  210. data/app/views/katello/providers/redhat/_repo_sets.html.erb +5 -5
  211. data/app/views/katello/sync_management/index.html.erb +4 -0
  212. data/app/views/smart_proxies/pulp_status.html.erb +6 -6
  213. data/config/katello.yaml.example +0 -4
  214. data/config/routes.rb +3 -0
  215. data/config/routes/api/v2.rb +30 -3
  216. data/config/routes/overrides.rb +1 -0
  217. data/db/migrate/20131014135042_katello_tables.rb +1 -1
  218. data/db/migrate/20131014225132_add_users_fields.rb +1 -1
  219. data/db/migrate/20131016124255_add_foreign_keys_engine.rb +1 -1
  220. data/db/migrate/20131120225132_add_organization_fields.rb +1 -1
  221. data/db/migrate/20131216212502_add_quantity_to_katello_key_pools.rb +1 -1
  222. data/db/migrate/20131216212621_add_cp_id_to_katello_activation_keys.rb +1 -1
  223. data/db/migrate/20131218174203_drop_katello_key_pools_table.rb +1 -1
  224. data/db/migrate/20140110000001_update_environments_add_katello_id.rb +1 -1
  225. data/db/migrate/20140117160939_refactor_content_views.rb +1 -1
  226. data/db/migrate/20140206200439_create_content_view_puppet_modules.rb +1 -1
  227. data/db/migrate/20140212131812_create_content_view_package_filter_rules.rb +1 -1
  228. data/db/migrate/20140212143454_create_content_view_package_group_filter_rules.rb +1 -1
  229. data/db/migrate/20140212143642_create_content_view_erratum_filter_rules.rb +1 -1
  230. data/db/migrate/20140217145303_remove_changeset.rb +1 -1
  231. data/db/migrate/20140217160132_create_content_view_history.rb +1 -1
  232. data/db/migrate/20140222022712_remove_provider_discovery.rb +1 -1
  233. data/db/migrate/20140305101813_allow_null_for_repository_content_id.rb +1 -1
  234. data/db/migrate/20140306132108_create_content_view_puppet_environments.rb +1 -1
  235. data/db/migrate/20140310102051_repository_add_checksum_type.rb +1 -1
  236. data/db/migrate/20140318174203_drop_cdn_import_success_column.rb +1 -1
  237. data/db/migrate/20140325185413_create_content_view_foreign_keys.rb +1 -1
  238. data/db/migrate/20140404122011_drop_repositories_enabled_column.rb +1 -1
  239. data/db/migrate/20140411134235_update_content_view_description_type.rb +1 -1
  240. data/db/migrate/20140414214152_allow_null_content_view_to_activation_key.rb +1 -1
  241. data/db/migrate/20140418124032_add_next_version_to_katello_content_views.rb +1 -1
  242. data/db/migrate/20140422000001_update_products_add_organization.rb +1 -1
  243. data/db/migrate/20140423191446_add_anonymous_providers_to_orgs.rb +1 -1
  244. data/db/migrate/20140425155126_add_host_id_to_system.rb +1 -1
  245. data/db/migrate/20140429193743_add_release_version_to_activation_keys.rb +1 -1
  246. data/db/migrate/20140502164009_rename_system_groups_to_host_collections.rb +1 -1
  247. data/db/migrate/20140502174412_update_host_collections_foreign_keys.rb +1 -1
  248. data/db/migrate/20140514165842_create_capsule_lifecycle_environments.rb +1 -1
  249. data/db/migrate/20140531160506_package_filter_add_original_packages.rb +1 -1
  250. data/db/migrate/20140610083129_add_pulp_proxy_to_host.rb +1 -1
  251. data/db/migrate/20140610154745_content_view_puppet_environment_id.rb +1 -1
  252. data/db/migrate/20140610170142_add_uuid_to_content_view_package_group_filter_rule.rb +1 -1
  253. data/db/migrate/20140617100300_add_description_to_content_view_filter_rules.rb +1 -1
  254. data/db/migrate/20140623103442_drop_taxonomies_owner_auto_attach_all_systems_task_id_column.rb +1 -1
  255. data/db/migrate/20140624183938_add_foreign_keys_for_organizations.rb +1 -1
  256. data/db/migrate/20140624184401_remove_label_from_activation_key.rb +1 -1
  257. data/db/migrate/20140626055258_add_missing_foreign_keys.rb +1 -1
  258. data/db/migrate/20140626204657_add_unlimited_to_activation_keys.rb +1 -1
  259. data/db/migrate/20140626204902_add_unlimited_to_host_collection.rb +1 -1
  260. data/db/migrate/20140707203534_location_add_katello_default.rb +1 -1
  261. data/db/migrate/20140709150428_remove_deletion_task_id_from_taxonomies.rb +1 -1
  262. data/db/migrate/20140716211853_repo_rename_feed_to_url.rb +1 -1
  263. data/db/migrate/20140807175457_remove_hidden_column_from_user.rb +1 -1
  264. data/db/migrate/20140811141742_remove_delayed_jobs.rb +1 -1
  265. data/db/migrate/20140821084214_add_sync_plan_enabled_to_sync_plan.rb +1 -1
  266. data/db/migrate/20140928210618_add_description_to_content_view_versions.rb +1 -1
  267. data/db/migrate/20140930170628_add_errata.rb +1 -1
  268. data/db/migrate/20141001170628_add_system_repository.rb +1 -1
  269. data/db/migrate/20141003210742_add_docker_container_registry_url_to_providers.rb +1 -1
  270. data/db/migrate/20141015173220_add_docker_image_fields.rb +1 -1
  271. data/db/migrate/20141031150814_add_tag_repository_id_index.rb +1 -1
  272. data/db/migrate/20141112180709_add_auto_attach_to_activation_keys.rb +1 -1
  273. data/db/migrate/20141124182205_content_view_version_add_minor.rb +1 -1
  274. data/db/migrate/20141203123206_add_timestamps_to_repository_join_tables.rb +1 -1
  275. data/db/migrate/20141204203609_add_default_value_to_auto_attach.rb +1 -1
  276. data/db/migrate/20141209103005_disown_foreman_templates.rb +1 -1
  277. data/db/migrate/20141210173220_create_docker_tables.rb +1 -1
  278. data/db/migrate/20141215213720_track_version_components.rb +1 -1
  279. data/db/migrate/20141222151001_add_host_content_view_environment.rb +1 -1
  280. data/db/migrate/20150109012657_add_capsule_id_to_container.rb +1 -1
  281. data/db/migrate/20150114225023_add_upstream_name_to_repository.rb +1 -1
  282. data/db/migrate/20150119153452_update_promote_errata_email_description.rb +1 -1
  283. data/db/migrate/20150224083608_remove_docker_registry_url.rb +1 -1
  284. data/db/migrate/20150227213850_change_descriptions_to_text_fields.rb +1 -1
  285. data/db/migrate/20150423134004_add_content_host_id_to_smart_proxy.rb +1 -1
  286. data/db/migrate/20150505180030_change_errata_timestamps_to_dates.rb +1 -1
  287. data/db/migrate/20150507131145_update_composite_default_for_content_view.rb +1 -1
  288. data/db/migrate/20150513034751_add_ostree_branches.rb +1 -1
  289. data/db/migrate/20150602153753_remove_help_tips.rb +1 -1
  290. data/db/migrate/20150602153754_remove_search_histories.rb +1 -1
  291. data/db/migrate/20150602153755_remove_search_favorites.rb +1 -1
  292. data/db/migrate/20150602153756_remove_user_notices.rb +1 -1
  293. data/db/migrate/20150602153757_remove_notices.rb +1 -1
  294. data/db/migrate/20150603045418_remove_user_fields.rb +1 -1
  295. data/db/migrate/20150606021722_create_puppet_modules.rb +1 -1
  296. data/db/migrate/20150611140455_remove_default_and_custom_info.rb +1 -1
  297. data/db/migrate/20150613134559_add_rpm.rb +1 -1
  298. data/db/migrate/20150623135424_create_package_groups.rb +1 -1
  299. data/db/migrate/20150715142649_assign_content_host_to_smart_proxies.rb +1 -1
  300. data/db/migrate/20150717142559_add_distributions_to_repository.rb +1 -1
  301. data/db/migrate/20150813185339_create_subscriptions.rb +1 -1
  302. data/db/migrate/20150826165942_add_subscription_facet.rb +1 -1
  303. data/db/migrate/20150826170004_add_content_facet.rb +1 -1
  304. data/db/migrate/20150901213759_remove_distributors.rb +1 -1
  305. data/db/migrate/20150902164543_remove_apply_info_task_id_from_taxonomies.rb +1 -1
  306. data/db/migrate/20150908222711_drop_marketing_engineering_products.rb +1 -1
  307. data/db/migrate/20150928221648_update_location_katello_default.rb +1 -1
  308. data/db/migrate/20150930183738_migrate_content_hosts.rb +1 -1
  309. data/db/migrate/20151014144004_host_collection_to_hosts.rb +1 -1
  310. data/db/migrate/20151015152947_add_virt_only_to_katello_pools.rb +1 -1
  311. data/db/migrate/20151203230940_add_date_type_to_content_view_erratum_filter_rules.rb +1 -1
  312. data/db/migrate/20151219152536_rename_index_repository_errata.rb +1 -1
  313. data/db/migrate/20151219203225_rename_index_repository_puppet_module.rb +1 -1
  314. data/db/migrate/20160114200145_add_mirror_on_sync_to_repositories.rb +1 -1
  315. data/db/migrate/20160129192548_add_docker_v2_schema.rb +1 -1
  316. data/db/migrate/20160131182301_add_download_policy_to_katello_repositories.rb +1 -1
  317. data/db/migrate/20160203195736_remove_docker_image_schema.rb +1 -1
  318. data/db/migrate/20160211134035_remove_system_errata.rb +1 -1
  319. data/db/migrate/20160222143432_move_system_description_to_host.rb +1 -1
  320. data/db/migrate/20160224155909_add_registered_at_to_subscription_facet.rb +1 -1
  321. data/db/migrate/20160301070319_add_version_ostree_branches.rb +1 -1
  322. data/db/migrate/20160317171813_change_activation_key_column_names.rb +1 -1
  323. data/db/migrate/20160323065901_increase_cdn_length.rb +1 -1
  324. data/db/migrate/20160404132250_remove_katello_from_notification_name.rb +1 -1
  325. data/db/migrate/20160413230128_add_kickstart_repository_to_hosts_and_hostgroups.rb +1 -1
  326. data/db/migrate/20160426145517_move_host_description_to_host_comment.rb +1 -1
  327. data/db/migrate/20160505181337_rename_katello_settings.rb +1 -1
  328. data/db/migrate/20160520175340_add_host_applicable_package.rb +1 -1
  329. data/db/migrate/20160530184400_add_repo_id_indexes.rb +1 -1
  330. data/db/migrate/20160605160933_remove_jobs.rb +1 -1
  331. data/db/migrate/20160605162929_remove_system_smart_proxy.rb +1 -1
  332. data/db/migrate/20160613150922_add_event_queue.rb +1 -1
  333. data/db/migrate/20160617124149_remove_duplicate_view_filters.rb +1 -1
  334. data/db/migrate/20160619223332_fix_viewer_role.rb +1 -1
  335. data/db/migrate/20160627125310_delete_system.rb +1 -1
  336. data/db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb +1 -1
  337. data/db/migrate/20160722193256_add_verify_ssl_on_sync_to_repository.rb +1 -1
  338. data/db/migrate/20160727144242_add_registered_through_to_katello_subscription_facets.rb +1 -1
  339. data/db/migrate/20160728005028_add_latest_version_to_content_view_component.rb +1 -1
  340. data/db/migrate/20160808002834_add_files.rb +1 -1
  341. data/db/migrate/20160906181923_add_puppet_path_to_smart_proxy.rb +1 -1
  342. data/db/migrate/20160907231049_add_username_password_to_repository.rb +1 -1
  343. data/db/migrate/20160908234510_add_rpm_nvra.rb +1 -1
  344. data/db/migrate/20160923143611_add_action_to_content_view_histories.rb +1 -1
  345. data/db/migrate/20160924213020_change_katello_widget_names.rb +1 -1
  346. data/db/migrate/20160930121245_content_view_force_puppet_env.rb +1 -1
  347. data/db/migrate/20160930150810_add_smart_proxy_download_policy.rb +1 -1
  348. data/db/migrate/20161003130853_add_architecture_to_katello_content_view_package_filter_rule.rb +1 -1
  349. data/db/migrate/20161003204325_add_user_to_katello_subscription_facets.rb +1 -1
  350. data/db/migrate/20161014133811_move_content_view_version_description_to_histories.rb +2 -4
  351. data/db/migrate/20161021072346_fix_subscription_permissions.rb +1 -1
  352. data/db/migrate/20161026191118_fix_invalid_interfaces.rb +1 -1
  353. data/db/migrate/20161028153131_sub_facet_user_index_not_uniq.rb +1 -1
  354. data/db/migrate/20161031204903_add_tracer_support.rb +1 -1
  355. data/db/migrate/20161102194100_create_content_view_docker_filter_rules.rb +1 -1
  356. data/db/migrate/20161209162947_add_virt_who_to_katello_pools.rb +1 -1
  357. data/db/migrate/20161214151548_move_content_source_id_to_content_facets.rb +1 -1
  358. data/db/migrate/20170114051758_add_depth_to_repositories.rb +1 -1
  359. data/db/migrate/20170122204325_add_hypervisor_to_subscription_facets.rb +1 -1
  360. data/db/migrate/20170125152421_move_default_location_to_settings.rb +1 -1
  361. data/db/migrate/20170208215148_add_docker_repo_name.rb +1 -1
  362. data/db/migrate/20170220679403_remove_system_permissions.rb +1 -1
  363. data/db/migrate/20170222131211_change_pool_columns_to_dates.rb +1 -1
  364. data/db/migrate/20170321012632_fill_in_content_view_components.rb +1 -1
  365. data/db/migrate/20170523182831_create_docker_meta_tag.rb +1 -1
  366. data/db/migrate/20170714144125_add_deb.rb +34 -0
  367. data/db/migrate/20170718142148_create_katello_subscription_facet_pools.rb +1 -1
  368. data/db/migrate/20170720142145_add_deb_release_parameters_to_repositories.rb +7 -0
  369. data/db/migrate/20170821170915_add_index_to_installed_packages.rb +1 -1
  370. data/db/migrate/20170821170916_add_nvra_index_to_installed_packages.rb +1 -1
  371. data/db/migrate/20170822104447_add_katello_content_to_image.rb +1 -1
  372. data/db/migrate/20170913183848_add_errata_counts.rb +1 -1
  373. data/db/migrate/20171010170443_add_index_to_katello_content_facet_errata.rb +1 -1
  374. data/db/migrate/20171010172724_add_docker_manifest_list.rb +67 -0
  375. data/db/migrate/20171011175510_add_srpm.rb +38 -0
  376. data/db/migrate/20171014051810_remove_docker_manifest_name.rb +9 -0
  377. data/db/migrate/20171025163149_remove_use_pulp_oauth_setting.rb +5 -0
  378. data/db/migrate/20171112174357_create_katello_content.rb +13 -0
  379. data/db/migrate/20171112174358_create_katello_product_content.rb +16 -0
  380. data/db/migrate/20171114150937_cleanup_installed_packages.rb +1 -1
  381. data/db/migrate/20171114183353_add_hypervisor_id_to_katello_pools.rb +1 -1
  382. data/db/migrate/20171120144843_add_repository_ignore_proxy.rb +5 -0
  383. data/db/migrate/20171211124439_add_uuid_index_to_katello_subscription_facets.rb +1 -1
  384. data/db/migrate/20180103230812_set_errata_updated_date.rb +7 -0
  385. data/db/seeds.d/101-locations.rb +6 -4
  386. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +1 -1
  387. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -0
  388. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +6 -0
  389. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +1 -4
  390. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +2 -2
  391. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +0 -2
  392. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +8 -10
  393. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +5 -3
  394. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +13 -5
  395. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +1 -1
  396. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +44 -0
  397. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-deb-repositories.controller.js +48 -0
  398. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-deb-repositories-list.controller.js +46 -0
  399. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +11 -7
  400. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +3 -0
  401. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +4 -14
  402. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +4 -0
  403. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-deb-repositories.html +87 -0
  404. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +7 -0
  405. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +6 -0
  406. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +12 -1
  407. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +5 -0
  408. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +10 -1
  409. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +13 -2
  410. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-versions.module.js +3 -1
  411. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-apt.html +25 -0
  412. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-deb.html +19 -0
  413. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +2 -2
  414. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +3 -0
  415. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +16 -2
  416. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/deb.factory.js +28 -0
  417. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +34 -0
  418. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.module.js +20 -0
  419. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.routes.js +71 -0
  420. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +44 -0
  421. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-repositories.controller.js +36 -0
  422. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb.controller.js +34 -0
  423. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-content-views.html +41 -0
  424. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html +21 -0
  425. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-repositories.html +52 -0
  426. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb.html +37 -0
  427. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/views/debs.html +43 -0
  428. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifest-lists/docker-manifest-list.factory.js +26 -0
  429. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifest-lists/docker-manifest-lists.module.js +19 -0
  430. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-details.controller.js +17 -3
  431. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-environments.controller.js +2 -11
  432. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-details.html +2 -2
  433. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-info.html +7 -8
  434. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.routes.js +1 -1
  435. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/views/docker-tags.html +1 -1
  436. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +2 -2
  437. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-content-hosts.controller.js +11 -25
  438. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +3 -3
  439. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.routes.js +1 -1
  440. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/incremental-update.service.js +2 -3
  441. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +6 -17
  442. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/file.factory.js +1 -1
  443. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +2 -2
  444. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/organization-selector.controller.js +2 -1
  445. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.routes.js +1 -1
  446. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.routes.js +1 -1
  447. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +17 -6
  448. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +69 -8
  449. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-debs.html +68 -0
  450. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifest-lists.html +44 -0
  451. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifests.html +13 -7
  452. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +2 -2
  453. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +2 -2
  454. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +42 -4
  455. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.module.js +3 -1
  456. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +18 -0
  457. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +21 -2
  458. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +2 -0
  459. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +8 -0
  460. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +3 -3
  461. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +1 -1
  462. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +1 -1
  463. data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/new-sync-plan.controller.js +1 -0
  464. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +1 -0
  465. data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/docker.scss +16 -0
  466. data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -0
  467. data/lib/katello/engine.rb +4 -6
  468. data/lib/katello/permission_creator.rb +14 -12
  469. data/lib/katello/permissions/host_permissions.rb +1 -0
  470. data/lib/katello/plugin.rb +83 -54
  471. data/lib/katello/prevent_json_parsing.rb +15 -0
  472. data/lib/katello/repository_types/deb.rb +1 -0
  473. data/lib/katello/tasks/clean_old_file_repos.rake +33 -0
  474. data/lib/katello/tasks/clean_published_repo_directories.rake +4 -4
  475. data/lib/katello/tasks/reimport.rake +8 -1
  476. data/lib/katello/tasks/repository.rake +3 -3
  477. data/lib/katello/tasks/rubocop.rake +1 -1
  478. data/lib/katello/tasks/test.rake +1 -0
  479. data/lib/katello/tasks/upgrades/3.6/import_product_content.rake +12 -0
  480. data/lib/katello/tasks/upgrades/3.6/republish_file_repos.rake +16 -0
  481. data/lib/katello/tasks/virt_who_report.rake +2 -2
  482. data/lib/katello/version.rb +1 -1
  483. data/locale/README +1 -0
  484. metadata +121 -30
  485. data/app/lib/actions/candlepin/owner/upstream_regenerate_certificates.rb +0 -17
  486. data/app/lib/actions/candlepin/product/update.rb +0 -32
  487. data/app/lib/actions/katello/event_queue/run_once_coordinator_lock.rb +0 -12
  488. data/app/models/katello/candlepin/content.rb +0 -252
  489. data/app/models/katello/candlepin/product_content.rb +0 -48
  490. data/lib/katello/params_parser_wrapper.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf8e8e75ea66a068954c0f1c81c467d8502b581d
4
- data.tar.gz: 107669c4de9f0cab916fd4bc4c3c805d3ac06f06
3
+ metadata.gz: 74b47b654bb5cd12ff6447d5a2eb86be22e2eb86
4
+ data.tar.gz: 3df18ad11e749d434a78930eee529b2d7501b943
5
5
  SHA512:
6
- metadata.gz: e5f7a21ec394886599dc847e2e8da9caaee88ab41d6efaaa287b824ca2b9f941aa72141290527c10ea7ab8316201c423b29d75353e0e55ee00d380eabaf3de0c
7
- data.tar.gz: 73a610d722cd161c032e659c37948786c107d52ff1f31548abc08d9b605d527badf22228f1e0d92e6c2387b9efc3c523f6266892ed363001539248459baf6b0d
6
+ metadata.gz: 80e6a16b4daf6415bc9fbb4b659009c93b80bb2e6fbbe0b47d5ac540bf0f1ff4added97ee831bb47f8a54e3905ef275ee3a9de4568de8be4f08de460e816ac6a
7
+ data.tar.gz: 391a19603ff401a18a95fa781989f76e9bf1302192114b8a0d49f82341a990655701e7497ea8ea6973ac89b168ca4d69c489471bcd78dcc4aaa5224a75b4f333
@@ -62,6 +62,9 @@ $(document).ready(function() {
62
62
  KT.content_actions = (function(){
63
63
  var syncing = [],
64
64
  updater,
65
+ getOrg = function() {
66
+ return $('#organization_id').val();
67
+ },
65
68
  addSyncing = function(repo_ids){
66
69
  if (repo_ids.length === 0){
67
70
  return;
@@ -95,7 +98,7 @@ KT.content_actions = (function(){
95
98
 
96
99
  $.ajax({
97
100
  type: 'DELETE',
98
- url: foreman_url('/katello/sync_management/' + repo_id),
101
+ url: foreman_url('/katello/sync_management/' + repo_id + '?organization_id=' + getOrg()),
99
102
  dataType: 'json',
100
103
  success: function(data) {
101
104
  },
@@ -111,7 +114,7 @@ KT.content_actions = (function(){
111
114
  }
112
115
  var url = foreman_url('/katello/sync_management/sync_status');
113
116
  updater = $.PeriodicalUpdater(url, {
114
- data: function(){return {repoids:getSyncing()}},
117
+ data: function(){return {repoids:getSyncing(), organization_id:getOrg()}},
115
118
  method: 'get',
116
119
  type: 'json',
117
120
  global: false
@@ -8,6 +8,8 @@ module Katello
8
8
  before_action :find_host, :only => [:upload_package_profile]
9
9
  before_action :authorize_client_or_user, :only => [:upload_package_profile]
10
10
 
11
+ skip_before_action :check_content_type
12
+
11
13
  #api :PUT, "/consumers/:id/packages", N_("Update installed packages")
12
14
  #api :PUT, "/consumers/:id/profile", N_("Update installed packages")
13
15
  #param :id, String, :desc => N_("UUID of the consumer"), :required => true
@@ -25,6 +25,9 @@ module Katello
25
25
 
26
26
  before_action :check_content_type, :except => :async_hypervisors_update
27
27
 
28
+ prepend_before_action :convert_owner_to_organization_id, :except => [:hypervisors_update, :async_hypervisors_update], :if => lambda { params.key?(:owner) }
29
+ prepend_before_action :convert_organization_label_to_id, :only => [:rhsm_index, :consumer_activate, :consumer_create], :if => lambda { params.key?(:organization_id) }
30
+
28
31
  def repackage_message
29
32
  yield
30
33
  ensure
@@ -48,7 +51,7 @@ module Katello
48
51
  if request_from_katello_cli?
49
52
  render :json => { :errors => [e.http_body] }, :status => e.http_code
50
53
  else
51
- render :text => e.http_body, :status => e.http_code
54
+ render :plain => e.http_body, :status => e.http_code
52
55
  end
53
56
  end
54
57
 
@@ -97,8 +100,7 @@ module Katello
97
100
 
98
101
  #api :GET, "/owners/:organization_id/environments", N_("List environments for RHSM")
99
102
  def rhsm_index
100
- organization = find_organization
101
- @all_environments = get_content_view_environments(params[:name], organization).collect do |env|
103
+ @all_environments = get_content_view_environments(params[:name], Organization.current).collect do |env|
102
104
  {
103
105
  :id => env.cp_id,
104
106
  :name => env.label,
@@ -127,7 +129,7 @@ module Katello
127
129
  task = User.as(login) do
128
130
  params['owner'] = @organization.label #override owner label if
129
131
  params['env'] = nil #hypervisors don't need an environment
130
- sync_task(::Actions::Katello::Host::Hypervisors, params.except(:controller, :action, :format))
132
+ sync_task(::Actions::Katello::Host::Hypervisors, params.except(:controller, :action, :format).to_h)
131
133
  end
132
134
  render :json => task.output[:results]
133
135
  end
@@ -223,7 +225,7 @@ module Katello
223
225
  sync_task(::Actions::Katello::Host::Unregister, @host)
224
226
  end
225
227
  end
226
- render :text => _("Deleted consumer '%s'") % params[:id], :status => 204
228
+ render :plain => _("Deleted consumer '%s'") % params[:id], :status => 204
227
229
  end
228
230
 
229
231
  # used for registering with activation keys
@@ -233,6 +235,7 @@ module Katello
233
235
  # Activation keys are userless by definition so use the internal generic user
234
236
  # Set it before calling find_activation_keys to allow communication with candlepin
235
237
  User.current = User.anonymous_admin
238
+ additional_set_taxonomy
236
239
  activation_keys = find_activation_keys
237
240
  host = Katello::Host::SubscriptionFacet.find_or_create_host(activation_keys.first.organization, rhsm_params)
238
241
 
@@ -268,7 +271,7 @@ module Katello
268
271
  end
269
272
 
270
273
  def serials
271
- @host.subscription_facet.last_checkin = DateTime.now
274
+ @host.subscription_facet.last_checkin = Time.now
272
275
  @host.subscription_facet.save!
273
276
  render :json => Katello::Resources::Candlepin::Consumer.serials(@host.subscription_facet.uuid)
274
277
  end
@@ -281,6 +284,15 @@ module Katello
281
284
 
282
285
  private
283
286
 
287
+ # in case set taxonomy from core was skipped since the User.current was nil at that moment (typically AK was used instead of username/password)
288
+ # we need to set proper context, unfortunately params[:organization_id] is already overridden again by set_organization_id so we need to
289
+ # set correct parameter value and then reset it back
290
+ def additional_set_taxonomy
291
+ params[:organization_id], original = find_organization(:owner).id, params[:organization_id] if params[:owner].present?
292
+ set_taxonomy
293
+ params[:organization_id] = original if params[:owner].present?
294
+ end
295
+
284
296
  def disable_strong_params
285
297
  params.permit!
286
298
  end
@@ -310,7 +322,7 @@ module Katello
310
322
  if params.key?(:environment_id)
311
323
  environment = get_content_view_environment("cp_id", params[:environment_id])
312
324
  elsif params.key?(:organization_id) && !params.key?(:environment_id)
313
- organization = find_organization
325
+ organization = Organization.current
314
326
  environment = organization.library.content_view_environment
315
327
  elsif User.current.default_organization.present?
316
328
  environment = User.current.default_organization.library.content_view_environment
@@ -331,30 +343,39 @@ module Katello
331
343
  deny_access unless @organization
332
344
  end
333
345
 
334
- def find_organization
346
+ def find_organization(key = :organization_id)
335
347
  organization = nil
336
348
 
337
- if params.key?(:organization_id)
338
- organization = Organization.find_by(:label => params[:organization_id])
349
+ if params.key?(key)
350
+ organization = Organization.find_by(:label => params[key])
339
351
  end
340
352
 
341
353
  if organization.nil?
342
354
  message = _("Couldn't find Organization '%s'.")
343
- fail HttpErrors::NotFound, message % params[:organization_id]
355
+ fail HttpErrors::NotFound, message % params[key]
344
356
  end
345
357
 
346
358
  if User.current && !User.consumer? && !User.current.allowed_organizations.include?(organization)
347
359
  message = _("User '%{user}' does not belong to Organization '%{organization}'.")
348
- fail HttpErrors::NotFound, message % {:user => current_user.login, :organization => params[:organization_id]}
360
+ fail HttpErrors::NotFound, message % {:user => current_user.login, :organization => params[key]}
349
361
  end
350
362
 
351
363
  organization
352
364
  end
353
365
 
366
+ def convert_organization_label_to_id
367
+ params[:organization_id] = find_organization.id
368
+ end
369
+
370
+ def convert_owner_to_organization_id
371
+ params[:organization_id] = find_organization(:owner).id
372
+ end
373
+
354
374
  def find_activation_keys
355
- organization = find_organization
375
+ organization = Organization.current
356
376
 
357
377
  if (ak_names = params[:activation_keys])
378
+ fail HttpErrors::NotFound, _("Organization not found") if organization.nil?
358
379
  ak_names = ak_names.split(",")
359
380
  activation_keys = ak_names.map do |ak_name|
360
381
  activation_key = organization.activation_keys.find_by(:name => ak_name)
@@ -396,7 +417,7 @@ module Katello
396
417
  end
397
418
 
398
419
  def rhsm_params
399
- params.slice(:name, :type, :facts, :installedProducts, :autoheal, :releaseVer, :serviceLevel, :uuid, :capabilities, :guestIds, :lastCheckin)
420
+ params.slice(:name, :type, :facts, :installedProducts, :autoheal, :releaseVer, :serviceLevel, :uuid, :capabilities, :guestIds, :lastCheckin).to_h
400
421
  end
401
422
 
402
423
  def logger
@@ -458,14 +479,12 @@ module Katello
458
479
  when "rhsm_proxy_consumer_deletionrecord_delete_path"
459
480
  User.consumer? || Organization.deletable?
460
481
  when "rhsm_proxy_owner_pools_path"
461
- find_organization
462
482
  if params[:consumer]
463
483
  User.consumer? && current_user.uuid == params[:consumer]
464
484
  else
465
485
  User.consumer? || ::User.current.can?(:view_organizations, self)
466
486
  end
467
487
  when "rhsm_proxy_owner_servicelevels_path"
468
- find_organization
469
488
  (User.consumer? || ::User.current.can?(:view_organizations, self))
470
489
  when "rhsm_proxy_consumer_certificates_path", "rhsm_proxy_consumer_releases_path", "rhsm_proxy_certificate_serials_path",
471
490
  "rhsm_proxy_consumer_entitlements_path", "rhsm_proxy_consumer_entitlements_post_path",
@@ -24,7 +24,7 @@ module Katello
24
24
  param_group :search, Api::V2::ApiController
25
25
  def index
26
26
  activation_key_includes = [:content_view, :environment, :host_collections, :organization]
27
- respond(:collection => scoped_search(index_relation.uniq, :name, :asc, :includes => activation_key_includes))
27
+ respond(:collection => scoped_search(index_relation.distinct, :name, :asc, :includes => activation_key_includes))
28
28
  end
29
29
 
30
30
  api :POST, "/activation_keys", N_("Create an activation key")
@@ -320,7 +320,7 @@ module Katello
320
320
  # For deep_munge; Remove for Rails 5
321
321
  :host_collection_ids,
322
322
  :content_overrides => [],
323
- :host_collection_ids => [])
323
+ :host_collection_ids => []).to_h
324
324
 
325
325
  key_params[:environment_id] = params[:environment][:id] if params[:environment].try(:[], :id)
326
326
  key_params[:content_view_id] = params[:content_view][:id] if params[:content_view].try(:[], :id)
@@ -19,7 +19,7 @@ module Katello
19
19
  param :content, File, :required => true, :desc => N_("The actual file contents")
20
20
  def update
21
21
  pulp_content.upload_bits(params[:id], params[:offset], params[:content])
22
- render :nothing => true
22
+ head :no_content
23
23
  end
24
24
 
25
25
  api :DELETE, "/repositories/:repository_id/content_uploads/:id", N_("Delete an upload request")
@@ -27,7 +27,7 @@ module Katello
27
27
  param :id, :number, :required => true, :desc => N_("Upload request id")
28
28
  def destroy
29
29
  pulp_content.delete_upload_request(params[:id])
30
- render :nothing => true
30
+ head :no_content
31
31
  end
32
32
 
33
33
  private
@@ -32,6 +32,7 @@ module Katello
32
32
  end
33
33
  def add_components
34
34
  components = params.require(:components).map do |component|
35
+ component = component.permit([:latest, :content_view_version_id, :content_view_id])
35
36
  options = {}
36
37
  options[:latest] = ::Foreman::Cast.to_bool(component[:latest]) if component.key?(:latest)
37
38
  options.merge(component.slice(:content_view_version_id, :content_view_id))
@@ -14,7 +14,7 @@ module Katello
14
14
  param :name, String, :desc => N_("filter content view filters by name")
15
15
  param :types, Array, :desc => N_("types of filters")
16
16
  def index
17
- respond(:collection => scoped_search(index_relation.uniq, :name, :asc))
17
+ respond(:collection => scoped_search(index_relation.distinct, :name, :asc))
18
18
  end
19
19
 
20
20
  def index_relation
@@ -7,7 +7,7 @@ module Katello
7
7
  api :GET, "/content_views/:id/history", N_("Show a content view's history")
8
8
  param :id, :number, :desc => N_("content view numeric identifier"), :required => true
9
9
  def index
10
- respond_for_index :collection => scoped_search(index_relation.uniq, :katello_content_view_version_id, :asc, :resource_class => ContentViewHistory)
10
+ respond_for_index :collection => scoped_search(index_relation.distinct, :katello_content_view_version_id, :asc, :resource_class => ContentViewHistory)
11
11
  end
12
12
 
13
13
  def index_relation
@@ -12,7 +12,7 @@ module Katello
12
12
  param :uuid, String, :desc => N_("the uuid of the puppet module to associate")
13
13
  param_group :search, ::Katello::Api::V2::ApiController
14
14
  def index
15
- respond(:collection => scoped_search(index_relation.uniq, :name, :asc))
15
+ respond(:collection => scoped_search(index_relation.distinct, :name, :asc))
16
16
  end
17
17
 
18
18
  api :POST, "/content_views/:content_view_id/content_view_puppet_modules",
@@ -26,7 +26,7 @@ module Katello
26
26
  :includes => [:content_view, :environments, :composite_content_views, :history => :task],
27
27
  :custom_sort => lambda { |query| query.order("#{ContentViewVersion.table_name}.major desc, #{ContentViewVersion.table_name}.minor desc") }
28
28
  }
29
- respond(:collection => scoped_search(index_relation.uniq, nil, nil, options))
29
+ respond(:collection => scoped_search(index_relation.distinct, nil, nil, options))
30
30
  end
31
31
 
32
32
  def index_relation
@@ -33,7 +33,7 @@ module Katello
33
33
  def index
34
34
  content_view_includes = [:activation_keys, :content_view_puppet_modules, :content_view_versions,
35
35
  :environments, :organization, :repositories]
36
- respond(:collection => scoped_search(index_relation.uniq, :name, :asc, :includes => content_view_includes))
36
+ respond(:collection => scoped_search(index_relation.distinct, :name, :asc, :includes => content_view_includes))
37
37
  end
38
38
 
39
39
  def index_relation
@@ -173,7 +173,7 @@ module Katello
173
173
  :system_environment_id,
174
174
  :key_content_view_id,
175
175
  :key_environment_id
176
- ).reject { |_k, v| v.nil? }
176
+ ).reject { |_k, v| v.nil? }.to_unsafe_h
177
177
  options[:content_view_versions] = versions
178
178
  options[:content_view_environments] = cv_envs
179
179
 
@@ -210,7 +210,7 @@ module Katello
210
210
  attrs = [:name, :description, :force_puppet_environment, {:repository_ids => []}, {:component_ids => []}]
211
211
  attrs.push(:label, :composite) if action_name == "create"
212
212
  attrs.push(:component_ids, :repository_ids) # For deep_munge; Remove for Rails 5
213
- params.require(:content_view).permit(*attrs)
213
+ params.require(:content_view).permit(*attrs).to_h
214
214
  end
215
215
 
216
216
  def find_environment
@@ -0,0 +1,19 @@
1
+ module Katello
2
+ class Api::V2::DebsController < Api::V2::ApiController
3
+ resource_description do
4
+ name 'Deb Packages'
5
+ end
6
+ apipie_concern_subst(:a_resource => N_("a deb"), :resource => "debs")
7
+ include Katello::Concerns::Api::V2::RepositoryContentController
8
+
9
+ def default_sort
10
+ %w(name asc)
11
+ end
12
+
13
+ private
14
+
15
+ def repo_association
16
+ :repository_id
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,20 @@
1
+ module Katello
2
+ class Api::V2::DockerManifestListsController < Api::V2::ApiController
3
+ apipie_concern_subst(:a_resource => N_("a docker manifest list"), :resource => "docker_manifest_lists")
4
+ include Katello::Concerns::Api::V2::RepositoryContentController
5
+
6
+ private
7
+
8
+ def resource_class
9
+ DockerManifestList
10
+ end
11
+
12
+ def custom_index_relation(collection)
13
+ collection.includes(:docker_tags)
14
+ end
15
+
16
+ def default_sort
17
+ lambda { |query| query.default_sort }
18
+ end
19
+ end
20
+ end
@@ -49,7 +49,7 @@ module Katello
49
49
  param :name, String, :desc => N_("filter only environments containing this name")
50
50
  param_group :search, Api::V2::ApiController
51
51
  def index
52
- respond(:collection => scoped_search(index_relation.uniq, :name, :asc, :resource_class => KTEnvironment))
52
+ respond(:collection => scoped_search(index_relation.distinct, :name, :asc, :resource_class => KTEnvironment))
53
53
  end
54
54
 
55
55
  def index_relation
@@ -49,6 +49,30 @@ module Katello
49
49
  collection
50
50
  end
51
51
 
52
+ api :GET, "/content_view_versions/:id/available_errata", N_("List errata that can be added to the Content View Version via an Incremental Update")
53
+ param :id, :number, :desc => N_("Content View Version identifier"), :required => true
54
+ param :repository_id, :number, :desc => N_("repository identifier")
55
+ param :cve, String, :desc => N_("CVE identifier")
56
+ param :errata_restrict_applicable, :bool, :desc => N_("show only errata with one or more applicable hosts")
57
+ param_group :search, ::Katello::Api::V2::ApiController
58
+ def available_errata
59
+ version = ContentViewVersion.find(params[:id])
60
+ collection = version.available_errata
61
+ if @repo
62
+ collection = collection.joins(:repository_errata => :repository).where(:katello_repositories => { :id => @repo })
63
+ end
64
+ if params[:cve]
65
+ collection = collection.joins(:cves).where(:katello_erratum_cves => { :cve_id => params[:cve] })
66
+ end
67
+ if ::Foreman::Cast.to_bool(params[:errata_restrict_applicable])
68
+ hosts = ::Host::Managed.authorized("view_hosts")
69
+ collection = collection.applicable_to_hosts(hosts)
70
+ end
71
+ sort_by, sort_order, options = sort_options
72
+ collection = scoped_search(collection, sort_by, sort_order, options)
73
+ respond_for_index(:collection => collection)
74
+ end
75
+
52
76
  private
53
77
 
54
78
  def filter_by_cve(cve, collection)
@@ -1,6 +1,9 @@
1
1
  module Katello
2
2
  class Api::V2::FileUnitsController < Api::V2::ApiController
3
- apipie_concern_subst(:a_resource => N_("a file"), :resource => "files")
3
+ resource_description do
4
+ name 'Files'
5
+ end
6
+ apipie_concern_subst(:a_resource => N_("a file"), :resource_id => "files")
4
7
  include Katello::Concerns::Api::V2::RepositoryContentController
5
8
 
6
9
  def default_sort
@@ -3,8 +3,8 @@ module Katello
3
3
  include Katello::Concerns::FilteredAutoCompleteSearch
4
4
  before_action :authorize
5
5
  before_action :find_organization, :only => [:create, :index, :auto_complete_search]
6
- before_action :find_gpg_key, :only => [:show, :update, :destroy, :content]
7
- skip_before_action :check_content_type, :only => [:create, :content]
6
+ before_action :find_gpg_key, :only => [:show, :update, :destroy, :content, :set_content]
7
+ skip_before_action :check_content_type, :only => [:create, :content, :set_content]
8
8
 
9
9
  def_param_group :gpg_key do
10
10
  param :name, :identifier, :action_aware => true, :required => true, :desc => N_("identifier of the gpg key")
@@ -24,7 +24,7 @@ module Katello
24
24
  param :name, String, :desc => N_("name of the GPG key"), :required => false
25
25
  param_group :search, Api::V2::ApiController
26
26
  def index
27
- respond(:collection => scoped_search(index_relation.uniq, :name, :asc))
27
+ respond(:collection => scoped_search(index_relation.distinct, :name, :asc))
28
28
  end
29
29
 
30
30
  def index_relation
@@ -71,10 +71,16 @@ module Katello
71
71
  respond_for_destroy
72
72
  end
73
73
 
74
+ api :GET, "/gpg_keys/:id/content", N_("Return the content of a gpg key, used directly by yum")
75
+ param :id, :number, :required => true
76
+ def content
77
+ render(:plain => @gpg_key.content, :layout => false)
78
+ end
79
+
74
80
  api :POST, "/gpg_keys/:id/content", N_("Upload gpg key contents")
75
81
  param :id, :number, :desc => N_("gpg key numeric identifier"), :required => true
76
82
  param :content, File, :desc => N_("file contents"), :required => true
77
- def content
83
+ def set_content
78
84
  filepath = params.try(:[], :content).try(:path)
79
85
 
80
86
  if filepath