katello 3.3.2 → 3.4.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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/katello/containers/container.scss +1 -2
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +2 -1
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +28 -23
- data/app/controllers/katello/api/v2/api_controller.rb +2 -1
- data/app/controllers/katello/api/v2/capsule_content_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_filter_rules_controller.rb +2 -0
- data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +12 -2
- data/app/controllers/katello/api/v2/content_views_controller.rb +4 -1
- data/app/controllers/katello/api/v2/docker_tags_controller.rb +14 -0
- data/app/controllers/katello/api/v2/environments_controller.rb +2 -1
- data/app/controllers/katello/api/v2/host_collections_controller.rb +2 -1
- data/app/controllers/katello/api/v2/host_packages_controller.rb +1 -0
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +27 -23
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +19 -0
- data/app/controllers/katello/api/v2/organizations_controller.rb +8 -4
- data/app/controllers/katello/api/v2/package_groups_controller.rb +51 -0
- data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +15 -1
- data/app/controllers/katello/api/v2/repositories_controller.rb +57 -32
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +1 -0
- data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -0
- data/app/controllers/katello/concerns/api/v2/content_overrides_controller.rb +39 -0
- data/app/controllers/katello/concerns/organizations_controller_extensions.rb +1 -0
- data/app/controllers/katello/providers_controller.rb +3 -1
- data/app/controllers/katello/sync_management_controller.rb +2 -0
- data/app/helpers/katello/errata_mailer_helper.rb +1 -1
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +2 -7
- data/app/lib/actions/candlepin/candlepin_listening_service.rb +2 -1
- data/app/lib/actions/candlepin/environment/set_content.rb +1 -1
- data/app/lib/actions/candlepin/owner/upstream_regenerate_certificates.rb +17 -0
- data/app/lib/actions/candlepin/product/content_add.rb +2 -1
- data/app/lib/actions/candlepin/product/content_create.rb +3 -1
- data/app/lib/actions/candlepin/product/content_destroy.rb +2 -1
- data/app/lib/actions/candlepin/product/content_remove.rb +2 -1
- data/app/lib/actions/candlepin/product/content_update.rb +3 -1
- data/app/lib/actions/candlepin/product/create.rb +12 -1
- data/app/lib/actions/candlepin/product/destroy.rb +2 -1
- data/app/lib/actions/candlepin/product/update.rb +4 -0
- data/app/lib/actions/katello/capsule_content/create_repos.rb +1 -1
- data/app/lib/actions/katello/content_view/promote.rb +3 -2
- data/app/lib/actions/katello/content_view/promote_to_environment.rb +3 -2
- data/app/lib/actions/katello/content_view/publish.rb +3 -2
- data/app/lib/actions/katello/content_view_version/destroy.rb +7 -1
- data/app/lib/actions/katello/content_view_version/incremental_update.rb +1 -1
- data/app/lib/actions/katello/content_view_version/republish_repositories.rb +40 -0
- data/app/lib/actions/katello/host/destroy.rb +1 -0
- data/app/lib/actions/katello/host/erratum/install.rb +13 -4
- data/app/lib/actions/katello/host/hypervisors_update.rb +3 -2
- data/app/lib/actions/katello/host/register.rb +10 -4
- data/app/lib/actions/katello/host/remove_subscriptions.rb +14 -12
- data/app/lib/actions/katello/host/update.rb +9 -7
- data/app/lib/actions/katello/host/update_content_overrides.rb +43 -0
- data/app/lib/actions/katello/organization/destroy.rb +1 -1
- data/app/lib/actions/katello/organization/manifest_refresh.rb +3 -0
- data/app/lib/actions/katello/product/content_create.rb +3 -0
- data/app/lib/actions/katello/product/content_destroy.rb +2 -0
- data/app/lib/actions/katello/product/create.rb +1 -2
- data/app/lib/actions/katello/product/destroy.rb +3 -2
- data/app/lib/actions/katello/repository/check_matching_content.rb +49 -0
- data/app/lib/actions/katello/repository/clone_to_environment.rb +3 -2
- data/app/lib/actions/katello/repository/clone_yum_content.rb +17 -1
- data/app/lib/actions/katello/repository/create.rb +4 -1
- data/app/lib/actions/katello/repository/destroy_package_group.rb +26 -0
- data/app/lib/actions/katello/repository/discover.rb +8 -3
- data/app/lib/actions/katello/repository/errata_mail.rb +1 -1
- data/app/lib/actions/katello/repository/finish_upload.rb +6 -2
- data/app/lib/actions/katello/repository/import_upload.rb +30 -7
- data/app/lib/actions/katello/repository/index_content.rb +2 -1
- data/app/lib/actions/katello/repository/metadata_generate.rb +19 -5
- data/app/lib/actions/katello/repository/remove_content.rb +7 -4
- data/app/lib/actions/katello/repository/sync.rb +28 -14
- data/app/lib/actions/katello/repository/update.rb +1 -0
- data/app/lib/actions/katello/repository/upload_package_group.rb +34 -0
- data/app/lib/actions/katello/repository_set/scan_cdn.rb +2 -4
- data/app/lib/actions/middleware/skip_if_matching_content.rb +24 -0
- data/app/lib/actions/pulp/abstract.rb +2 -2
- data/app/lib/actions/pulp/consumer/generate_applicability.rb +5 -1
- data/app/lib/actions/pulp/consumer/sync_capsule.rb +10 -0
- data/app/lib/actions/pulp/content_view_puppet_environment/index_content.rb +5 -3
- data/app/lib/actions/pulp/repository/copy_errata.rb +4 -0
- data/app/lib/actions/pulp/repository/create.rb +6 -1
- data/app/lib/actions/pulp/repository/distributor_publish.rb +3 -0
- data/app/lib/actions/pulp/repository/download.rb +16 -0
- data/app/lib/actions/pulp/repository/import_upload.rb +2 -1
- data/app/lib/actions/pulp/repository/presenters/{file_presenter.rb → file_unit_presenter.rb} +0 -0
- data/app/lib/actions/pulp/repository/presenters/ostree_presenter.rb +16 -3
- data/app/lib/actions/pulp/repository/remove_errata.rb +4 -0
- data/app/lib/actions/pulp/repository/sync.rb +3 -3
- data/app/lib/katello/errors.rb +2 -0
- data/app/lib/katello/repo_discovery.rb +33 -8
- data/app/lib/katello/resources/candlepin.rb +87 -68
- data/app/lib/katello/resources/cdn.rb +26 -13
- data/app/lib/katello/util/cdn_var_substitutor.rb +39 -124
- data/app/lib/katello/util/path_with_substitutions.rb +58 -0
- data/app/models/katello/activation_key.rb +11 -15
- data/app/models/katello/candlepin/content.rb +6 -14
- data/app/models/katello/candlepin/product_content.rb +11 -3
- data/app/models/katello/concerns/content_facet_host_extensions.rb +19 -10
- data/app/models/katello/concerns/environment_extensions.rb +6 -3
- data/app/models/katello/concerns/host_managed_extensions.rb +21 -7
- data/app/models/katello/concerns/hostgroup_extensions.rb +3 -3
- data/app/models/katello/concerns/location_extensions.rb +32 -24
- data/app/models/katello/concerns/pulp_database_unit.rb +10 -2
- data/app/models/katello/concerns/smart_proxy_extensions.rb +8 -6
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +27 -10
- data/app/models/katello/content_override.rb +63 -0
- data/app/models/katello/content_view.rb +3 -8
- data/app/models/katello/content_view_history.rb +1 -1
- data/app/models/katello/content_view_puppet_environment.rb +10 -2
- data/app/models/katello/content_view_puppet_module.rb +1 -1
- data/app/models/katello/content_view_version.rb +2 -2
- data/app/models/katello/docker_manifest.rb +1 -1
- data/app/models/katello/docker_tag.rb +3 -3
- data/app/models/katello/erratum.rb +4 -4
- data/app/models/katello/file_unit.rb +1 -1
- data/app/models/katello/glue/candlepin/activation_key.rb +10 -8
- data/app/models/katello/glue/candlepin/content.rb +1 -21
- data/app/models/katello/glue/candlepin/owner.rb +3 -1
- data/app/models/katello/glue/candlepin/pool.rb +3 -1
- data/app/models/katello/glue/candlepin/product.rb +2 -7
- data/app/models/katello/glue/provider.rb +19 -1
- data/app/models/katello/glue/pulp/repo.rb +33 -19
- data/app/models/katello/glue/pulp/repos.rb +0 -8
- data/app/models/katello/gpg_key.rb +1 -1
- data/app/models/katello/host/subscription_facet.rb +47 -4
- data/app/models/katello/host_collection.rb +2 -2
- data/app/models/katello/kt_environment.rb +1 -1
- data/app/models/katello/ostree_branch.rb +1 -1
- data/app/models/katello/package_group.rb +1 -1
- data/app/models/katello/pool.rb +14 -15
- data/app/models/katello/product.rb +2 -2
- data/app/models/katello/provider.rb +0 -28
- data/app/models/katello/repository.rb +91 -29
- data/app/models/katello/subscription.rb +12 -0
- data/app/models/katello/subscription_status.rb +1 -1
- data/app/models/katello/sync_plan.rb +9 -2
- data/app/models/katello/trace_status.rb +53 -0
- data/app/models/setting/content.rb +55 -25
- data/app/overrides/add_activation_keys_input.rb +0 -5
- data/app/presenters/katello/product_content_presenter.rb +11 -3
- data/app/services/katello/candlepin/consumer.rb +24 -16
- data/app/services/katello/pulp/erratum.rb +1 -0
- data/app/services/katello/pulp/file_unit.rb +1 -1
- data/app/views/dashboard/_errata_widget.html.erb +2 -2
- data/app/views/foreman/unattended/kickstart-katello.erb +1 -1
- data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +14 -1
- data/app/views/katello/api/v2/host_subscriptions/product_content.json.rabl +15 -1
- data/app/views/katello/api/v2/repositories/base.json.rabl +1 -0
- data/app/views/katello/api/v2/repositories/show.json.rabl +5 -0
- data/app/views/katello/api/v2/subscription_facet/show.json.rabl +1 -1
- data/app/views/katello/api/v2/subscriptions/base.json.rabl +1 -0
- data/app/views/katello/providers/redhat/_repo_sets.html.erb +1 -1
- data/app/views/katello/providers/redhat/_repos.html.erb +1 -1
- data/app/views/katello/providers/redhat/show.html.erb +1 -1
- data/app/views/overrides/activation_keys/_host_environment_select.html.erb +2 -1
- data/app/views/overrides/hosts/_subscription_link.html.erb +1 -1
- data/config/initializers/pagelets.rb +6 -0
- data/config/routes/api/v2.rb +8 -0
- data/config/routes/overrides.rb +1 -0
- data/db/migrate/20161209162947_add_virt_who_to_katello_pools.rb +9 -0
- data/db/migrate/20170114051758_add_depth_to_repositories.rb +6 -0
- data/db/migrate/20170122204325_add_hypervisor_to_subscription_facets.rb +6 -0
- data/db/migrate/20170125152421_move_default_location_to_settings.rb +25 -0
- data/db/migrate/20170208215148_add_docker_repo_name.rb +14 -0
- data/db/migrate/20170222131211_change_pool_columns_to_dates.rb +19 -0
- data/db/seeds.d/101-locations.rb +9 -3
- data/db/seeds.d/103-provisioning_templates.rb +2 -2
- data/db/seeds.d/106-mail_notifications.rb +6 -0
- data/db/seeds.d/108-subcription-bookmarks.rb +19 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-key.factory.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.module.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/activation-keys.routes.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-host-collections.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-associations.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-host-collections.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-repository-sets.controller.js +64 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-subscriptions.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-add-subscriptions.html +2 -52
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-associations-content-hosts.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-details.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-host-collections-table.html +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-host-collections.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-repository-sets.html +85 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions-list.html +3 -39
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-subscriptions.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/new/views/activation-key-new.html +15 -15
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/views/activation-keys.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion-katello-bootstrap.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/bastion_katello.js +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/common/views/subscription-add-or-remove.html +50 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/{content-hosts-bulk-action-environment.controller.js → content-hosts-bulk-environment-modal.controller.js} +24 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-errata-modal.controller.js +124 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-host-collections-modal.controller.js +86 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/{content-hosts-bulk-action-packages.controller.js → content-hosts-bulk-packages-modal.controller.js} +24 -17
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/{content-hosts-bulk-action-subscriptions.controller.js → content-hosts-bulk-subscriptions-modal.controller.js} +31 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-destroy-modal.html +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/{bulk-actions-environment.html → content-hosts-bulk-environment-modal.html} +27 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-errata-modal.html +107 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-host-collections-modal.html +91 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +162 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-subscriptions-modal.html +121 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/errata-details.html +0 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +108 -16
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.module.js +2 -279
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.routes.js +251 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +19 -19
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-applicable.controller.js +5 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages.controller.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +5 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +35 -34
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +8 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-installed.html +12 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-traces.html +28 -20
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/errata-details.html +42 -62
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-host-collections.controller.js +17 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-add-subscriptions.controller.js +22 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details-info.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +2 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-host-collections.controller.js +17 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-repository-sets.controller.js +64 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-subscriptions.controller.js +12 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-add-subscriptions.html +21 -49
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +136 -148
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-events.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-host-collections-table.html +59 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-host-collections.html +20 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +198 -256
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-provisioning-info.html +38 -54
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-repository-sets.html +93 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions-list.html +6 -54
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-subscriptions.html +47 -82
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-tasks.html +3 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +107 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/register.html +26 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +115 -33
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-activation-keys.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/content-view-version-deletion-content-hosts.controller.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/content-view-deletion.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-activation-keys.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-confirm.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-content-hosts.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/deletion/views/version-deletion-environments.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-available-content-views.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/content-view-composite-content-views-list.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-available-content-views.html +4 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite-content-views-list.html +4 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/components/views/content-view-composite.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-docker-repositories.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-file-repositories.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-ostree-repositories.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-repositories.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-docker-repositories-list.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-file-repositories-list.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-ostree-repositories-list.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-promotion.controller.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-repositories-list.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-versions.controller.js +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-errata-filter.controller.js +10 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/available-package-group-filter.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +9 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/docker-tag-filter.controller.js +137 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/errata-filter-list.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-helper.service.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +9 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter.factory.js +28 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filters.controller.js +11 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/new-filter.controller.js +22 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-filter.controller.js +66 -80
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/package-group-list-filter.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/date-type-errata-filter.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/docker-filter.html +28 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/docker-tag-filter-details.html +65 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter-details.html +10 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/errata-filter.html +48 -51
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filter-repositories.html +5 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/filters.html +17 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/new-filter.html +49 -42
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter-details.html +144 -171
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-filter.html +7 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter-details.html +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/package-group-filter.html +9 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/views/partials/filter-repositories-count.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/content-view-history.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/histories/views/content-view-history.html +1 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-names.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/content-view-puppet-module-versions.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-names.html +17 -19
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-module-versions.html +17 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/puppet-modules/views/content-view-puppet-modules.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +20 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +6 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-file-repositories.html +5 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-info.html +2 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-ostree-repositories.html +5 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-promotion.html +21 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +29 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +8 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +34 -16
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/new/views/content-view-new.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version.factory.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-ostree-branches.html +2 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-package-groups.html +2 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-packages.html +2 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-puppet-modules.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +13 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/views/content-views.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-details.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-environments.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.factory.js +7 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment-content.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/environment.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-content-views.html +2 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-details.html +15 -19
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-docker.html +5 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +7 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-ostree.html +5 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-packages.html +5 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-puppet-modules.html +4 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-repositories.html +4 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment.html +32 -51
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.routes.js +73 -29
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/new-environment.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/environments.html +8 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/new-environment.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/apply-errata.controller.js +17 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/{errata-content-hosts.controller.js → erratum-content-hosts.controller.js} +13 -12
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/{errata-details-repositories.controller.js → erratum-repositories.controller.js} +7 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/{errata-details.controller.js → erratum.controller.js} +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +78 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-info.html +58 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/{errata-details-repositories.html → erratum-repositories.html} +22 -35
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum.html +37 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.controller.js +8 -30
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.module.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.routes.js +90 -83
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/incremental-update.service.js +149 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +7 -17
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-select-content-hosts.html +4 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata.html +9 -26
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-task-details.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-tasks-list.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-tasks.html +6 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata.html +77 -34
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-content-views.controller.js +44 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file-repositories.controller.js +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/file.controller.js +37 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file-content-views.html +43 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file-info.html +15 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file-repositories.html +54 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/details/views/file.html +37 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/file.factory.js +28 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +35 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.module.js +20 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.routes.js +71 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/views/files.html +39 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/gpg-key-products.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/gpg-key-repositories.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/details/views/gpg-key-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/gpg-keys.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/new/views/new-gpg-key.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/gpg-keys/views/gpg-keys.html +3 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-add-hosts.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/host-collection-hosts.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-add-hosts.html +3 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-copy.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-details.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts-list.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/details/views/host-collection-hosts.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collection.factory.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/host-collections.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/new/views/new-host-collection.html +24 -23
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/host-collections/views/host-collections.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-bulk-action.factory.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/hosts/host-subscription.factory.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/de.po +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/es.po +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/fr.po +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/it.po +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ja.po +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ko.po +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/pt_BR.po +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/ru.po +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/locale/zh_CN.po +6 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/translations.js +10 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/katello-features.run.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/fenced-pages.service.js +24 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/views/organization-selector.html +3 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/{ostree-branches-details-repositories.controller.js → ostree-branch-repositories.controller.js} +7 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/{ostree-branches-details.controller.js → ostree-branch.controller.js} +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch-info.html +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/{ostree-branches-details-repositories.html → ostree-branch-repositories.html} +25 -34
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branch.html +30 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.routes.js +24 -27
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/views/ostree-branches.html +28 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/package-repositories.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-files.html +1 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/details/views/package-repositories.html +17 -27
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/views/packages.html +12 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/{product-bulk-action.factory.js → bulk/product-bulk-action.factory.js} +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-advanced-sync-modal.controller.js +54 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/products-bulk-sync-plan-modal.controller.js +80 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-advanced-sync-modal.html +26 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/bulk/views/products-bulk-sync-plan-modal.html +87 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/product-repositories.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-advanced-sync.controller.js +33 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +17 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.filter.js +29 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +5 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-advanced-sync-options.html +54 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-advanced-sync.html +29 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +26 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +46 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifests.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-files.html +64 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +5 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +6 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +52 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/ostree-upstream-sync-policy.service.js +26 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.module.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +19 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repository.factory.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +12 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/views/product-details.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/{discovery-form.controller.js → discovery-create.controller.js} +109 -35
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery-repositories.service.js +94 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +84 -30
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-base.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create-status.html +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create.html +154 -123
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery.html +94 -67
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/views/product-new-form.html +4 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/new/views/product-new.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +93 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.routes.js +3 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +43 -44
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/{puppet-modules-details-content-views.controller.js → puppet-module-content-views.controller.js} +6 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/{puppet-modules-details-repositories.controller.js → puppet-module-repositories.controller.js} +6 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/{puppet-modules-details.controller.js → puppet-module.controller.js} +4 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/{puppet-modules-details-content-views.html → puppet-module-content-views.html} +12 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module-info.html +32 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/{puppet-modules-details-repositories.html → puppet-module-repositories.html} +11 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-module.html +37 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.controller.js +3 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/puppet-modules.routes.js +31 -29
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/views/puppet-modules.html +34 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repository-sets/content-override-helper.service.js +47 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repository-sets/repository-sets-enabled.filter.js +34 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/repository-sets/repository-sets.module.js +8 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-content-hosts.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-info.html +13 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/views/subscription-products.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/manifest-import.controller.js +8 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-delete-modal.html +19 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +11 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscription-start-date.directive.js +21 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/subscriptions.controller.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscription-start-date.html +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/subscriptions.html +8 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-add-products.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/sync-plan-products.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-details.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/details/views/sync-plan-products.html +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/views/new-sync-plan.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/sync-plans.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/views/sync-plans.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/tasks-nutupane.factory.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/tasks/views/task-details.html +53 -66
- data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +5 -0
- data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/host_subscriptions.scss +14 -0
- data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/tasks.scss +4 -0
- data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -0
- data/lib/katello/engine.rb +3 -22
- data/lib/katello/permissions/content_view_permissions.rb +2 -2
- data/lib/katello/permissions/host_permissions.rb +1 -0
- data/lib/katello/permissions/product_permissions.rb +7 -4
- data/lib/katello/plugin.rb +18 -2
- data/lib/katello/tasks/regenerate_ueber_certs.rake +15 -0
- data/lib/katello/tasks/rubocop.rake +3 -2
- data/lib/katello/tasks/test.rake +17 -5
- data/lib/katello/tasks/unify_hosts.rake +1 -1
- data/lib/katello/tasks/update_subscription_facet_backend_data.rake +61 -0
- data/lib/katello/tasks/upgrades/3.3/hypervisors.rake +7 -0
- data/lib/katello/tasks/upgrades/3.3/import_subscriptions.rake +12 -0
- data/lib/katello/tasks/virt_who_report.rake +150 -0
- data/lib/katello/version.rb +1 -1
- metadata +116 -115
- data/app/lib/actions/candlepin/owner/refresh_subscriptions.rb +0 -15
- data/app/lib/actions/candlepin/product/delete_unused.rb +0 -13
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-product-details.controller.js +0 -88
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-products.controller.js +0 -46
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/views/activation-key-products.html +0 -49
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-action-errata.controller.js +0 -127
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-action-host-collections.controller.js +0 -79
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/content-hosts-bulk-action.controller.js +0 -81
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-errata.html +0 -113
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-host-collections.html +0 -82
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-packages.html +0 -153
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions-subscriptions.html +0 -86
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/bulk-actions.html +0 -92
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-products.controller.js +0 -99
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-products.html +0 -56
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/host-collections-table.html +0 -90
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/host-collections.html +0 -20
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts-table-collapsed.html +0 -25
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts-table-full.html +0 -61
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/errata-details-content-hosts.html +0 -91
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/errata-details-info.html +0 -62
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/errata-details.html +0 -52
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-table-collapsed.html +0 -20
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/errata-table-full.html +0 -46
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branches-details-info.html +0 -23
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/details/views/ostree-branches-details.html +0 -43
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/views/ostree-branches-table-collapsed.html +0 -19
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/views/ostree-branches-table-full.html +0 -21
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products-bulk-action.controller.js +0 -93
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-modules-details-info.html +0 -31
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/details/views/puppet-modules-details.html +0 -52
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/views/puppet-modules-table-collapsed.html +0 -20
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/puppet-modules/views/puppet-modules-table-full.html +0 -29
- data/lib/katello/tasks/gettext.rake +0 -5
- data/lib/katello/tasks/jshint.rake +0 -50
- data/lib/katello/tasks/jsroutes.rake +0 -5
- data/lib/katello/tasks/pretty_routes.rake +0 -30
- data/lib/katello/tasks/simplecov.rake +0 -7
- data/vendor/assets/javascripts/katello/jquery-1.7.2.js +0 -9404
@@ -21,7 +21,7 @@ module Katello
|
|
21
21
|
validates_with Validators::GpgKeyContentValidator, :attributes => :content, :if => proc { SETTINGS[:katello][:gpg_strict_validation] }
|
22
22
|
|
23
23
|
scoped_search :on => :name, :complete_value => true
|
24
|
-
scoped_search :on => :organization_id, :complete_value => true, :only_explicit => true
|
24
|
+
scoped_search :on => :organization_id, :complete_value => true, :only_explicit => true, :validator => ScopedSearch::Validators::INTEGER
|
25
25
|
|
26
26
|
def as_json(options = {})
|
27
27
|
options ||= {}
|
@@ -5,6 +5,7 @@ module Katello
|
|
5
5
|
include Facets::Base
|
6
6
|
|
7
7
|
belongs_to :user, :inverse_of => :subscription_facets, :class_name => "::User"
|
8
|
+
belongs_to :hypervisor_host, :class_name => "::Host::Managed", :foreign_key => "hypervisor_host_id"
|
8
9
|
|
9
10
|
has_many :activation_keys, :through => :subscription_facet_activation_keys, :class_name => "Katello::ActivationKey"
|
10
11
|
has_many :subscription_facet_activation_keys, :class_name => "Katello::SubscriptionFacetActivationKey", :dependent => :destroy, :inverse_of => :subscription_facet
|
@@ -23,6 +24,9 @@ module Katello
|
|
23
24
|
end
|
24
25
|
|
25
26
|
def import_database_attributes(consumer_params)
|
27
|
+
update_hypervisor(consumer_params)
|
28
|
+
update_guests(consumer_params)
|
29
|
+
|
26
30
|
self.autoheal = consumer_params['autoheal'] unless consumer_params['autoheal'].blank?
|
27
31
|
self.service_level = consumer_params['serviceLevel'] unless consumer_params['serviceLevel'].blank?
|
28
32
|
self.registered_at = consumer_params['created'] unless consumer_params['created'].blank?
|
@@ -35,6 +39,42 @@ module Katello
|
|
35
39
|
end
|
36
40
|
end
|
37
41
|
|
42
|
+
def update_hypervisor(consumer_params = candlepin_consumer.consumer_attributes)
|
43
|
+
if consumer_params.try(:[], 'type').try(:[], 'label') == 'hypervisor'
|
44
|
+
self.hypervisor = true
|
45
|
+
elsif !consumer_params.try(:[], 'guestIds').empty?
|
46
|
+
self.hypervisor = true
|
47
|
+
elsif !candlepin_consumer.virtual_guests.empty?
|
48
|
+
# Check by calling out to Candlepin last for efficiency
|
49
|
+
self.hypervisor = true
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def update_guests(consumer_params)
|
54
|
+
if self.hypervisor
|
55
|
+
if !consumer_params.try(:[], 'guestIds').empty?
|
56
|
+
guest_ids = consumer_params['guestIds'].map do |id|
|
57
|
+
if id.is_a?(Hash)
|
58
|
+
id['guestId'].downcase
|
59
|
+
elsif id.is_a?(String)
|
60
|
+
id.downcase
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
guest_ids = FactValue.where("lower(value) IN (?)", guest_ids).
|
65
|
+
where(:fact_name_id => FactName.where(:name => 'virt::uuid')).
|
66
|
+
pluck(:host_id)
|
67
|
+
else
|
68
|
+
guest_ids = self.candlepin_consumer.virtual_guests.pluck(:id)
|
69
|
+
end
|
70
|
+
|
71
|
+
subscription_facets = SubscriptionFacet.where(:host_id => guest_ids)
|
72
|
+
subscription_facets.update_all(:hypervisor_host_id => self.host.id)
|
73
|
+
elsif (virtual_host = self.candlepin_consumer.virtual_host)
|
74
|
+
self.hypervisor_host = virtual_host
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
38
78
|
def consumer_attributes
|
39
79
|
attrs = {
|
40
80
|
:autoheal => autoheal,
|
@@ -55,7 +95,7 @@ module Katello
|
|
55
95
|
product
|
56
96
|
end
|
57
97
|
end
|
58
|
-
attrs
|
98
|
+
HashWithIndifferentAccess.new(attrs)
|
59
99
|
end
|
60
100
|
|
61
101
|
def candlepin_environment_id
|
@@ -86,8 +126,11 @@ module Katello
|
|
86
126
|
def self.find_or_create_host(organization, rhsm_params)
|
87
127
|
host = find_host(rhsm_params[:facts], organization)
|
88
128
|
unless host
|
89
|
-
host = Katello::Host::SubscriptionFacet.new_host_from_facts(
|
90
|
-
|
129
|
+
host = Katello::Host::SubscriptionFacet.new_host_from_facts(
|
130
|
+
rhsm_params[:facts],
|
131
|
+
organization,
|
132
|
+
Location.unscoped.find_by_title(::Setting[:default_location_subscribed_hosts])
|
133
|
+
)
|
91
134
|
end
|
92
135
|
host.organization = organization unless host.organization
|
93
136
|
host
|
@@ -142,7 +185,7 @@ module Katello
|
|
142
185
|
end
|
143
186
|
|
144
187
|
def candlepin_consumer
|
145
|
-
@candlepin_consumer ||= Katello::Candlepin::Consumer.new(self.uuid)
|
188
|
+
@candlepin_consumer ||= Katello::Candlepin::Consumer.new(self.uuid, self.host.organization.label)
|
146
189
|
end
|
147
190
|
|
148
191
|
def backend_update_needed?
|
@@ -26,8 +26,8 @@ module Katello
|
|
26
26
|
validate :max_hosts_not_exceeded, :on => :create
|
27
27
|
|
28
28
|
scoped_search :on => :name, :complete_value => true
|
29
|
-
scoped_search :on => :organization_id, :complete_value => true, :only_explicit => true
|
30
|
-
scoped_search :
|
29
|
+
scoped_search :on => :organization_id, :complete_value => true, :only_explicit => true, :validator => ScopedSearch::Validators::INTEGER
|
30
|
+
scoped_search :relation => :hosts, :on => :name, :rename => :host, :complete_value => true
|
31
31
|
|
32
32
|
def max_hosts_check
|
33
33
|
if !unlimited_hosts && (hosts.length > 0 && (hosts.length.to_i > max_hosts.to_i)) && max_hosts_changed?
|
@@ -75,7 +75,7 @@ module Katello
|
|
75
75
|
ERROR_CLASS_NAME = "Environment".freeze
|
76
76
|
|
77
77
|
scoped_search :on => :name, :complete_value => true
|
78
|
-
scoped_search :on => :organization_id, :complete_value => true, :only_explicit => true
|
78
|
+
scoped_search :on => :organization_id, :complete_value => true, :only_explicit => true, :validator => ScopedSearch::Validators::INTEGER
|
79
79
|
|
80
80
|
def library?
|
81
81
|
self.library
|
@@ -10,7 +10,7 @@ module Katello
|
|
10
10
|
scoped_search :on => :commit, :complete_value => true
|
11
11
|
scoped_search :on => :uuid, :complete_value => true
|
12
12
|
scoped_search :on => :version_date, :complete_value => true, :rename => :created
|
13
|
-
scoped_search :
|
13
|
+
scoped_search :relation => :repositories, :on => :name, :rename => :repository, :complete_value => true
|
14
14
|
|
15
15
|
CONTENT_TYPE = Pulp::OstreeBranch::CONTENT_TYPE
|
16
16
|
|
@@ -9,7 +9,7 @@ module Katello
|
|
9
9
|
|
10
10
|
scoped_search :on => :name, :complete_value => true
|
11
11
|
scoped_search :on => :uuid, :rename => :id, :complete_value => true
|
12
|
-
scoped_search :
|
12
|
+
scoped_search :relation => :repositories, :on => :name, :rename => :repository, :complete_value => true
|
13
13
|
|
14
14
|
def self.repository_association_class
|
15
15
|
RepositoryPackageGroup
|
data/app/models/katello/pool.rb
CHANGED
@@ -8,9 +8,7 @@ module Katello
|
|
8
8
|
has_many :pool_activation_keys, :class_name => "Katello::PoolActivationKey", :dependent => :destroy, :inverse_of => :pool
|
9
9
|
|
10
10
|
scope :in_org, ->(org_id) { joins(:subscription).where("#{Katello::Subscription.table_name}.organization_id = ?", org_id) }
|
11
|
-
scope :for_activation_key, ->(ak) {
|
12
|
-
where(cp_id: ak.get_key_pools.map { |pool| pool['id'] })
|
13
|
-
}
|
11
|
+
scope :for_activation_key, ->(ak) { joins(:activation_keys).where("#{Katello::ActivationKey.table_name}.id" => ak.id) }
|
14
12
|
|
15
13
|
self.include_root_in_json = false
|
16
14
|
|
@@ -18,21 +16,22 @@ module Katello
|
|
18
16
|
include Glue::Candlepin::CandlepinObject
|
19
17
|
|
20
18
|
scoped_search :on => :cp_id, :complete_value => true, :rename => :id, :only_explicit => true
|
21
|
-
scoped_search :on => :quantity, :complete_value => true
|
19
|
+
scoped_search :on => :quantity, :complete_value => true, :validator => ScopedSearch::Validators::INTEGER
|
22
20
|
scoped_search :on => :start_date, :complete_value => true, :rename => :starts
|
23
21
|
scoped_search :on => :end_date, :complete_value => true, :rename => :expires
|
24
|
-
scoped_search :on => :ram, :complete_value => true
|
22
|
+
scoped_search :on => :ram, :complete_value => true, :validator => ScopedSearch::Validators::INTEGER
|
25
23
|
scoped_search :on => :multi_entitlement, :complete_value => true
|
26
|
-
scoped_search :on => :consumed, :complete_value => true
|
27
|
-
scoped_search :on => :account_number, :complete_value => true, :rename => :account
|
28
|
-
scoped_search :on => :contract_number, :complete_value => true, :rename => :contract
|
29
|
-
scoped_search :on => :
|
30
|
-
scoped_search :on => :
|
31
|
-
scoped_search :on => :
|
32
|
-
scoped_search :on => :
|
33
|
-
scoped_search :on => :
|
34
|
-
scoped_search :on => :
|
35
|
-
scoped_search :on => :
|
24
|
+
scoped_search :on => :consumed, :complete_value => true, :validator => ScopedSearch::Validators::INTEGER
|
25
|
+
scoped_search :on => :account_number, :complete_value => true, :rename => :account, :validator => ScopedSearch::Validators::INTEGER
|
26
|
+
scoped_search :on => :contract_number, :complete_value => true, :rename => :contract, :validator => ScopedSearch::Validators::INTEGER
|
27
|
+
scoped_search :on => :virt_who, :complete_value => true, :only_explicit => true
|
28
|
+
scoped_search :on => :name, :relation => :subscription, :complete_value => true, :rename => :name
|
29
|
+
scoped_search :on => :support_level, :relation => :subscription, :complete_value => true
|
30
|
+
scoped_search :on => :sockets, :relation => :subscription, :complete_value => true, :validator => ScopedSearch::Validators::INTEGER
|
31
|
+
scoped_search :on => :cores, :relation => :subscription, :complete_value => true, :validator => ScopedSearch::Validators::INTEGER
|
32
|
+
scoped_search :on => :product_id, :relation => :subscription, :complete_value => true
|
33
|
+
scoped_search :on => :stacking_id, :relation => :subscription, :complete_value => true, :validator => ScopedSearch::Validators::INTEGER
|
34
|
+
scoped_search :on => :instance_multiplier, :relation => :subscription, :complete_value => true, :validator => ScopedSearch::Validators::INTEGER
|
36
35
|
|
37
36
|
validates_lengths_from_database
|
38
37
|
|
@@ -29,10 +29,10 @@ module Katello
|
|
29
29
|
validates_with Validators::ProductUniqueAttributeValidator, :attributes => :label
|
30
30
|
|
31
31
|
scoped_search :on => :name, :complete_value => true
|
32
|
-
scoped_search :on => :organization_id, :complete_value => true, :only_explicit => true
|
32
|
+
scoped_search :on => :organization_id, :complete_value => true, :only_explicit => true, :validator => ScopedSearch::Validators::INTEGER
|
33
33
|
scoped_search :on => :label, :complete_value => true
|
34
34
|
scoped_search :on => :description
|
35
|
-
scoped_search :
|
35
|
+
scoped_search :relation => :provider, :on => :provider_type, :rename => :redhat,
|
36
36
|
:complete_value => {:true => Katello::Provider::REDHAT, :false => Katello::Provider::ANONYMOUS }
|
37
37
|
|
38
38
|
def library_repositories
|
@@ -107,34 +107,6 @@ module Katello
|
|
107
107
|
hash
|
108
108
|
end
|
109
109
|
|
110
|
-
def available_releases
|
111
|
-
releases = []
|
112
|
-
begin
|
113
|
-
Util::CdnVarSubstitutor.with_cache do
|
114
|
-
self.products.each do |product|
|
115
|
-
cdn_var_substitutor = Resources::CDN::CdnResource.new(product.provider[:repository_url],
|
116
|
-
:ssl_client_cert => OpenSSL::X509::Certificate.new(product.certificate),
|
117
|
-
:ssl_client_key => OpenSSL::PKey::RSA.new(product.key)).substitutor
|
118
|
-
product.productContent.each do |pc|
|
119
|
-
if (url_to_releases = pc.content.contentUrl[/^.*\$releasever/])
|
120
|
-
begin
|
121
|
-
cdn_var_substitutor.substitute_vars(url_to_releases).each do |(substitutions, _path)|
|
122
|
-
releases << Resources::CDN::Utils.parse_version(substitutions['releasever'])[:minor]
|
123
|
-
end
|
124
|
-
rescue Errors::SecurityViolation => e
|
125
|
-
# Some products may not be accessible but these should not impact available releases available
|
126
|
-
Rails.logger.info "Skipping unreadable product content: #{e}"
|
127
|
-
end
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
end
|
132
|
-
rescue => e
|
133
|
-
raise _("Unable to retrieve release versions from Repository URL %{url}. Error message: %{error}") % {:url => self.repository_url, :error => e.to_s}
|
134
|
-
end
|
135
|
-
releases.uniq.sort
|
136
|
-
end
|
137
|
-
|
138
110
|
def manifest_task
|
139
111
|
return task_status
|
140
112
|
end
|
@@ -3,9 +3,13 @@ module Katello
|
|
3
3
|
class Repository < Katello::Model
|
4
4
|
self.include_root_in_json = false
|
5
5
|
|
6
|
+
#pulp uses pulp id to sync with 'yum_distributor' on the end
|
7
|
+
PULP_ID_MAX_LENGTH = 220
|
8
|
+
|
6
9
|
validates_lengths_from_database :except => [:label]
|
7
10
|
before_destroy :assert_deletable
|
8
11
|
before_create :downcase_pulp_id
|
12
|
+
before_validation :update_ostree_upstream_sync_policy
|
9
13
|
|
10
14
|
include ForemanTasks::Concerns::ActionSubject
|
11
15
|
include Glue::Candlepin::Content if (SETTINGS[:katello][:use_cp] && SETTINGS[:katello][:use_pulp])
|
@@ -26,6 +30,11 @@ module Katello
|
|
26
30
|
CHECKSUM_TYPES = %w(sha1 sha256).freeze
|
27
31
|
SUBSCRIBABLE_TYPES = [YUM_TYPE, OSTREE_TYPE].freeze
|
28
32
|
|
33
|
+
OSTREE_UPSTREAM_SYNC_POLICY_LATEST = "latest".freeze
|
34
|
+
OSTREE_UPSTREAM_SYNC_POLICY_ALL = "all".freeze
|
35
|
+
OSTREE_UPSTREAM_SYNC_POLICY_CUSTOM = "custom".freeze
|
36
|
+
OSTREE_UPSTREAM_SYNC_POLICIES = [OSTREE_UPSTREAM_SYNC_POLICY_LATEST, OSTREE_UPSTREAM_SYNC_POLICY_ALL, OSTREE_UPSTREAM_SYNC_POLICY_CUSTOM].freeze
|
37
|
+
|
29
38
|
belongs_to :environment, :inverse_of => :repositories, :class_name => "Katello::KTEnvironment"
|
30
39
|
belongs_to :product, :inverse_of => :repositories
|
31
40
|
belongs_to :gpg_key, :inverse_of => :repositories
|
@@ -80,11 +89,14 @@ module Katello
|
|
80
89
|
validates :product_id, :presence => true
|
81
90
|
validates :pulp_id, :presence => true, :uniqueness => true, :if => proc { |r| r.name.present? }
|
82
91
|
validates :checksum_type, :inclusion => {:in => CHECKSUM_TYPES, :allow_blank => true}
|
83
|
-
validates :docker_upstream_name, :allow_blank => true, :if => :docker?, :format => {
|
84
|
-
:with => /\A([a-z0-9
|
92
|
+
validates :docker_upstream_name, :allow_blank => true, :if => :docker?, :length => { :maximum => 255 }, :format => {
|
93
|
+
:with => /\A([a-z0-9]+[a-z0-9\-\_\.]*)+(\/[a-z0-9]+[a-z0-9\-\_\.]*)?\z/,
|
85
94
|
:message => _("must be a valid docker name")
|
86
95
|
}
|
87
96
|
|
97
|
+
validates :ostree_upstream_sync_policy, :inclusion => {:in => OSTREE_UPSTREAM_SYNC_POLICIES, :allow_blank => true}, :if => :ostree?
|
98
|
+
validates :ostree_upstream_sync_depth, :presence => true, :numericality => { :only_integer => true },
|
99
|
+
:if => proc { |r| r.ostree? && r.ostree_upstream_sync_policy == OSTREE_UPSTREAM_SYNC_POLICY_CUSTOM }
|
88
100
|
#validates :content_id, :presence => true #add back after fixing add_repo orchestration
|
89
101
|
validates_with Validators::KatelloLabelFormatValidator, :attributes => :label
|
90
102
|
validates_with Validators::KatelloNameFormatValidator, :attributes => :name
|
@@ -103,11 +115,15 @@ module Katello
|
|
103
115
|
:message => _("must be one of the following: %s") % ::Runcible::Models::YumImporter::DOWNLOAD_POLICIES.join(', ')
|
104
116
|
}, if: :yum?
|
105
117
|
validate :ensure_no_download_policy, if: ->(repo) { !repo.yum? }
|
118
|
+
validate :ensure_no_ostree_upstream_sync_policy, if: ->(repo) { !repo.ostree? }
|
106
119
|
validate :ensure_valid_docker_attributes, :if => :docker?
|
107
120
|
validate :ensure_docker_repo_unprotected, :if => :docker?
|
108
121
|
validate :ensure_has_url_for_ostree, :if => :ostree?
|
109
122
|
validate :ensure_ostree_repo_protected, :if => :ostree?
|
110
123
|
|
124
|
+
before_validation :set_pulp_id
|
125
|
+
before_validation :set_container_repository_name, :if => :docker?
|
126
|
+
|
111
127
|
scope :has_url, -> { where('url IS NOT NULL') }
|
112
128
|
scope :in_default_view, -> { joins(:content_view_version => :content_view).where("#{Katello::ContentView.table_name}.default" => true) }
|
113
129
|
|
@@ -122,11 +138,11 @@ module Katello
|
|
122
138
|
scope :subscribable, -> { where(content_type: SUBSCRIBABLE_TYPES) }
|
123
139
|
|
124
140
|
scoped_search :on => :name, :complete_value => true
|
125
|
-
scoped_search :rename => :product, :on => :name, :
|
141
|
+
scoped_search :rename => :product, :on => :name, :relation => :product, :complete_value => true
|
126
142
|
scoped_search :on => :content_type, :complete_value => -> do
|
127
143
|
Katello::RepositoryTypeManager.repository_types.keys.each_with_object({}) { |value, hash| hash[value.to_sym] = value }
|
128
144
|
end
|
129
|
-
scoped_search :on => :content_view_id, :
|
145
|
+
scoped_search :on => :content_view_id, :relation => :content_view_repositories, :validator => ScopedSearch::Validators::INTEGER
|
130
146
|
scoped_search :on => :distribution_version, :complete_value => true
|
131
147
|
scoped_search :on => :distribution_arch, :complete_value => true
|
132
148
|
scoped_search :on => :distribution_family, :complete_value => true
|
@@ -142,6 +158,34 @@ module Katello
|
|
142
158
|
end
|
143
159
|
end
|
144
160
|
|
161
|
+
def set_pulp_id
|
162
|
+
return if self.pulp_id
|
163
|
+
|
164
|
+
if self.content_view.default?
|
165
|
+
items = [SecureRandom.uuid]
|
166
|
+
elsif self.environment
|
167
|
+
items = [organization.id, content_view.label, environment.label, library_instance.pulp_id]
|
168
|
+
else
|
169
|
+
version = self.content_view_version.version.gsub('.', '_')
|
170
|
+
items = [organization.id, content_view.label, "v#{version}", library_instance.pulp_id]
|
171
|
+
end
|
172
|
+
self.pulp_id = items.join('-')
|
173
|
+
self.pulp_id = SecureRandom.uuid if self.pulp_id.length > PULP_ID_MAX_LENGTH
|
174
|
+
end
|
175
|
+
|
176
|
+
def set_container_repository_name
|
177
|
+
return if container_repository_name
|
178
|
+
if content_view.default?
|
179
|
+
items = [organization.label, product.label, label]
|
180
|
+
elsif environment
|
181
|
+
items = [organization.label, environment.label, content_view.label, product.label, label]
|
182
|
+
else
|
183
|
+
items = [organization.label, content_view.label, content_view_version.version, product.label, label]
|
184
|
+
end
|
185
|
+
# docker repo names need to be in lower case
|
186
|
+
self.container_repository_name = items.compact.join("-").gsub(/[^-\w]/, "_").downcase
|
187
|
+
end
|
188
|
+
|
145
189
|
def content_view
|
146
190
|
self.content_view_version.content_view
|
147
191
|
end
|
@@ -324,26 +368,6 @@ module Katello
|
|
324
368
|
end
|
325
369
|
end
|
326
370
|
|
327
|
-
def self.repo_id(product_label, repo_label, env_label, organization_label,
|
328
|
-
view_label, version, docker_repo_name = nil)
|
329
|
-
actual_repo_id = [organization_label,
|
330
|
-
env_label,
|
331
|
-
view_label,
|
332
|
-
version,
|
333
|
-
product_label,
|
334
|
-
repo_label,
|
335
|
-
docker_repo_name].compact.join("-").gsub(/[^-\w]/, "_")
|
336
|
-
# docker repo names need to be in lower case
|
337
|
-
actual_repo_id = actual_repo_id.downcase if docker_repo_name
|
338
|
-
actual_repo_id
|
339
|
-
end
|
340
|
-
|
341
|
-
def clone_id(env, content_view, version = nil)
|
342
|
-
Repository.repo_id(self.product.label, self.label, env.try(:label),
|
343
|
-
organization.label, content_view.label,
|
344
|
-
version)
|
345
|
-
end
|
346
|
-
|
347
371
|
def packages_without_errata
|
348
372
|
if errata_filenames.any?
|
349
373
|
self.rpms.where("#{Rpm.table_name}.filename NOT in (?)", errata_filenames)
|
@@ -361,10 +385,6 @@ module Katello
|
|
361
385
|
where("#{RepositoryErratum.table_name}.repository_id" => self.id).pluck("#{Katello::ErratumPackage.table_name}.filename")
|
362
386
|
end
|
363
387
|
|
364
|
-
def container_repository_name
|
365
|
-
pulp_id if docker?
|
366
|
-
end
|
367
|
-
|
368
388
|
# TODO: break up method
|
369
389
|
# rubocop:disable MethodLength
|
370
390
|
def build_clone(options)
|
@@ -415,7 +435,6 @@ module Katello
|
|
415
435
|
:download_policy => download_policy,
|
416
436
|
:unprotected => self.unprotected) do |clone|
|
417
437
|
clone.checksum_type = self.checksum_type
|
418
|
-
clone.pulp_id = clone.clone_id(to_env, content_view, version.try(:version))
|
419
438
|
options = {
|
420
439
|
:repository => self,
|
421
440
|
:environment => to_env,
|
@@ -512,6 +531,20 @@ module Katello
|
|
512
531
|
self.ostree_branches.map(&:name)
|
513
532
|
end
|
514
533
|
|
534
|
+
def compute_ostree_upstream_sync_depth
|
535
|
+
if ostree_upstream_sync_policy == OSTREE_UPSTREAM_SYNC_POLICY_CUSTOM
|
536
|
+
ostree_upstream_sync_depth
|
537
|
+
elsif ostree_upstream_sync_policy == OSTREE_UPSTREAM_SYNC_POLICY_ALL
|
538
|
+
-1
|
539
|
+
else
|
540
|
+
0
|
541
|
+
end
|
542
|
+
end
|
543
|
+
|
544
|
+
def ostree_capsule_sync_depth
|
545
|
+
-1
|
546
|
+
end
|
547
|
+
|
515
548
|
def units_for_removal(ids)
|
516
549
|
table_name = removable_unit_association.table_name
|
517
550
|
is_integer = Integer(ids.first) rescue false #assume all ids are either integers or not
|
@@ -543,6 +576,17 @@ module Katello
|
|
543
576
|
end
|
544
577
|
end
|
545
578
|
|
579
|
+
def distribution_information
|
580
|
+
{
|
581
|
+
distribution_version: self.distribution_version,
|
582
|
+
distribution_arch: self.distribution_arch,
|
583
|
+
distribution_family: self.distribution_family,
|
584
|
+
distribution_variant: self.distribution_variant,
|
585
|
+
distribution_uuid: self.distribution_uuid,
|
586
|
+
distribution_bootable: self.distribution_bootable
|
587
|
+
}
|
588
|
+
end
|
589
|
+
|
546
590
|
def check_duplicate_branch_names(branch_names)
|
547
591
|
dupe_branch_checker = {}
|
548
592
|
dupe_branch_checker.default = 0
|
@@ -657,5 +701,23 @@ module Katello
|
|
657
701
|
manifest.destroy if manifest.repositories.empty?
|
658
702
|
end
|
659
703
|
end
|
704
|
+
|
705
|
+
def update_ostree_upstream_sync_policy
|
706
|
+
return unless ostree?
|
707
|
+
if self.ostree_upstream_sync_policy.blank?
|
708
|
+
self.ostree_upstream_sync_policy = OSTREE_UPSTREAM_SYNC_POLICY_LATEST
|
709
|
+
end
|
710
|
+
|
711
|
+
if self.ostree_upstream_sync_policy_changed? &&
|
712
|
+
previous_changes[:ostree_upstream_sync_policy].present?
|
713
|
+
self.ostree_upstream_sync_depth = nil unless self.ostree_upstream_sync_policy == OSTREE_UPSTREAM_SYNC_POLICY_CUSTOM
|
714
|
+
end
|
715
|
+
end
|
716
|
+
|
717
|
+
def ensure_no_ostree_upstream_sync_policy
|
718
|
+
if !ostree? && ostree_upstream_sync_policy.present?
|
719
|
+
errors.add(:ostree_upstream_sync_policy, N_("cannot be set for non-ostree repositories."))
|
720
|
+
end
|
721
|
+
end
|
660
722
|
end
|
661
723
|
end
|