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
@@ -12,6 +12,7 @@ module Actions
|
|
12
12
|
|
13
13
|
if update_content?(repository)
|
14
14
|
plan_action(::Actions::Candlepin::Product::ContentUpdate,
|
15
|
+
:owner => repository.organization.label,
|
15
16
|
:content_id => repository.content_id,
|
16
17
|
:name => repository.content.name,
|
17
18
|
:content_url => ::Katello::Glue::Pulp::Repos.custom_content_path(repository.product, repository.label),
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Actions
|
2
|
+
module Katello
|
3
|
+
module Repository
|
4
|
+
class UploadPackageGroup < Actions::EntryAction
|
5
|
+
def plan(repository, params)
|
6
|
+
action_subject(repository)
|
7
|
+
unit_key = {"repo_id": repository.pulp_id, "id": params[:name].parameterize.underscore}
|
8
|
+
params = params.slice(:name, :description, :user_visible, :mandatory_package_names, :optional_package_names, :conditional_package_names, :default_package_names)
|
9
|
+
|
10
|
+
sequence do
|
11
|
+
upload_request = plan_action(Pulp::Repository::CreateUploadRequest)
|
12
|
+
pkg_group_upload = plan_action(Pulp::Repository::ImportUpload,
|
13
|
+
pulp_id: repository.pulp_id,
|
14
|
+
unit_type_id: 'package_group',
|
15
|
+
unit_key: unit_key,
|
16
|
+
upload_id: upload_request.output[:upload_id],
|
17
|
+
unit_metadata: params)
|
18
|
+
|
19
|
+
plan_action(IndexPackageGroups, repository)
|
20
|
+
plan_action(FinishUpload, repository, :dependency => pkg_group_upload.output, :generate_metadata => true)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def rescue_strategy
|
25
|
+
Dynflow::Action::Rescue::Skip
|
26
|
+
end
|
27
|
+
|
28
|
+
def humanized_name
|
29
|
+
_("Create Package Group")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -34,8 +34,8 @@ module Actions
|
|
34
34
|
else
|
35
35
|
substitutor = cdn_var_substitutor
|
36
36
|
return [] unless substitutor
|
37
|
-
substitutor.substitute_vars(content.contentUrl).map do |
|
38
|
-
prepare_result(substitutions, path)
|
37
|
+
substitutor.substitute_vars(content.contentUrl).map do |path_with_substitutions|
|
38
|
+
prepare_result(path_with_substitutions.substitutions, path_with_substitutions.path)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
@@ -59,7 +59,6 @@ module Actions
|
|
59
59
|
substitutions: {},
|
60
60
|
path: mapper.feed_url,
|
61
61
|
repo_name: mapper.name,
|
62
|
-
pulp_id: mapper.pulp_id,
|
63
62
|
registry_name: registry["name"],
|
64
63
|
enabled: !repo.nil?,
|
65
64
|
promoted: (!repo.nil? && repo.promoted?)
|
@@ -74,7 +73,6 @@ module Actions
|
|
74
73
|
path: mapper.path,
|
75
74
|
repo_name: mapper.name,
|
76
75
|
name: mapper.content.name,
|
77
|
-
pulp_id: mapper.pulp_id,
|
78
76
|
enabled: !repo.nil?,
|
79
77
|
promoted: (!repo.nil? && repo.promoted?)
|
80
78
|
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Actions
|
2
|
+
module Middleware
|
3
|
+
class SkipIfMatchingContent < Dynflow::Middleware
|
4
|
+
def run(*args)
|
5
|
+
pass(*args) if execute?
|
6
|
+
end
|
7
|
+
|
8
|
+
def finalize(*args)
|
9
|
+
pass(*args) if execute?
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def execute?
|
15
|
+
if action.input.keys.include?('matching_content') && action.input['matching_content']
|
16
|
+
self.action.output[:matching_content_skip] = true
|
17
|
+
false
|
18
|
+
else
|
19
|
+
true
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -7,7 +7,7 @@ module Actions
|
|
7
7
|
def pulp_resources(capsule_id = nil)
|
8
8
|
capsule_id ||= input["capsule_id"]
|
9
9
|
if capsule_id
|
10
|
-
capsule_content = ::Katello::CapsuleContent.new(SmartProxy.find(capsule_id))
|
10
|
+
capsule_content = ::Katello::CapsuleContent.new(SmartProxy.unscoped.find(capsule_id))
|
11
11
|
capsule_content.pulp_server.resources
|
12
12
|
else
|
13
13
|
::Katello.pulp_server.resources
|
@@ -17,7 +17,7 @@ module Actions
|
|
17
17
|
def pulp_extensions(capsule_id = nil)
|
18
18
|
capsule_id ||= input["capsule_id"]
|
19
19
|
if capsule_id
|
20
|
-
capsule_content = ::Katello::CapsuleContent.new(SmartProxy.find(capsule_id))
|
20
|
+
capsule_content = ::Katello::CapsuleContent.new(SmartProxy.unscoped.find(capsule_id))
|
21
21
|
capsule_content.pulp_server.extensions
|
22
22
|
else
|
23
23
|
::Katello.pulp_server.extensions
|
@@ -7,7 +7,11 @@ module Actions
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def invoke_external_task
|
10
|
-
|
10
|
+
if input[:uuids].length == 1
|
11
|
+
pulp_resources.consumer.regenerate_applicability_by_id(input[:uuids].first)
|
12
|
+
else
|
13
|
+
pulp_extensions.consumer.regenerate_applicability_by_ids(input[:uuids])
|
14
|
+
end
|
11
15
|
end
|
12
16
|
end
|
13
17
|
end
|
@@ -14,6 +14,16 @@ module Actions
|
|
14
14
|
def invoke_external_task
|
15
15
|
pulp_resources.repository.sync(input[:repo_pulp_id])
|
16
16
|
end
|
17
|
+
|
18
|
+
def run_progress
|
19
|
+
# override this method so this task's progress isn't 0.5
|
20
|
+
# when it is initiated, skewing the progress bar progress
|
21
|
+
self.done? ? 1 : 0.1
|
22
|
+
end
|
23
|
+
|
24
|
+
def run_progress_weight
|
25
|
+
100
|
26
|
+
end
|
17
27
|
end
|
18
28
|
end
|
19
29
|
end
|
@@ -7,9 +7,11 @@ module Actions
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def run
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
User.as_anonymous_admin do
|
11
|
+
puppet_env = ::Katello::ContentViewPuppetEnvironment.find(input[:id])
|
12
|
+
puppet_module_ids = pulp_extensions.repository.puppet_module_ids(puppet_env.pulp_id)
|
13
|
+
puppet_env.index_content(puppet_module_ids)
|
14
|
+
end
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
@@ -23,6 +23,8 @@ module Actions
|
|
23
23
|
param :ssl_validation
|
24
24
|
param :upstream_username
|
25
25
|
param :upstream_password
|
26
|
+
param :ostree_upstream_sync_depth
|
27
|
+
param :ostree_publish_depth
|
26
28
|
end
|
27
29
|
|
28
30
|
def run
|
@@ -77,6 +79,7 @@ module Actions
|
|
77
79
|
importer.ssl_client_cert = input[:ssl_client_cert]
|
78
80
|
importer.ssl_client_key = input[:ssl_client_key]
|
79
81
|
importer.ssl_validation = input[:ssl_validation]
|
82
|
+
importer.depth = input[:ostree_upstream_sync_depth]
|
80
83
|
importer.basic_auth_username = input[:upstream_username] if input[:upstream_username].present?
|
81
84
|
importer.basic_auth_password = input[:upstream_password] if input[:upstream_password].present?
|
82
85
|
importer
|
@@ -165,7 +168,8 @@ module Actions
|
|
165
168
|
def docker_distributor
|
166
169
|
options = { protected: !input[:unprotected] || false,
|
167
170
|
id: input[:pulp_id],
|
168
|
-
auto_publish: true
|
171
|
+
auto_publish: true,
|
172
|
+
repo_registry_id: input[:repo_registry_id]}
|
169
173
|
Runcible::Models::DockerDistributor.new(options)
|
170
174
|
end
|
171
175
|
|
@@ -179,6 +183,7 @@ module Actions
|
|
179
183
|
options = { id: input[:pulp_id],
|
180
184
|
relative_path: input[:path],
|
181
185
|
auto_publish: true }
|
186
|
+
options[:depth] = input[:ostree_publish_depth] if input[:ostree_publish_depth]
|
182
187
|
Runcible::Models::OstreeDistributor.new(options)
|
183
188
|
end
|
184
189
|
end
|
@@ -2,12 +2,15 @@ module Actions
|
|
2
2
|
module Pulp
|
3
3
|
module Repository
|
4
4
|
class DistributorPublish < Pulp::AbstractAsyncTask
|
5
|
+
middleware.use Actions::Middleware::SkipIfMatchingContent
|
6
|
+
|
5
7
|
input_format do
|
6
8
|
param :pulp_id
|
7
9
|
param :distributor_type_id
|
8
10
|
param :source_pulp_id
|
9
11
|
param :dependency
|
10
12
|
param :override_config
|
13
|
+
param :matching_content
|
11
14
|
end
|
12
15
|
|
13
16
|
def invoke_external_task
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Actions
|
2
|
+
module Pulp
|
3
|
+
module Repository
|
4
|
+
class Download < Pulp::AbstractAsyncTask
|
5
|
+
input_format do
|
6
|
+
param :pulp_id
|
7
|
+
param :options
|
8
|
+
end
|
9
|
+
|
10
|
+
def invoke_external_task
|
11
|
+
output[:pulp_tasks] = pulp_resources.repository.download(input[:pulp_id], input[:options])
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -7,6 +7,7 @@ module Actions
|
|
7
7
|
param :unit_type_id
|
8
8
|
param :upload_id
|
9
9
|
param :unit_key
|
10
|
+
param :unit_metadata
|
10
11
|
end
|
11
12
|
|
12
13
|
def invoke_external_task
|
@@ -14,7 +15,7 @@ module Actions
|
|
14
15
|
input[:unit_type_id],
|
15
16
|
input[:upload_id],
|
16
17
|
input[:unit_key],
|
17
|
-
|
18
|
+
unit_metadata: input[:unit_metadata] || {})
|
18
19
|
end
|
19
20
|
end
|
20
21
|
end
|
data/app/lib/actions/pulp/repository/presenters/{file_presenter.rb → file_unit_presenter.rb}
RENAMED
File without changes
|
@@ -7,14 +7,27 @@ module Actions
|
|
7
7
|
return 0.01 unless task_progress_details
|
8
8
|
|
9
9
|
completion = 0.0
|
10
|
-
completion += 0.
|
11
|
-
|
10
|
+
completion += 0.2 if content_completed?(details("import_create_repository"))
|
11
|
+
|
12
|
+
if content_completed?(details("import_pull"))
|
13
|
+
completion += 0.5
|
14
|
+
end
|
12
15
|
completion += 0.3 if content_completed?(details("import_add_unit"))
|
13
16
|
completion
|
14
17
|
end
|
15
18
|
|
16
19
|
private
|
17
20
|
|
21
|
+
def fetch_pull_ratio(content_details)
|
22
|
+
# looks like "details": "fetching 24980/46836 53%",
|
23
|
+
fetch_details_line = content_details["details"]
|
24
|
+
ret = "0"
|
25
|
+
if fetch_details_line[-1] == "%"
|
26
|
+
ret = fetch_details_line.split[-2] # "24980/46836"
|
27
|
+
end
|
28
|
+
ret
|
29
|
+
end
|
30
|
+
|
18
31
|
def humanized_details
|
19
32
|
ret = []
|
20
33
|
ret << _("Cancelled") if cancelled?
|
@@ -24,7 +37,7 @@ module Actions
|
|
24
37
|
when "import_create_repository"
|
25
38
|
_("Creating local repository")
|
26
39
|
when "import_pull"
|
27
|
-
_("Pulling remote branches")
|
40
|
+
_("Pulling remote branches. Downloaded %s units." % fetch_pull_ratio(details("import_pull")))
|
28
41
|
when "import_add_unit"
|
29
42
|
_("Adding content units")
|
30
43
|
end
|
@@ -8,6 +8,7 @@ module Actions
|
|
8
8
|
param :pulp_id
|
9
9
|
param :task_id # In case we need just pair this action with existing sync task
|
10
10
|
param :source_url # allow overriding the feed URL
|
11
|
+
param :options # Pulp sync options
|
11
12
|
end
|
12
13
|
|
13
14
|
def invoke_external_task
|
@@ -27,11 +28,10 @@ module Actions
|
|
27
28
|
end
|
28
29
|
|
29
30
|
sync_options[:feed] = input[:source_url] if input[:source_url]
|
30
|
-
|
31
|
-
sync_options[:remove_missing] = input[:remove_missing] if input.key? :remove_missing
|
32
|
-
|
33
31
|
sync_options[:validate] = !(SETTINGS[:katello][:pulp][:skip_checksum_validation])
|
34
32
|
|
33
|
+
sync_options.merge(input[:options]) if input[:options]
|
34
|
+
|
35
35
|
output[:pulp_tasks] = pulp_tasks =
|
36
36
|
[pulp_resources.repository.sync(input[:pulp_id], override_config: sync_options)]
|
37
37
|
|
data/app/lib/katello/errors.rb
CHANGED
@@ -2,10 +2,11 @@ module Katello
|
|
2
2
|
class RepoDiscovery
|
3
3
|
attr_reader :found, :crawled, :to_follow
|
4
4
|
|
5
|
-
def initialize(url, proxy = {}, crawled = [], found = [], to_follow = [])
|
6
|
-
#add a / on the end, as directories require it or else
|
7
|
-
# They will get double slahes on them
|
5
|
+
def initialize(url, content_type = 'yum', upstream_username = nil, upstream_password = nil, proxy = {}, crawled = [], found = [], to_follow = [])
|
8
6
|
@uri = uri(url)
|
7
|
+
@content_type = content_type
|
8
|
+
@upstream_username = upstream_username.empty? ? nil : upstream_username
|
9
|
+
@upstream_password = upstream_password.empty? ? nil : upstream_password
|
9
10
|
@found = found
|
10
11
|
@crawled = crawled
|
11
12
|
@to_follow = to_follow
|
@@ -13,22 +14,46 @@ module Katello
|
|
13
14
|
end
|
14
15
|
|
15
16
|
def uri(url)
|
17
|
+
#add a / on the end, as directories require it or else
|
18
|
+
# They will get double slahes on them
|
16
19
|
url += '/' unless url.ends_with?('/')
|
17
20
|
URI(url)
|
18
21
|
end
|
19
22
|
|
20
23
|
def run(resume_point)
|
21
|
-
if @
|
22
|
-
|
23
|
-
elsif %w(http https).include?(@uri.scheme)
|
24
|
-
http_crawl(uri(resume_point))
|
24
|
+
if @content_type == 'docker'
|
25
|
+
docker_search
|
25
26
|
else
|
26
|
-
|
27
|
+
if @uri.scheme == 'file'
|
28
|
+
file_crawl(uri(resume_point))
|
29
|
+
elsif %w(http https).include?(@uri.scheme)
|
30
|
+
http_crawl(uri(resume_point))
|
31
|
+
else
|
32
|
+
fail _("Unsupported URL protocol %s.") % @uri.scheme
|
33
|
+
end
|
27
34
|
end
|
28
35
|
end
|
29
36
|
|
30
37
|
private
|
31
38
|
|
39
|
+
def docker_search
|
40
|
+
params = {
|
41
|
+
:accept => :json
|
42
|
+
}
|
43
|
+
params[:user] = @upstream_username unless @upstream_username.empty?
|
44
|
+
params[:password] = @upstream_password unless @upstream_password.empty?
|
45
|
+
begin
|
46
|
+
results = RestClient.get(@uri.to_s + "v1/search?q=*", params)
|
47
|
+
JSON.parse(results)['results'].each do |result|
|
48
|
+
@found << result['name']
|
49
|
+
end
|
50
|
+
rescue
|
51
|
+
results = RestClient.get(@uri.to_s + "v2/_catalog", params)
|
52
|
+
@found = JSON.parse(results)['repositories']
|
53
|
+
end
|
54
|
+
@found.sort!
|
55
|
+
end
|
56
|
+
|
32
57
|
def http_crawl(resume_point)
|
33
58
|
Anemone.crawl(resume_point, @proxy) do |anemone|
|
34
59
|
anemone.focus_crawl do |page|
|
@@ -149,8 +149,8 @@ module Katello
|
|
149
149
|
self.put(path(uuid), {:lastCheckin => checkin_date}.to_json, self.default_headers).body
|
150
150
|
end
|
151
151
|
|
152
|
-
def available_pools(uuid, listall = false)
|
153
|
-
url = Pool.path + "?consumer=#{uuid}&listall=#{listall}"
|
152
|
+
def available_pools(owner_label, uuid, listall = false)
|
153
|
+
url = Pool.path(nil, owner_label) + "?consumer=#{uuid}&listall=#{listall}"
|
154
154
|
response = Candlepin::CandlepinResource.get(url, self.default_headers).body
|
155
155
|
JSON.parse(response)
|
156
156
|
end
|
@@ -246,16 +246,28 @@ module Katello
|
|
246
246
|
::Katello::Util::Data.array_with_indifferent_access(JSON.parse(result))
|
247
247
|
end
|
248
248
|
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
249
|
+
# expected params
|
250
|
+
# id : UUID of the consumer
|
251
|
+
# content_overrides => Array of entitlement hashes objects
|
252
|
+
def update_content_overrides(id, content_overrides)
|
253
|
+
attrs_to_delete = []
|
254
|
+
attrs_to_update = []
|
255
|
+
content_overrides.each do |content_override|
|
256
|
+
if content_override[:value]
|
257
|
+
attrs_to_update << content_override
|
258
|
+
else
|
259
|
+
attrs_to_delete << content_override
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
if attrs_to_update.present?
|
253
264
|
result = Candlepin::CandlepinResource.put(join_path(path(id), 'content_overrides'),
|
254
|
-
|
255
|
-
|
265
|
+
attrs_to_update.to_json, self.default_headers)
|
266
|
+
end
|
267
|
+
if attrs_to_delete.present?
|
256
268
|
client = Candlepin::CandlepinResource.rest_client(Net::HTTP::Delete, :delete,
|
257
269
|
join_path(path(id), 'content_overrides'))
|
258
|
-
client.options[:payload] =
|
270
|
+
client.options[:payload] = attrs_to_delete.to_json
|
259
271
|
result = client.delete({:accept => :json, :content_type => :json}.merge(User.cp_oauth_header))
|
260
272
|
end
|
261
273
|
::Katello::Util::Data.array_with_indifferent_access(JSON.parse(result))
|
@@ -275,9 +287,9 @@ module Katello
|
|
275
287
|
|
276
288
|
uri.scheme = URI.parse(proxy_config[:host]).scheme
|
277
289
|
uri.host = URI.parse(proxy_config[:host]).host
|
278
|
-
uri.port = proxy_config[:port]
|
279
|
-
uri.user = proxy_config[:user]
|
280
|
-
uri.password = proxy_config[:password]
|
290
|
+
uri.port = proxy_config[:port].to_s
|
291
|
+
uri.user = proxy_config[:user].to_s
|
292
|
+
uri.password = proxy_config[:password].to_s
|
281
293
|
|
282
294
|
RestClient.proxy = uri.to_s
|
283
295
|
end
|
@@ -386,15 +398,15 @@ module Katello
|
|
386
398
|
::Katello::Util::Data.array_with_indifferent_access JSON.parse(imports_json)
|
387
399
|
end
|
388
400
|
|
389
|
-
def pools(
|
390
|
-
|
401
|
+
def pools(owner_label, filter = {})
|
402
|
+
filter[:add_future] ||= true
|
403
|
+
params = hash_to_query(filter)
|
404
|
+
if owner_label
|
391
405
|
# hash_to_query escapes the ":!" to "%3A%21" which candlepin rejects
|
392
|
-
params =
|
393
|
-
|
394
|
-
params += 'attribute=unmapped_guests_only:!true'
|
395
|
-
json_str = self.get(join_path(path(key), 'pools') + params, self.default_headers).body
|
406
|
+
params += '&attribute=unmapped_guests_only:!true'
|
407
|
+
json_str = self.get(join_path(path(owner_label), 'pools') + params, self.default_headers).body
|
396
408
|
else
|
397
|
-
json_str = self.get(join_path('candlepin', 'pools') +
|
409
|
+
json_str = self.get(join_path('candlepin', 'pools') + params, self.default_headers).body
|
398
410
|
end
|
399
411
|
::Katello::Util::Data.array_with_indifferent_access JSON.parse(json_str)
|
400
412
|
end
|
@@ -510,9 +522,8 @@ module Katello
|
|
510
522
|
end
|
511
523
|
|
512
524
|
def get_for_owner(owner_key, include_temporary_guests = false)
|
513
|
-
|
514
|
-
|
515
|
-
url = include_temporary_guests ? url_path : url_path + url_params
|
525
|
+
url = "/candlepin/owners/#{owner_key}/pools?add_future=true"
|
526
|
+
url += "&attribute=unmapped_guests_only:!true" if include_temporary_guests
|
516
527
|
pools_json = self.get(url, self.default_headers).body
|
517
528
|
JSON.parse(pools_json)
|
518
529
|
end
|
@@ -527,39 +538,45 @@ module Katello
|
|
527
538
|
JSON.parse(entitlement_json)
|
528
539
|
end
|
529
540
|
|
530
|
-
def path(id = nil)
|
531
|
-
|
541
|
+
def path(id = nil, owner_label = nil)
|
542
|
+
if owner_label && id
|
543
|
+
"/candlepin/owners/#{owner_label}/pools/#{id}"
|
544
|
+
elsif owner_label
|
545
|
+
"/candlepin/owners/#{owner_label}/pools/"
|
546
|
+
else
|
547
|
+
"/candlepin/pools/#{id}"
|
548
|
+
end
|
532
549
|
end
|
533
550
|
end
|
534
551
|
end
|
535
552
|
|
536
553
|
class Content < CandlepinResource
|
537
554
|
class << self
|
538
|
-
def create(attrs)
|
539
|
-
JSON.parse(self.post(path, JSON.generate(attrs), self.default_headers).body).with_indifferent_access
|
555
|
+
def create(owner_label, attrs)
|
556
|
+
JSON.parse(self.post(path(owner_label), JSON.generate(attrs), self.default_headers).body).with_indifferent_access
|
540
557
|
end
|
541
558
|
|
542
|
-
def get(id)
|
543
|
-
content_json = super(path(id), self.default_headers).body
|
559
|
+
def get(owner_label, id)
|
560
|
+
content_json = super(path(owner_label, id), self.default_headers).body
|
544
561
|
JSON.parse(content_json).with_indifferent_access
|
545
562
|
end
|
546
563
|
|
547
|
-
def all
|
548
|
-
content_json = Candlepin::CandlepinResource.get(path, self.default_headers).body
|
564
|
+
def all(owner_label)
|
565
|
+
content_json = Candlepin::CandlepinResource.get(path(owner_label), self.default_headers).body
|
549
566
|
JSON.parse(content_json)
|
550
567
|
end
|
551
568
|
|
552
|
-
def destroy(id)
|
569
|
+
def destroy(owner_label, id)
|
553
570
|
fail ArgumentError, "content id has to be specified" unless id
|
554
|
-
self.delete(path(id), self.default_headers).code.to_i
|
571
|
+
self.delete(path(owner_label, id), self.default_headers).code.to_i
|
555
572
|
end
|
556
573
|
|
557
|
-
def update(attrs)
|
558
|
-
JSON.parse(self.put(path(attrs[:id] || attrs['id']), JSON.generate(attrs), self.default_headers).body).with_indifferent_access
|
574
|
+
def update(owner_label, attrs)
|
575
|
+
JSON.parse(self.put(path(owner_label, attrs[:id] || attrs['id']), JSON.generate(attrs), self.default_headers).body).with_indifferent_access
|
559
576
|
end
|
560
577
|
|
561
|
-
def path(id = nil)
|
562
|
-
"/candlepin/content/#{id}"
|
578
|
+
def path(owner_label, id = nil)
|
579
|
+
"/candlepin/owners/#{owner_label}/content/#{id}"
|
563
580
|
end
|
564
581
|
end
|
565
582
|
end
|
@@ -589,11 +606,6 @@ module Katello
|
|
589
606
|
JSON.parse(content_json)
|
590
607
|
end
|
591
608
|
|
592
|
-
def refresh_for_owner(owner_key)
|
593
|
-
ret = self.put("/candlepin/owners/#{owner_key}/subscriptions", {}.to_json, self.default_headers).body
|
594
|
-
JSON.parse(ret).with_indifferent_access
|
595
|
-
end
|
596
|
-
|
597
609
|
def path(id = nil)
|
598
610
|
"/candlepin/subscriptions/#{id}"
|
599
611
|
end
|
@@ -622,8 +634,8 @@ module Katello
|
|
622
634
|
|
623
635
|
class Product < CandlepinResource
|
624
636
|
class << self
|
625
|
-
def all
|
626
|
-
JSON.parse(Candlepin::CandlepinResource.get(path, self.default_headers).body)
|
637
|
+
def all(owner_label)
|
638
|
+
JSON.parse(Candlepin::CandlepinResource.get(path(owner_label), self.default_headers).body)
|
627
639
|
end
|
628
640
|
|
629
641
|
def find_for_stacking_id(owner_key, stacking_id)
|
@@ -635,12 +647,12 @@ module Katello
|
|
635
647
|
nil
|
636
648
|
end
|
637
649
|
|
638
|
-
def create(attr)
|
639
|
-
JSON.parse(self.post(path, attr.to_json, self.default_headers).body).with_indifferent_access
|
650
|
+
def create(owner_label, attr)
|
651
|
+
JSON.parse(self.post(path(owner_label), attr.to_json, self.default_headers).body).with_indifferent_access
|
640
652
|
end
|
641
653
|
|
642
|
-
def get(id = nil, included = [])
|
643
|
-
products_json = super(path(id + "/?#{included_list(included)}"), self.default_headers).body
|
654
|
+
def get(owner_label, id = nil, included = [])
|
655
|
+
products_json = super(path(owner_label, id + "/?#{included_list(included)}"), self.default_headers).body
|
644
656
|
products = JSON.parse(products_json)
|
645
657
|
products = [products] unless id.nil?
|
646
658
|
::Katello::Util::Data.array_with_indifferent_access products
|
@@ -674,17 +686,17 @@ module Katello
|
|
674
686
|
self.product_certificate(id, owner).try :[], 'key'
|
675
687
|
end
|
676
688
|
|
677
|
-
def destroy(product_id)
|
689
|
+
def destroy(owner_label, product_id)
|
678
690
|
fail ArgumentError, "product id has to be specified" unless product_id
|
679
|
-
self.delete(path(product_id), self.default_headers).code.to_i
|
691
|
+
self.delete(path(owner_label, product_id), self.default_headers).code.to_i
|
680
692
|
end
|
681
693
|
|
682
|
-
def add_content(product_id, content_id, enabled)
|
683
|
-
self.post(join_path(path(product_id), "content/#{content_id}?enabled=#{enabled}"), nil, self.default_headers).code.to_i
|
694
|
+
def add_content(owner_label, product_id, content_id, enabled)
|
695
|
+
self.post(join_path(path(owner_label, product_id), "content/#{content_id}?enabled=#{enabled}"), nil, self.default_headers).code.to_i
|
684
696
|
end
|
685
697
|
|
686
|
-
def remove_content(product_id, content_id)
|
687
|
-
self.delete(join_path(path(product_id), "content/#{content_id}"), self.default_headers).code.to_i
|
698
|
+
def remove_content(owner_label, product_id, content_id)
|
699
|
+
self.delete(join_path(path(owner_label, product_id), "content/#{content_id}"), self.default_headers).code.to_i
|
688
700
|
end
|
689
701
|
|
690
702
|
def create_unlimited_subscription(owner_key, product_id)
|
@@ -721,16 +733,11 @@ module Katello
|
|
721
733
|
end
|
722
734
|
end
|
723
735
|
end
|
724
|
-
|
725
|
-
if update_subscriptions
|
726
|
-
return Candlepin::Subscription.refresh_for_owner owner_key
|
727
|
-
else
|
728
|
-
return nil
|
729
|
-
end
|
736
|
+
nil
|
730
737
|
end
|
731
738
|
|
732
|
-
def path(id = nil)
|
733
|
-
"/candlepin/products/#{id}"
|
739
|
+
def path(owner_label, id = nil)
|
740
|
+
"/candlepin/owners/#{owner_label}/products/#{id}"
|
734
741
|
end
|
735
742
|
end
|
736
743
|
end
|
@@ -815,16 +822,28 @@ module Katello
|
|
815
822
|
::Katello::Util::Data.array_with_indifferent_access(JSON.parse(result))
|
816
823
|
end
|
817
824
|
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
825
|
+
# expected params
|
826
|
+
# id : ID of the Activation Key
|
827
|
+
# content_overrides => Array of content override hashes
|
828
|
+
def update_content_overrides(id, content_overrides)
|
829
|
+
attrs_to_delete = []
|
830
|
+
attrs_to_update = []
|
831
|
+
content_overrides.each do |content_override|
|
832
|
+
if content_override[:value]
|
833
|
+
attrs_to_update << content_override
|
834
|
+
else
|
835
|
+
attrs_to_delete << content_override
|
836
|
+
end
|
837
|
+
end
|
838
|
+
|
839
|
+
if attrs_to_update.present?
|
822
840
|
result = Candlepin::CandlepinResource.put(join_path(path(id), 'content_overrides'),
|
823
|
-
|
824
|
-
|
841
|
+
attrs_to_update.to_json, self.default_headers)
|
842
|
+
end
|
843
|
+
if attrs_to_delete.present?
|
825
844
|
client = Candlepin::CandlepinResource.rest_client(Net::HTTP::Delete, :delete,
|
826
845
|
join_path(path(id), 'content_overrides'))
|
827
|
-
client.options[:payload] =
|
846
|
+
client.options[:payload] = attrs_to_delete.to_json
|
828
847
|
result = client.delete({:accept => :json, :content_type => :json}.merge(User.cp_oauth_header))
|
829
848
|
end
|
830
849
|
::Katello::Util::Data.array_with_indifferent_access(JSON.parse(result))
|