katello 4.4.2.2 → 4.5.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/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +5 -1
- data/app/controllers/katello/api/v2/alternate_content_sources_controller.rb +98 -0
- data/app/controllers/katello/api/v2/content_export_incrementals_controller.rb +39 -3
- data/app/controllers/katello/api/v2/content_exports_controller.rb +19 -0
- data/app/controllers/katello/api/v2/content_imports_controller.rb +13 -16
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +0 -12
- data/app/controllers/katello/api/v2/content_views_controller.rb +13 -0
- data/app/controllers/katello/api/v2/environments_controller.rb +1 -1
- data/app/controllers/katello/api/v2/host_module_streams_controller.rb +8 -2
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +25 -3
- data/app/controllers/katello/api/v2/organizations_controller.rb +4 -2
- data/app/controllers/katello/api/v2/repositories_bulk_actions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/repositories_controller.rb +9 -3
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +40 -7
- data/app/controllers/katello/api/v2/subscriptions_controller.rb +2 -2
- data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +1 -1
- data/app/helpers/katello/concerns/smart_proxy_helper_extensions.rb +4 -0
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +21 -3
- data/app/lib/actions/katello/alternate_content_source/create.rb +24 -0
- data/app/lib/actions/katello/alternate_content_source/destroy.rb +27 -0
- data/app/lib/actions/katello/alternate_content_source/update.rb +41 -0
- data/app/lib/actions/katello/cdn_configuration/update.rb +2 -2
- data/app/lib/actions/katello/content_view/destroy.rb +2 -1
- data/app/lib/actions/katello/content_view/incremental_updates.rb +7 -3
- data/app/lib/actions/katello/content_view/publish.rb +7 -9
- data/app/lib/actions/katello/content_view_version/auto_create_products.rb +4 -4
- data/app/lib/actions/katello/content_view_version/auto_create_redhat_repositories.rb +6 -4
- data/app/lib/actions/katello/content_view_version/auto_create_repositories.rb +6 -4
- data/app/lib/actions/katello/content_view_version/import.rb +25 -22
- data/app/lib/actions/katello/content_view_version/import_library.rb +0 -1
- data/app/lib/actions/katello/content_view_version/import_repository.rb +21 -0
- data/app/lib/actions/katello/content_view_version/incremental_update.rb +85 -93
- data/app/lib/actions/katello/content_view_version/reset_content_view_repositories_from_metadata.rb +2 -2
- data/app/lib/actions/katello/product/content_create.rb +10 -8
- data/app/lib/actions/katello/repository/destroy.rb +36 -12
- data/app/lib/actions/katello/repository_set/disable_repository.rb +8 -3
- data/app/lib/actions/pulp3/alternate_content_source/create.rb +20 -0
- data/app/lib/actions/pulp3/alternate_content_source/create_remote.rb +20 -0
- data/app/lib/actions/pulp3/alternate_content_source/delete.rb +16 -0
- data/app/lib/actions/pulp3/alternate_content_source/delete_remote.rb +16 -0
- data/app/lib/actions/pulp3/alternate_content_source/update.rb +16 -0
- data/app/lib/actions/pulp3/alternate_content_source/update_remote.rb +17 -0
- data/app/lib/actions/pulp3/content_view_version/{import.rb → create_import.rb} +5 -5
- data/app/lib/actions/pulp3/content_view_version/create_importer.rb +4 -3
- data/app/lib/actions/pulp3/content_view_version/destroy_importer.rb +12 -1
- data/app/lib/actions/pulp3/orchestration/alternate_content_source/create.rb +18 -0
- data/app/lib/actions/pulp3/orchestration/alternate_content_source/delete.rb +23 -0
- data/app/lib/actions/pulp3/orchestration/alternate_content_source/update.rb +18 -0
- data/app/lib/actions/pulp3/orchestration/content_view_version/copy_version_units_to_library.rb +1 -1
- data/app/lib/actions/pulp3/orchestration/content_view_version/export_repository.rb +51 -0
- data/app/lib/actions/pulp3/orchestration/content_view_version/import.rb +5 -2
- data/app/lib/actions/pulp3/repository/refresh_distribution.rb +4 -1
- data/app/lib/actions/pulp3/repository/save_distribution_references.rb +2 -0
- data/app/lib/katello/api/v2/error_handling.rb +1 -0
- data/app/lib/katello/resources/cdn/katello_cdn.rb +3 -1
- data/app/lib/katello/util/errata.rb +2 -3
- data/app/lib/katello/validators/alternate_content_source_path_validator.rb +29 -0
- data/app/lib/katello/validators/content_default_http_proxy_setting_validator.rb +12 -0
- data/app/lib/katello/validators/content_view_environment_validator.rb +10 -5
- data/app/models/katello/alternate_content_source.rb +66 -0
- data/app/models/katello/authorization/alternate_content_source.rb +33 -0
- data/app/models/katello/authorization/repository.rb +3 -3
- data/app/models/katello/candlepin/repository_mapper.rb +13 -6
- data/app/models/katello/cdn_configuration.rb +15 -15
- data/app/models/katello/concerns/content_facet_host_extensions.rb +25 -0
- data/app/models/katello/concerns/host_managed_extensions.rb +7 -5
- data/app/models/katello/concerns/http_proxy_extensions.rb +14 -0
- data/app/models/katello/concerns/organization_extensions.rb +4 -2
- data/app/models/katello/concerns/setting_extensions.rb +14 -0
- data/app/models/katello/concerns/smart_proxy_extensions.rb +2 -1
- data/app/models/katello/content.rb +1 -0
- data/app/models/katello/content_credential.rb +6 -0
- data/app/models/katello/content_override.rb +7 -3
- data/app/models/katello/content_view.rb +33 -2
- data/app/models/katello/content_view_erratum_filter.rb +26 -12
- data/app/models/katello/content_view_filter.rb +4 -0
- data/app/models/katello/content_view_version.rb +12 -0
- data/app/models/katello/content_view_version_export_history.rb +3 -1
- data/app/models/katello/erratum.rb +9 -5
- data/app/models/katello/events/delete_latest_content_view_version.rb +40 -0
- data/app/models/katello/host/content_facet.rb +14 -0
- data/app/models/katello/host_available_module_stream.rb +12 -0
- data/app/models/katello/product_content.rb +1 -0
- data/app/models/katello/purpose_sla_status.rb +1 -1
- data/app/models/katello/purpose_status.rb +2 -2
- data/app/models/katello/repository.rb +7 -4
- data/app/models/katello/root_repository.rb +1 -1
- data/app/models/katello/smart_proxy_alternate_content_source.rb +8 -0
- data/app/models/katello/sync_plan.rb +1 -1
- data/app/presenters/katello/product_content_presenter.rb +15 -0
- data/app/services/katello/applicable_host_queue.rb +1 -1
- data/app/services/katello/content_unit_indexer.rb +2 -1
- data/app/services/katello/product_content_finder.rb +12 -2
- data/app/services/katello/pulp3/alternate_content_source.rb +117 -0
- data/app/services/katello/pulp3/api/file.rb +8 -0
- data/app/services/katello/pulp3/api/yum.rb +8 -0
- data/app/services/katello/pulp3/content_view_version/export.rb +27 -5
- data/app/services/katello/pulp3/content_view_version/import.rb +97 -71
- data/app/services/katello/pulp3/content_view_version/import_export_common.rb +4 -4
- data/app/services/katello/pulp3/content_view_version/import_gpg_keys.rb +13 -11
- data/app/services/katello/pulp3/content_view_version/import_validator.rb +67 -72
- data/app/services/katello/pulp3/content_view_version/importable_products.rb +40 -24
- data/app/services/katello/pulp3/content_view_version/importable_repositories.rb +88 -39
- data/app/services/katello/pulp3/content_view_version/metadata_generator.rb +2 -2
- data/app/services/katello/pulp3/content_view_version/metadata_map.rb +117 -0
- data/app/services/katello/pulp3/pulp_content_unit.rb +6 -1
- data/app/services/katello/pulp3/repository/yum.rb +70 -12
- data/app/services/katello/pulp3/repository.rb +7 -91
- data/app/services/katello/pulp3/service_common.rb +66 -0
- data/app/services/katello/pulp3/smart_proxy_mirror_repository.rb +4 -1
- data/app/services/katello/ui_notifications/content_view/delete_latest_version_failure.rb +22 -0
- data/app/views/foreman/job_templates/change_content_source.erb +1 -1
- data/app/views/foreman/job_templates/install_errata.erb +5 -5
- data/app/views/foreman/job_templates/install_errata_by_search_query.erb +7 -6
- data/app/views/foreman/job_templates/install_group.erb +4 -4
- data/app/views/foreman/job_templates/install_package.erb +4 -4
- data/app/views/foreman/job_templates/install_packages_by_search_query.erb +3 -3
- data/app/views/foreman/job_templates/remove_group.erb +4 -4
- data/app/views/foreman/job_templates/remove_package.erb +4 -4
- data/app/views/foreman/job_templates/remove_packages_by_search_query.erb +3 -3
- data/app/views/foreman/job_templates/resolve_traces.erb +2 -2
- data/app/views/foreman/job_templates/restart_services.erb +3 -3
- data/app/views/foreman/job_templates/update_group.erb +4 -4
- data/app/views/foreman/job_templates/update_package.erb +4 -4
- data/app/views/foreman/job_templates/update_packages_by_search_query.erb +3 -3
- data/app/views/katello/api/v2/alternate_content_sources/base.json.rabl +15 -0
- data/app/views/katello/api/v2/alternate_content_sources/index.json.rabl +7 -0
- data/app/views/katello/api/v2/alternate_content_sources/show.json.rabl +3 -0
- data/app/views/katello/api/v2/capsule_content/sync_status.json.rabl +1 -1
- data/app/views/katello/api/v2/content_view_version_export_histories/show.json.rabl +2 -3
- data/app/views/katello/api/v2/content_view_versions/base.json.rabl +1 -1
- data/app/views/katello/api/v2/content_views/base.json.rabl +1 -0
- data/app/views/katello/api/v2/environments/show.json.rabl +2 -0
- data/app/views/katello/api/v2/errata/_counts.json.rabl +2 -2
- data/app/views/katello/api/v2/host_module_streams/base.json.rabl +2 -2
- data/app/views/katello/api/v2/hosts/host_collections.json.rabl +1 -1
- data/app/views/katello/api/v2/organizations/show.json.rabl +7 -1
- data/app/views/katello/api/v2/repositories/show.json.rabl +2 -1
- data/app/views/katello/sync_management/_repo.html.erb +8 -29
- data/config/routes/api/v2.rb +7 -0
- data/db/migrate/20150930183738_migrate_content_hosts.rb +0 -399
- data/db/migrate/20171025163149_remove_use_pulp_oauth_setting.rb +1 -1
- data/db/migrate/20171114150937_cleanup_installed_packages.rb +1 -1
- data/db/migrate/20180402160223_clean_up_force_post_sync_action_setting.rb +1 -1
- data/db/migrate/20211129200124_remove_dependency_solving_algorithm_setting.rb +1 -1
- data/db/migrate/20211220185935_clean_duplicate_content_units.rb +10 -12
- data/db/migrate/20220110223754_update_disconnected_settings.rb +5 -5
- data/db/migrate/20220117151612_add_alternate_content_sources.rb +48 -0
- data/db/migrate/20220124191056_add_type_to_cdn_configuration.rb +9 -4
- data/db/migrate/20220209203251_add_generated_for_to_content_views.rb +13 -0
- data/db/migrate/20220209205137_expand_sync_timeout_settings.rb +7 -7
- data/db/migrate/20220228173251_remove_drpm_from_ignorable_content.rb +12 -0
- data/db/migrate/20220404190836_delete_old_setting_data.rb +9 -0
- data/db/migrate/20220405220616_update_cdn_configuration_type.rb +11 -0
- data/db/migrate/20220419193414_content_settings_to_dsl_category.rb +5 -0
- data/db/seeds.d/110-content-view-autopublish.rb +13 -0
- data/db/seeds.d/150-module_job_templates.rb +1 -1
- data/engines/bastion/README.md +1 -0
- data/engines/bastion/app/assets/javascripts/bastion/components/bst-modal.directive.js +1 -0
- data/engines/bastion/app/views/bastion/layouts/assets.html.erb +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-details.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/capsule-content/capsule-content.controller.js +10 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-module-streams.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-packages-installed.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-traces.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-actions.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-packages-applicable.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content-hosts.controller.js +8 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +4 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/views/content-hosts.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/content.service.js +10 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-deb-repositories.html +26 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-debs.html +27 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.controller.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/environments.routes.js +22 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/views/environments.html +13 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/i18n/bastion_katello.pot +63 -17
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-info.controller.js +7 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details.controller.js +10 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-details.html +21 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +8 -9
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/new-repository.controller.js +7 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery-create.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/views/discovery-create.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.routes.js +1 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/views/content-access-mode-banner.html +6 -1
- data/lib/katello/engine.rb +1 -5
- data/lib/katello/permission_creator.rb +32 -4
- data/lib/katello/plugin.rb +378 -4
- data/lib/katello/tasks/reset.rake.bak +67 -0
- data/lib/katello/tasks/update_content_default_http_proxy.rake +2 -3
- data/lib/katello/version.rb +1 -1
- data/locale/action_names.rb +47 -41
- data/locale/bn/LC_MESSAGES/katello.mo +0 -0
- data/locale/bn/katello.po +820 -106
- data/locale/bn/katello.po.time_stamp +0 -0
- data/locale/cs/LC_MESSAGES/katello.mo +0 -0
- data/locale/cs/katello.po +818 -104
- data/locale/cs/katello.po.time_stamp +0 -0
- data/locale/de/LC_MESSAGES/katello.mo +0 -0
- data/locale/de/katello.po +893 -179
- data/locale/de/katello.po.time_stamp +0 -0
- data/locale/en/LC_MESSAGES/katello.mo +0 -0
- data/locale/en/katello.po +817 -103
- data/locale/en/katello.po.time_stamp +0 -0
- data/locale/es/LC_MESSAGES/katello.mo +0 -0
- data/locale/es/katello.po +882 -168
- data/locale/es/katello.po.time_stamp +0 -0
- data/locale/fr/LC_MESSAGES/katello.mo +0 -0
- data/locale/fr/katello.po +1219 -505
- data/locale/fr/katello.po.time_stamp +0 -0
- data/locale/gu/LC_MESSAGES/katello.mo +0 -0
- data/locale/gu/katello.po +826 -112
- data/locale/gu/katello.po.time_stamp +0 -0
- data/locale/hi/LC_MESSAGES/katello.mo +0 -0
- data/locale/hi/katello.po +826 -112
- data/locale/hi/katello.po.time_stamp +0 -0
- data/locale/it/LC_MESSAGES/katello.mo +0 -0
- data/locale/it/katello.po +863 -148
- data/locale/it/katello.po.time_stamp +0 -0
- data/locale/ja/LC_MESSAGES/katello.mo +0 -0
- data/locale/ja/katello.po +1216 -499
- data/locale/ja/katello.po.time_stamp +0 -0
- data/locale/katello.pot +3847 -2507
- data/locale/kn/LC_MESSAGES/katello.mo +0 -0
- data/locale/kn/katello.po +826 -112
- data/locale/kn/katello.po.time_stamp +0 -0
- data/locale/ko/LC_MESSAGES/katello.mo +0 -0
- data/locale/ko/katello.po +912 -198
- data/locale/ko/katello.po.time_stamp +0 -0
- data/locale/mr/LC_MESSAGES/katello.mo +0 -0
- data/locale/mr/katello.po +826 -112
- data/locale/mr/katello.po.time_stamp +0 -0
- data/locale/or/LC_MESSAGES/katello.mo +0 -0
- data/locale/or/katello.po +826 -112
- data/locale/or/katello.po.time_stamp +0 -0
- data/locale/pa/LC_MESSAGES/katello.mo +0 -0
- data/locale/pa/katello.po +826 -112
- data/locale/pa/katello.po.time_stamp +0 -0
- data/locale/pt/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt/katello.po +817 -103
- data/locale/pt/katello.po.time_stamp +0 -0
- data/locale/pt_BR/LC_MESSAGES/katello.mo +0 -0
- data/locale/pt_BR/katello.po +879 -165
- data/locale/pt_BR/katello.po.time_stamp +0 -0
- data/locale/ru/LC_MESSAGES/katello.mo +0 -0
- data/locale/ru/katello.po +927 -213
- data/locale/ru/katello.po.time_stamp +0 -0
- data/locale/ta/LC_MESSAGES/katello.mo +0 -0
- data/locale/ta/katello.po +820 -106
- data/locale/ta/katello.po.time_stamp +0 -0
- data/locale/te/LC_MESSAGES/katello.mo +0 -0
- data/locale/te/katello.po +826 -112
- data/locale/te/katello.po.time_stamp +0 -0
- data/locale/zh_CN/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_CN/katello.po +1202 -486
- data/locale/zh_CN/katello.po.time_stamp +0 -0
- data/locale/zh_TW/LC_MESSAGES/katello.mo +0 -0
- data/locale/zh_TW/katello.po +856 -142
- data/locale/zh_TW/katello.po.time_stamp +0 -0
- data/webpack/components/EditableTextInput/EditableTextInput.js +20 -5
- data/webpack/components/Errata/index.js +38 -8
- data/webpack/components/Packages/index.js +1 -4
- data/webpack/components/Search/Search.js +18 -3
- data/webpack/components/SelectAllCheckbox/index.js +1 -0
- data/webpack/components/SelectableDropdown/SelectableDropdown.js +4 -2
- data/webpack/components/Table/EmptyStateMessage.js +21 -7
- data/webpack/components/Table/MainTable.js +29 -4
- data/webpack/components/Table/TableHooks.js +63 -19
- data/webpack/components/Table/TableWrapper.js +4 -2
- data/webpack/components/Table/components/SortableColumnHeaders.js +19 -0
- data/webpack/components/Table/components/TranslatedPlural.js +57 -0
- data/webpack/components/TypeAhead/TypeAhead.js +8 -0
- data/webpack/components/TypeAhead/pf4Search/TypeAheadInput.js +13 -11
- data/webpack/components/TypeAhead/pf4Search/TypeAheadSearch.js +5 -2
- data/webpack/components/extensions/HostDetails/ActionsBar/index.js +27 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ChangeHostCVModal.js +256 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/ContentViewDetailsCard.js +202 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/HostContentViewActions.js +19 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/HostContentViewConstants.js +2 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/changeHostCVModal.test.js +131 -0
- data/webpack/components/extensions/HostDetails/Cards/{__tests__ → ContentViewDetailsCard/__tests__}/contentViewDetailsCard.test.js +22 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/contentViews.fixtures.json +443 -0
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard/__tests__/envPaths.fixtures.json +320 -0
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.js +57 -33
- data/webpack/components/extensions/HostDetails/Cards/ErrataOverviewCard.scss +3 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsActions.js +30 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsCard.js +187 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsConstants.js +7 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsModal.js +227 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/HostCollectionsSelectors.js +18 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/availableHostCollections.fixtures.json +106 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsCard.test.js +110 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/hostCollectionsModal.test.js +235 -0
- data/webpack/components/extensions/HostDetails/Cards/HostCollectionsCard/__tests__/removableHostCollections.fixtures.json +45 -0
- data/webpack/components/extensions/HostDetails/Cards/__tests__/errataOverviewCard.test.js +33 -8
- data/webpack/components/extensions/HostDetails/DetailsTabCards/InstalledProductsCard.js +44 -0
- data/webpack/components/extensions/HostDetails/DetailsTabCards/RegistrationCard.js +107 -0
- data/webpack/components/extensions/HostDetails/DetailsTabCards/SystemPropertiesCardExtensions.js +38 -0
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/ErrataTab.js +62 -39
- data/webpack/components/extensions/HostDetails/Tabs/ErrataTab/HostErrataActions.js +1 -7
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsActions.js +1 -3
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsConstants.js +28 -0
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/ModuleStreamsTab.js +486 -116
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/__tests__/moduleStreamsTab.test.js +147 -1
- data/webpack/components/extensions/HostDetails/Tabs/ModuleStreamsTab/__tests__/modules.fixtures.json +6 -3
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/HostPackagesActions.js +1 -7
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackageInstallModal.js +2 -1
- data/webpack/components/extensions/HostDetails/Tabs/PackagesTab/PackagesTab.js +48 -19
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionActions.js +35 -47
- data/webpack/components/extensions/HostDetails/Tabs/RemoteExecutionConstants.js +1 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsActions.js +33 -54
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsConstants.js +20 -0
- data/webpack/components/extensions/HostDetails/Tabs/RepositorySetsTab/RepositorySetsTab.js +269 -132
- data/webpack/components/extensions/HostDetails/Tabs/TracesTab/TracesTab.js +47 -11
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/errataTab.test.js +30 -42
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/packagesTab.test.js +36 -1
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/repositorySetsTab.test.js +94 -46
- data/webpack/components/extensions/HostDetails/Tabs/__tests__/tracesTab.test.js +18 -2
- data/webpack/components/extensions/HostDetails/Tabs/customizedRexUrlHelpers.js +6 -0
- data/webpack/containers/Application/config.js +5 -0
- data/webpack/global_index.js +30 -7
- data/webpack/global_test_setup.js +13 -0
- data/webpack/redux/actions/RedHatRepositories/enabled.js +2 -1
- data/webpack/redux/actions/RedHatRepositories/helpers.js +9 -8
- data/webpack/scenes/AlternateContentSources/ACSActions.js +53 -0
- data/webpack/scenes/AlternateContentSources/ACSConstants.js +4 -0
- data/webpack/scenes/AlternateContentSources/ACSIndexPage.js +23 -0
- data/webpack/scenes/AlternateContentSources/ACSSelectors.js +15 -0
- data/webpack/scenes/AlternateContentSources/MainTable/ACSTable.js +152 -0
- data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsIndex.fixtures.json +91 -0
- data/webpack/scenes/AlternateContentSources/MainTable/__tests__/acsTable.test.js +67 -0
- data/webpack/scenes/AlternateContentSources/index.js +4 -0
- data/webpack/scenes/Content/Details/ContentRepositories.js +1 -0
- data/webpack/scenes/Content/Table/ContentTable.js +1 -0
- data/webpack/scenes/ContentViews/ContentViewsActions.js +6 -2
- data/webpack/scenes/ContentViews/ContentViewsConstants.js +11 -3
- data/webpack/scenes/ContentViews/Copy/CopyContentViewForm.js +2 -1
- data/webpack/scenes/ContentViews/Create/ContentViewFormComponents.js +10 -1
- data/webpack/scenes/ContentViews/Create/CreateContentViewForm.js +4 -3
- data/webpack/scenes/ContentViews/Create/__tests__/createContentView.test.js +1 -1
- data/webpack/scenes/ContentViews/Delete/ContentViewDeleteWizard.js +7 -5
- data/webpack/scenes/ContentViews/Delete/Steps/CVDeletionFinish.js +29 -21
- data/webpack/scenes/ContentViews/Delete/__tests__/contentViewDelete.test.js +15 -8
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewAddModal.js +3 -3
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ComponentContentViewBulkAddModal.js +4 -4
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/ContentViewComponents.js +3 -1
- data/webpack/scenes/ContentViews/Details/ComponentContentViews/__tests__/contentViewComponents.test.js +4 -4
- data/webpack/scenes/ContentViews/Details/ContentViewDetailActions.js +34 -8
- data/webpack/scenes/ContentViews/Details/ContentViewDetailSelectors.js +33 -29
- data/webpack/scenes/ContentViews/Details/ContentViewDetails.js +130 -79
- data/webpack/scenes/ContentViews/Details/ContentViewInfo.js +17 -3
- data/webpack/scenes/ContentViews/Details/Filters/Add/CVFilterAddModal.js +2 -1
- data/webpack/scenes/ContentViews/Details/Filters/AffectedRepositories/AffectedRepositoryTable.js +2 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVContainerImageFilterContent.js +6 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataDateFilterContent.js +41 -21
- data/webpack/scenes/ContentViews/Details/Filters/CVErrataIDFilterContent.js +38 -20
- data/webpack/scenes/ContentViews/Details/Filters/CVModuleStreamFilterContent.js +2 -0
- data/webpack/scenes/ContentViews/Details/Filters/CVPackageGroupFilterContent.js +8 -1
- data/webpack/scenes/ContentViews/Details/Filters/CVRpmFilterContent.js +9 -1
- data/webpack/scenes/ContentViews/Details/Filters/ContentViewFilters.js +2 -1
- data/webpack/scenes/ContentViews/Details/Filters/MatchContentModal/CVRpmMatchContentModal.js +1 -0
- data/webpack/scenes/ContentViews/Details/Filters/Rules/ContainerTag/AddEditContainerTagRuleModal.js +27 -12
- data/webpack/scenes/ContentViews/Details/Filters/Rules/Package/AddEditPackageRuleModal.js +39 -17
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVContainerImageFilterContent.test.js +27 -10
- data/webpack/scenes/ContentViews/Details/Filters/__tests__/CVRpmFilterContent.test.js +46 -23
- data/webpack/scenes/ContentViews/Details/Histories/ContentViewHistories.js +3 -2
- data/webpack/scenes/ContentViews/Details/Promote/ContentViewVersionPromote.js +5 -2
- data/webpack/scenes/ContentViews/Details/Repositories/ContentViewRepositories.js +161 -108
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewAddRemove.test.js +7 -7
- data/webpack/scenes/ContentViews/Details/Repositories/__tests__/contentViewRepoAdd.fixture.json +1 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/ActionSummary.js +58 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteContextWrapper.js +45 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteHelpers.js +30 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/BulkDeleteModal.js +56 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ConfirmBulkDelete.js +126 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/FinishBulkDelete.js +61 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignActivationKeys.js +196 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReassignHosts.js +220 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/Steps/ReviewEnvironments.js +104 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/BulkDeleteModal.test.js +122 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/BulkDeleteVersions.fixtures.json +600 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/contentView.fixtures.json +1504 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/contentViewVersion.fixtures.json +936 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/environmentPaths.fixtures.json +261 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/__tests__/hosts.fixtures.json +163 -0
- data/webpack/scenes/ContentViews/Details/Versions/BulkDelete/bulkDeleteSteps.js +79 -0
- data/webpack/scenes/ContentViews/Details/Versions/ContentViewVersions.js +192 -167
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveCVVersionWizard.js +2 -5
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionDeleteFinish.js +38 -53
- data/webpack/scenes/ContentViews/Details/Versions/Delete/RemoveSteps/CVVersionRemoveReview.js +1 -1
- data/webpack/scenes/ContentViews/Details/Versions/Delete/__tests__/cvVersionRemove.test.js +6 -12
- data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedActivationKeys.js +1 -0
- data/webpack/scenes/ContentViews/Details/Versions/Delete/affectedHosts.js +1 -0
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailConfig.js +1 -0
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetails.js +8 -20
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsHeader.js +23 -13
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/ContentViewVersionDetailsTable.js +3 -0
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.fixtures.json +4 -4
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetails.test.js +0 -3
- data/webpack/scenes/ContentViews/Details/Versions/VersionDetails/__tests__/ContentViewVersionDetailsEmpty.test.js +4 -4
- data/webpack/scenes/ContentViews/Details/Versions/__tests__/contentViewVersions.test.js +12 -14
- data/webpack/scenes/ContentViews/Details/__tests__/contentViewDetails.fixtures.json +1 -0
- data/webpack/scenes/ContentViews/Publish/CVPublishFinish.js +96 -117
- data/webpack/scenes/ContentViews/Publish/PublishContentViewWizard.js +13 -19
- data/webpack/scenes/ContentViews/Publish/__tests__/publishContentView.test.js +9 -20
- data/webpack/scenes/ContentViews/Table/ContentViewsTable.js +165 -148
- data/webpack/scenes/ContentViews/Table/tableDataGenerator.js +2 -0
- data/webpack/scenes/ContentViews/__tests__/contentViewPage.test.js +4 -4
- data/webpack/scenes/ContentViews/components/ContentViewIcon.js +14 -3
- data/webpack/scenes/ContentViews/components/ContentViewsCounter.js +1 -1
- data/webpack/scenes/ContentViews/components/EnvironmentLabels.js +4 -3
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.js +9 -5
- data/webpack/scenes/ContentViews/components/EnvironmentPaths/EnvironmentPaths.scss +6 -1
- data/webpack/scenes/ContentViews/components/TaskPresenter/TaskPresenter.js +40 -35
- data/webpack/scenes/ContentViews/expansions/DetailsExpansion.js +2 -2
- data/webpack/scenes/ContentViews/expansions/RelatedCompositeContentViewsModal.js +1 -1
- data/webpack/scenes/ContentViews/expansions/RelatedContentViewComponentsModal.js +4 -4
- data/webpack/scenes/ContentViews/expansions/__tests__/contentViewComponentsModal.test.js +1 -1
- data/webpack/scenes/ContentViews/helpers.js +3 -0
- data/webpack/scenes/Hosts/ChangeContentSource/helpers.js +5 -0
- data/webpack/scenes/RedHatRepositories/RedHatRepositoriesPage.js +3 -3
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/EnabledRepository.js +2 -1
- data/webpack/scenes/RedHatRepositories/components/EnabledRepository/__tests__/EnabledRepository.test.js +2 -0
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnConfigurationConstants.js +3 -3
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/CdnTypeForm.js +2 -0
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/{AirGappedTypeForm.js → ExportSyncForm.js} +7 -6
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/{UpstreamServerTypeForm.js → NetworkSyncForm.js} +15 -7
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/{AirGappedTypeForm.test.js → ExportSyncForm.test.js} +4 -4
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/__tests__/{UpstreamServerTypeForm.test.js → NetworkSyncForm.test.js} +8 -8
- data/webpack/scenes/Subscriptions/Manifest/CdnConfigurationTab/index.js +11 -11
- data/webpack/scenes/Subscriptions/SubscriptionConstants.js +1 -0
- data/webpack/scenes/Subscriptions/SubscriptionsPage.js +8 -7
- data/webpack/scenes/Tasks/TaskActions.js +6 -0
- data/webpack/scenes/Tasks/TaskSelectors.js +11 -0
- data/webpack/scenes/Tasks/helpers.js +33 -5
- data/webpack/utils/helpers.js +2 -0
- metadata +158 -40
- data/app/models/setting/content.rb +0 -201
- data/webpack/components/Table/__test__/useBulkSelect.test.js +0 -99
- data/webpack/components/extensions/HostDetails/Cards/ContentViewDetailsCard.js +0 -96
- data/webpack/scenes/ContentViews/Details/DetailsContainer.js +0 -36
@@ -1,201 +0,0 @@
|
|
1
|
-
class Setting::Content < Setting
|
2
|
-
#rubocop:disable Metrics/AbcSize
|
3
|
-
|
4
|
-
validate :content_default_http_proxy, if: proc { |s| s.name == 'content_default_http_proxy' && HttpProxy.table_exists? }
|
5
|
-
|
6
|
-
after_save :add_organizations_and_locations_if_global_http_proxy
|
7
|
-
|
8
|
-
def self.hashify_parameters(parameters)
|
9
|
-
Hash[parameters.map { |p| [p, p] }]
|
10
|
-
end
|
11
|
-
|
12
|
-
def self.default_settings
|
13
|
-
download_policies = proc { hashify_parameters(::Katello::RootRepository::DOWNLOAD_POLICIES) }
|
14
|
-
|
15
|
-
proxy_download_policies = proc { hashify_parameters(::SmartProxy::DOWNLOAD_POLICIES) }
|
16
|
-
cdn_ssl_versions = proc { hashify_parameters(Katello::Resources::CDN::SUPPORTED_SSL_VERSIONS) }
|
17
|
-
http_proxy_select = [{
|
18
|
-
name: _("HTTP Proxies"),
|
19
|
-
class: 'HttpProxy',
|
20
|
-
scope: 'all',
|
21
|
-
value_method: 'name',
|
22
|
-
text_method: 'name_and_url'
|
23
|
-
}]
|
24
|
-
|
25
|
-
[
|
26
|
-
self.set('content_default_http_proxy', N_("Default HTTP Proxy for syncing content"),
|
27
|
-
nil, N_('Default HTTP proxy'),
|
28
|
-
nil,
|
29
|
-
collection: proc { http_proxy_select }, include_blank: N_("no global default")
|
30
|
-
),
|
31
|
-
self.set('cdn_ssl_version', N_("SSL version used to communicate with the CDN"),
|
32
|
-
nil, N_('CDN SSL version'), nil,
|
33
|
-
:collection => cdn_ssl_versions),
|
34
|
-
self.set('katello_default_provision', N_("Default provisioning template for Operating Systems created from synced content"),
|
35
|
-
'Kickstart default', N_('Default synced OS provisioning template'),
|
36
|
-
nil, :collection => proc { katello_template_setting_values("provision") }
|
37
|
-
),
|
38
|
-
self.set('katello_default_finish',
|
39
|
-
N_("Default finish template for new Operating Systems created from synced content"),
|
40
|
-
'Kickstart default finish', N_('Default synced OS finish template'),
|
41
|
-
nil, :collection => proc { katello_template_setting_values("finish") }
|
42
|
-
),
|
43
|
-
self.set('katello_default_user_data', N_("Default user data for new Operating Systems created from synced content"),
|
44
|
-
'Kickstart default user data', N_('Default synced OS user-data'),
|
45
|
-
nil, :collection => proc { katello_template_setting_values("user_data") }
|
46
|
-
),
|
47
|
-
self.set('katello_default_PXELinux', N_("Default PXELinux template for new Operating Systems created from synced content"),
|
48
|
-
'Kickstart default PXELinux', N_('Default synced OS PXELinux template'),
|
49
|
-
nil, :collection => proc { katello_template_setting_values("PXELinux") }
|
50
|
-
),
|
51
|
-
self.set('katello_default_PXEGrub', N_("Default PXEGrub template for new Operating Systems created from synced content"),
|
52
|
-
'Kickstart default PXEGrub', N_('Default synced OS PXEGrub template'),
|
53
|
-
nil, :collection => proc { katello_template_setting_values("PXEGrub") }
|
54
|
-
),
|
55
|
-
self.set('katello_default_PXEGrub2', N_("Default PXEGrub2 template for new Operating Systems created from synced content"),
|
56
|
-
'Kickstart default PXEGrub2', N_('Default synced OS PXEGrub2 template'),
|
57
|
-
nil, :collection => proc { katello_template_setting_values("PXEGrub2") }
|
58
|
-
),
|
59
|
-
self.set('katello_default_iPXE', N_("Default iPXE template for new Operating Systems created from synced content"),
|
60
|
-
'Kickstart default iPXE', N_('Default synced OS iPXE template'),
|
61
|
-
nil, :collection => proc { katello_template_setting_values("iPXE") }
|
62
|
-
),
|
63
|
-
self.set('katello_default_ptable', N_("Default partitioning table for new Operating Systems created from synced content"),
|
64
|
-
'Kickstart default', N_('Default synced OS partition table'),
|
65
|
-
nil, :collection => proc { Hash[Template.all.where(:type => "Ptable").map { |tmp| [tmp[:name], tmp[:name]] }] }
|
66
|
-
), self.set('katello_default_kexec', N_("Default kexec template for new Operating Systems created from synced content"), 'Discovery Red Hat kexec', N_('Default synced OS kexec template'),
|
67
|
-
nil, :collection => proc { katello_template_setting_values("kexec") }
|
68
|
-
),
|
69
|
-
self.set('katello_default_atomic_provision', N_("Default provisioning template for new Atomic Operating Systems created from synced content"),
|
70
|
-
'Atomic Kickstart default', N_('Default synced OS Atomic template'),
|
71
|
-
nil, :collection => proc { katello_template_setting_values("provision") }
|
72
|
-
),
|
73
|
-
self.set('manifest_refresh_timeout', N_('Timeout when refreshing a manifest (in seconds)'), 60 * 20, N_("Manifest refresh timeout")),
|
74
|
-
self.set('content_action_accept_timeout', N_("Time in seconds to wait for a Host to pickup a remote action"),
|
75
|
-
20, N_('Accept action timeout')),
|
76
|
-
self.set('content_action_finish_timeout', N_("Time in seconds to wait for a Host to finish a remote action"),
|
77
|
-
3600, N_('Finish action timeout')),
|
78
|
-
self.set('subscription_connection_enabled', N_("Can communicate with the Red Hat Portal for subscriptions."),
|
79
|
-
true, N_('Subscription connection enabled')),
|
80
|
-
self.set('errata_status_installable', N_("Calculate errata host status based only on errata in a Host's Content View and Lifecycle Environment"),
|
81
|
-
false, N_('Installable errata from Content View')),
|
82
|
-
self.set('restrict_composite_view', N_("If this is enabled, a composite content view may not be published or "\
|
83
|
-
"promoted, unless the component content view versions that it includes exist in the target environment."),
|
84
|
-
false, N_('Restrict Composite Content View promotion')),
|
85
|
-
self.set('check_services_before_actions', N_("Whether or not to check the status of backend services such as pulp and candlepin prior to performing some actions."),
|
86
|
-
true, N_('Check services before actions')),
|
87
|
-
self.set('foreman_proxy_content_batch_size', N_("How many repositories should be synced concurrently on the capsule. A smaller number may lead to longer sync times. A larger number will increase dynflow load."),
|
88
|
-
100, N_('Batch size to sync repositories in.')),
|
89
|
-
self.set('foreman_proxy_content_auto_sync', N_("Whether or not to auto sync the Smart Proxies after a Content View promotion."),
|
90
|
-
true, N_('Sync Smart Proxies after Content View promotion')),
|
91
|
-
self.set('download_rate_limit', N_("Maximum download rate when syncing a repository (requests per second). Use 0 for no limit."), 0, N_("Download rate limit")),
|
92
|
-
self.set('default_download_policy', N_("Default download policy for custom repositories (either 'immediate' or 'on_demand')"), "immediate",
|
93
|
-
N_('Default Custom Repository download policy'), nil, :collection => download_policies),
|
94
|
-
self.set('default_redhat_download_policy', N_("Default download policy for enabled Red Hat repositories (either 'immediate' or 'on_demand')"), "on_demand",
|
95
|
-
N_('Default Red Hat Repository download policy'), nil, :collection => download_policies),
|
96
|
-
self.set('default_proxy_download_policy', N_("Default download policy for Smart Proxy syncs (either 'inherit', immediate', or 'on_demand')"), "on_demand",
|
97
|
-
N_('Default Smart Proxy download policy'), nil, :collection => proxy_download_policies),
|
98
|
-
self.set('pulp_docker_registry_port', N_("The port used by Pulp Crane to provide Docker Registries"),
|
99
|
-
5000, N_('Pulp Docker registry port')),
|
100
|
-
self.set('pulp_export_destination', N_("On-disk location for exported repositories"),
|
101
|
-
"/var/lib/pulp/katello-export", N_('Pulp export destination filepath')),
|
102
|
-
self.set('pulpcore_export_destination', N_("On-disk location for pulp 3 exported repositories"),
|
103
|
-
"/var/lib/pulp/exports", N_('Pulp 3 export destination filepath')),
|
104
|
-
self.set('pulp_client_key', N_("Path for ssl key used for pulp server auth"),
|
105
|
-
"/etc/pki/katello/private/pulp-client.key", N_('Pulp client key')),
|
106
|
-
self.set('pulp_client_cert', N_("Path for ssl cert used for pulp server auth"),
|
107
|
-
"/etc/pki/katello/certs/pulp-client.crt", N_('Pulp client cert')),
|
108
|
-
self.set('sync_total_timeout', N_("The maximum number of second that Pulp can take to do a single sync operation, e.g., download a single metadata file."),
|
109
|
-
3600, N_('Sync Total Timeout')),
|
110
|
-
self.set('sync_connect_timeout_v2',
|
111
|
-
N_("The maximum number of seconds for Pulp to establish a new connection or for waiting for a free connection from a pool if pool connection limits are exceeded."),
|
112
|
-
60, N_('Sync Connect Timeout')),
|
113
|
-
self.set('sync_sock_connect_timeout', N_("The maximum number of seconds for Pulp to connect to a peer for a new connection not given from a pool."),
|
114
|
-
60, N_('Sync Sock Connect Timeout')),
|
115
|
-
self.set('sync_sock_read_timeout', N_("The maximum number of seconds that Pulp can take to download a file, not counting connection time."),
|
116
|
-
3600, N_('Sync Sock Read Timeout')),
|
117
|
-
self.set('remote_execution_by_default', N_("If this is enabled, remote execution is used instead of katello-agent for remote actions"),
|
118
|
-
false, N_('Use remote execution by default')),
|
119
|
-
self.set('unregister_delete_host', N_("When unregistering a host via subscription-manager, also delete the host record. Managed resources linked to host " \
|
120
|
-
"such as virtual machines and DNS records may also be deleted."),
|
121
|
-
false, N_('Delete Host upon unregister')),
|
122
|
-
self.set('register_hostname_fact', N_("When registering a host via subscription-manager, force use the specified fact (in the form of 'fact.fact')"),
|
123
|
-
'', N_('Subscription manager name registration fact'), nil),
|
124
|
-
self.set('register_hostname_fact_strict_match', N_('If this is enabled, and register_hostname_fact is set and provided, registration will look for a new host by name only '\
|
125
|
-
'using that fact, and will skip all hostname matching'), false, N_('Subscription manager name registration fact strict matching'), nil),
|
126
|
-
self.set('default_location_subscribed_hosts',
|
127
|
-
N_('Default Location where new subscribed hosts will put upon registration'),
|
128
|
-
nil, N_('Default Location subscribed hosts'), nil,
|
129
|
-
:collection => proc { Hash[Location.unscoped.all.map { |loc| [loc[:title], loc[:title]] }] }),
|
130
|
-
self.set('expire_soon_days', N_('The number of days remaining in a subscription before you will be reminded about renewing it.'),
|
131
|
-
120, N_('Expire soon days')),
|
132
|
-
self.set('content_view_solve_dependencies',
|
133
|
-
N_('The default dependency solving value for new Content Views.'),
|
134
|
-
false, N_('Content View Dependency Solving Default')),
|
135
|
-
self.set('host_dmi_uuid_duplicates',
|
136
|
-
N_("If hosts fail to register because of duplicate DMI UUIDs " \
|
137
|
-
"add their comma-separated values here. Subsequent registrations will generate a unique DMI UUID for the affected hosts."),
|
138
|
-
[], N_('Host Duplicate DMI UUIDs')),
|
139
|
-
self.set('host_profile_assume', N_("Allow new Host registrations to assume registered profiles with matching hostname " \
|
140
|
-
"as long as the registering DMI UUID is not used by another host."),
|
141
|
-
true, N_('Host Profile Assume')),
|
142
|
-
self.set('host_profile_assume_build_can_change', N_("Allow Host registrations to bypass 'Host Profile Assume' " \
|
143
|
-
"as long as the host is in build mode."),
|
144
|
-
false, N_('Host Profile Can Change In Build')),
|
145
|
-
self.set('host_re_register_build_only', N_("Allow hosts to re-register themselves only when they are in build mode"),
|
146
|
-
false, N_('Host Can Re-Register Only In Build')),
|
147
|
-
self.set('host_tasks_workers_pool_size', N_("Amount of workers in the pool to handle the execution of host-related tasks. When set to 0, the default queue will be used instead. Restart of the dynflowd/foreman-tasks service is required."),
|
148
|
-
5, N_('Host Tasks Workers Pool Size')),
|
149
|
-
self.set('applicability_batch_size', N_("Number of host applicability calculations to process per task."),
|
150
|
-
50, N_('Applicability Batch Size')),
|
151
|
-
self.set('autosearch_while_typing', N_('For pages that support it, automatically perform search while typing in search input.'),
|
152
|
-
true, N_('Autosearch')),
|
153
|
-
self.set('autosearch_delay', N_('If Autosearch is enabled, delay in milliseconds before executing searches while typing.'),
|
154
|
-
500, N_('Autosearch delay')),
|
155
|
-
self.set('bulk_load_size', N_('The number of items fetched from a single paged Pulp API call.'), 2000,
|
156
|
-
N_('Pulp bulk load size')),
|
157
|
-
self.set('upload_profiles_without_dynflow', N_('Allow Katello to update host installed packages, enabled repos, and module inventory directly instead of wrapped in Dynflow tasks (try turning off if Puma processes are using too much memory)'), true,
|
158
|
-
N_('Upload profiles without Dynflow')),
|
159
|
-
self.set('orphan_protection_time', N_('Time in minutes to consider orphan content as orphaned.'), 1440, N_('Orphaned Content Protection Time')),
|
160
|
-
self.set('remote_execution_prefer_registered_through_proxy', N_('Prefer using a proxy to which a host is registered when using remote execution'), false,
|
161
|
-
N_('Prefer registered through proxy for remote execution'))
|
162
|
-
]
|
163
|
-
end
|
164
|
-
|
165
|
-
def self.load_defaults
|
166
|
-
BLANK_ATTRS.concat %w(register_hostname_fact default_location_subscribed_hosts
|
167
|
-
content_default_http_proxy host_dmi_uuid_duplicates cdn_ssl_version)
|
168
|
-
super
|
169
|
-
end
|
170
|
-
|
171
|
-
def self.katello_template_setting_values(name)
|
172
|
-
templates = ProvisioningTemplate.where(:template_kind => TemplateKind.where(:name => name))
|
173
|
-
templates.each_with_object({}) { |tmpl, hash| hash[tmpl.name] = tmpl.name }
|
174
|
-
end
|
175
|
-
|
176
|
-
def add_organizations_and_locations_if_global_http_proxy
|
177
|
-
if name == 'content_default_http_proxy' && (::HttpProxy.table_exists? rescue(false))
|
178
|
-
proxy = HttpProxy.where(name: value).first
|
179
|
-
|
180
|
-
if proxy
|
181
|
-
proxy.update_attribute(:organizations, Organization.unscoped.all)
|
182
|
-
proxy.update_attribute(:locations, Location.unscoped.all)
|
183
|
-
end
|
184
|
-
end
|
185
|
-
end
|
186
|
-
|
187
|
-
def content_default_http_proxy
|
188
|
-
proxy = HttpProxy.where(name: value).first
|
189
|
-
return if proxy || value.blank?
|
190
|
-
|
191
|
-
errors.add(:base, _('There is no such HTTP proxy'))
|
192
|
-
end
|
193
|
-
end
|
194
|
-
|
195
|
-
# If the database is not migrated yet, the system will not be able to load
|
196
|
-
# since setting initializers will try to load old class. Let it have the class and remove it
|
197
|
-
# later.
|
198
|
-
if Setting.where(category: 'Setting::Katello').count > 0
|
199
|
-
class Setting::Katello < Setting
|
200
|
-
end
|
201
|
-
end
|
@@ -1,99 +0,0 @@
|
|
1
|
-
import { act, renderHook } from '@testing-library/react-hooks';
|
2
|
-
import { useBulkSelect } from '../TableHooks';
|
3
|
-
|
4
|
-
const isSelectable = () => true;
|
5
|
-
const idColumn = 'errata_id';
|
6
|
-
const metadata = {
|
7
|
-
error: null, selectable: 2, subtotal: 2, total: 2,
|
8
|
-
};
|
9
|
-
const results = [
|
10
|
-
{
|
11
|
-
errata_id: 'RHSA-2022:2031',
|
12
|
-
id: 311,
|
13
|
-
severity: 'Low',
|
14
|
-
type: 'security',
|
15
|
-
},
|
16
|
-
{
|
17
|
-
errata_id: 'RHSA-2022:2110',
|
18
|
-
id: 17,
|
19
|
-
severity: 'Low',
|
20
|
-
type: 'security',
|
21
|
-
},
|
22
|
-
];
|
23
|
-
|
24
|
-
it('returns a scoped search string based on inclusionSet', () => {
|
25
|
-
const { result } = renderHook(() => useBulkSelect({
|
26
|
-
results,
|
27
|
-
metadata,
|
28
|
-
idColumn,
|
29
|
-
isSelectable,
|
30
|
-
}));
|
31
|
-
|
32
|
-
act(() => {
|
33
|
-
result.current.selectOne(true, 'RHSA-2022:2031');
|
34
|
-
});
|
35
|
-
|
36
|
-
expect(result.current.fetchBulkParams()).toBe('errata_id ^ (RHSA-2022:2031)');
|
37
|
-
});
|
38
|
-
|
39
|
-
it('returns a scoped search string based on exclusionSet', () => {
|
40
|
-
const { result } = renderHook(() => useBulkSelect({
|
41
|
-
results,
|
42
|
-
metadata,
|
43
|
-
idColumn,
|
44
|
-
isSelectable,
|
45
|
-
}));
|
46
|
-
|
47
|
-
act(() => {
|
48
|
-
result.current.selectAll(true);
|
49
|
-
});
|
50
|
-
|
51
|
-
act(() => {
|
52
|
-
result.current.selectOne(false, 'RHSA-2022:2031');
|
53
|
-
});
|
54
|
-
|
55
|
-
expect(result.current.fetchBulkParams()).toBe('errata_id !^ (RHSA-2022:2031)');
|
56
|
-
});
|
57
|
-
|
58
|
-
it('adds search query to scoped search string based on exclusionSet', () => {
|
59
|
-
const { result } = renderHook(() => useBulkSelect({
|
60
|
-
results,
|
61
|
-
metadata,
|
62
|
-
idColumn,
|
63
|
-
isSelectable,
|
64
|
-
}));
|
65
|
-
|
66
|
-
act(() => {
|
67
|
-
result.current.updateSearchQuery('type=security');
|
68
|
-
});
|
69
|
-
|
70
|
-
act(() => {
|
71
|
-
result.current.selectAll(true);
|
72
|
-
});
|
73
|
-
|
74
|
-
act(() => {
|
75
|
-
result.current.selectOne(false, 'RHSA-2022:2031');
|
76
|
-
});
|
77
|
-
|
78
|
-
expect(result.current.fetchBulkParams()).toBe('type=security and errata_id !^ (RHSA-2022:2031)');
|
79
|
-
});
|
80
|
-
|
81
|
-
it('adds filter dropdown query to scoped search string', () => {
|
82
|
-
const { result } = renderHook(() => useBulkSelect({
|
83
|
-
results,
|
84
|
-
metadata,
|
85
|
-
idColumn,
|
86
|
-
isSelectable,
|
87
|
-
filtersQuery: 'severity=Low',
|
88
|
-
}));
|
89
|
-
|
90
|
-
act(() => {
|
91
|
-
result.current.selectAll(true);
|
92
|
-
});
|
93
|
-
|
94
|
-
act(() => {
|
95
|
-
result.current.selectOne(false, 'RHSA-2022:2031');
|
96
|
-
});
|
97
|
-
|
98
|
-
expect(result.current.fetchBulkParams()).toBe('severity=Low and errata_id !^ (RHSA-2022:2031)');
|
99
|
-
});
|
@@ -1,96 +0,0 @@
|
|
1
|
-
import React from 'react';
|
2
|
-
import {
|
3
|
-
Card,
|
4
|
-
CardHeader,
|
5
|
-
CardTitle,
|
6
|
-
CardBody,
|
7
|
-
Flex,
|
8
|
-
FlexItem,
|
9
|
-
GridItem,
|
10
|
-
Label,
|
11
|
-
} from '@patternfly/react-core';
|
12
|
-
|
13
|
-
import { urlBuilder } from 'foremanReact/common/urlHelpers';
|
14
|
-
import { translate as __ } from 'foremanReact/common/I18n';
|
15
|
-
import { propsToCamelCase } from 'foremanReact/common/helpers';
|
16
|
-
import PropTypes from 'prop-types';
|
17
|
-
import ContentViewIcon from '../../../../scenes/ContentViews/components/ContentViewIcon';
|
18
|
-
import { hostIsRegistered } from '../hostDetailsHelpers';
|
19
|
-
|
20
|
-
const HostContentViewDetails = ({
|
21
|
-
contentView, lifecycleEnvironment, contentViewVersionId,
|
22
|
-
contentViewVersion, contentViewVersionLatest,
|
23
|
-
}) => {
|
24
|
-
let versionLabel = `Version ${contentViewVersion}`;
|
25
|
-
if (contentViewVersionLatest) {
|
26
|
-
versionLabel += ' (latest)';
|
27
|
-
}
|
28
|
-
|
29
|
-
return (
|
30
|
-
<GridItem rowSpan={1} md={6} lg={4} xl2={3} >
|
31
|
-
<Card isHoverable>
|
32
|
-
<CardHeader>
|
33
|
-
<CardTitle>{__('Content view details')}</CardTitle>
|
34
|
-
</CardHeader>
|
35
|
-
<CardBody>
|
36
|
-
<Flex direction={{ default: 'column' }}>
|
37
|
-
<Flex
|
38
|
-
direction={{ default: 'row', sm: 'row' }}
|
39
|
-
flexWrap={{ default: 'nowrap' }}
|
40
|
-
alignItems={{ default: 'alignItemsCenter', sm: 'alignItemsCenter' }}
|
41
|
-
>
|
42
|
-
<ContentViewIcon composite={contentView.composite} style={{ marginRight: '2px' }} />
|
43
|
-
<h3>{__('Content view')}</h3>
|
44
|
-
</Flex>
|
45
|
-
<Flex direction={{ default: 'row', sm: 'row' }} flexWrap={{ default: 'wrap' }}>
|
46
|
-
<a style={{ fontSize: '14px' }} href={`/content_views/${contentView.id}`}>{`${contentView.name}`}</a>
|
47
|
-
<Label isTruncated color="purple" href={`/lifecycle_environments/${lifecycleEnvironment.id}`}>{`${lifecycleEnvironment.name}`}</Label>
|
48
|
-
</Flex>
|
49
|
-
</Flex>
|
50
|
-
<Flex direction={{ default: 'column' }}>
|
51
|
-
<FlexItem>
|
52
|
-
<h3>{__('Version in use')}</h3>
|
53
|
-
<a style={{ fontSize: '14px' }} href={urlBuilder(`content_views/${contentView.id}/versions/${contentViewVersionId}`, '')}>
|
54
|
-
{versionLabel}
|
55
|
-
</a>
|
56
|
-
</FlexItem>
|
57
|
-
</Flex>
|
58
|
-
</CardBody>
|
59
|
-
</Card>
|
60
|
-
</GridItem>
|
61
|
-
);
|
62
|
-
};
|
63
|
-
|
64
|
-
const ContentViewDetailsCard = ({ hostDetails }) => {
|
65
|
-
if (hostIsRegistered({ hostDetails }) && hostDetails.content_facet_attributes) {
|
66
|
-
return <HostContentViewDetails {...propsToCamelCase(hostDetails.content_facet_attributes)} />;
|
67
|
-
}
|
68
|
-
return null;
|
69
|
-
};
|
70
|
-
|
71
|
-
HostContentViewDetails.propTypes = {
|
72
|
-
contentView: PropTypes.shape({
|
73
|
-
name: PropTypes.string,
|
74
|
-
id: PropTypes.number,
|
75
|
-
composite: PropTypes.bool,
|
76
|
-
}).isRequired,
|
77
|
-
lifecycleEnvironment: PropTypes.shape({
|
78
|
-
name: PropTypes.string,
|
79
|
-
id: PropTypes.number,
|
80
|
-
}).isRequired,
|
81
|
-
contentViewVersionId: PropTypes.number.isRequired,
|
82
|
-
contentViewVersion: PropTypes.string.isRequired,
|
83
|
-
contentViewVersionLatest: PropTypes.bool.isRequired,
|
84
|
-
};
|
85
|
-
|
86
|
-
ContentViewDetailsCard.propTypes = {
|
87
|
-
hostDetails: PropTypes.shape({
|
88
|
-
content_facet_attributes: PropTypes.shape({}),
|
89
|
-
}),
|
90
|
-
};
|
91
|
-
|
92
|
-
ContentViewDetailsCard.defaultProps = {
|
93
|
-
hostDetails: {},
|
94
|
-
};
|
95
|
-
|
96
|
-
export default ContentViewDetailsCard;
|
@@ -1,36 +0,0 @@
|
|
1
|
-
import React, { useEffect } from 'react';
|
2
|
-
import { STATUS } from 'foremanReact/constants';
|
3
|
-
import PropTypes from 'prop-types';
|
4
|
-
import {
|
5
|
-
shallowEqual,
|
6
|
-
useDispatch,
|
7
|
-
useSelector,
|
8
|
-
} from 'react-redux';
|
9
|
-
import Loading from '../../../components/Loading';
|
10
|
-
import EmptyStateMessage from '../../../components/Table/EmptyStateMessage';
|
11
|
-
import getContentViewDetails from './ContentViewDetailActions';
|
12
|
-
import {
|
13
|
-
selectCVDetailError,
|
14
|
-
selectCVDetailStatus,
|
15
|
-
} from './ContentViewDetailSelectors';
|
16
|
-
|
17
|
-
const DetailsContainer = ({ children, cvId }) => {
|
18
|
-
const dispatch = useDispatch();
|
19
|
-
const status = useSelector(state => selectCVDetailStatus(state, cvId), shallowEqual);
|
20
|
-
const error = useSelector(state => selectCVDetailError(state, cvId), shallowEqual);
|
21
|
-
|
22
|
-
useEffect(() => {
|
23
|
-
dispatch(getContentViewDetails(cvId));
|
24
|
-
}, [cvId, dispatch]);
|
25
|
-
|
26
|
-
if (status === STATUS.PENDING) return (<Loading />);
|
27
|
-
if (status === STATUS.ERROR) return (<EmptyStateMessage error={error} />);
|
28
|
-
return (<>{children}</>);
|
29
|
-
};
|
30
|
-
|
31
|
-
DetailsContainer.propTypes = {
|
32
|
-
children: PropTypes.element.isRequired,
|
33
|
-
cvId: PropTypes.number.isRequired,
|
34
|
-
};
|
35
|
-
|
36
|
-
export default DetailsContainer;
|