katello 3.5.2 → 3.6.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of katello might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/katello/sync_management/sync_management.js +5 -2
- data/app/controllers/katello/api/rhsm/candlepin_dynflow_proxy_controller.rb +2 -0
- data/app/controllers/katello/api/rhsm/candlepin_proxies_controller.rb +35 -16
- data/app/controllers/katello/api/v2/activation_keys_controller.rb +2 -2
- data/app/controllers/katello/api/v2/content_uploads_controller.rb +2 -2
- data/app/controllers/katello/api/v2/content_view_components_controller.rb +1 -0
- data/app/controllers/katello/api/v2/content_view_filters_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_histories_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_puppet_modules_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_view_versions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/content_views_controller.rb +3 -3
- data/app/controllers/katello/api/v2/debs_controller.rb +19 -0
- data/app/controllers/katello/api/v2/docker_manifest_lists_controller.rb +20 -0
- data/app/controllers/katello/api/v2/environments_controller.rb +1 -1
- data/app/controllers/katello/api/v2/errata_controller.rb +24 -0
- data/app/controllers/katello/api/v2/file_units_controller.rb +4 -1
- data/app/controllers/katello/api/v2/gpg_keys_controller.rb +10 -4
- data/app/controllers/katello/api/v2/host_autocomplete_controller.rb +0 -1
- data/app/controllers/katello/api/v2/host_collections_controller.rb +1 -1
- data/app/controllers/katello/api/v2/host_subscriptions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +13 -5
- data/app/controllers/katello/api/v2/organizations_controller.rb +2 -1
- data/app/controllers/katello/api/v2/package_groups_controller.rb +3 -2
- data/app/controllers/katello/api/v2/products_bulk_actions_controller.rb +1 -1
- data/app/controllers/katello/api/v2/products_controller.rb +3 -3
- data/app/controllers/katello/api/v2/repositories_controller.rb +28 -12
- data/app/controllers/katello/api/v2/repository_sets_controller.rb +21 -13
- data/app/controllers/katello/api/v2/root_controller.rb +0 -1
- data/app/controllers/katello/api/v2/subscriptions_controller.rb +1 -19
- data/app/controllers/katello/api/v2/sync_plans_controller.rb +1 -1
- data/app/controllers/katello/application_controller.rb +0 -18
- data/app/controllers/katello/concerns/api/v2/hosts_controller_extensions.rb +12 -13
- data/app/controllers/katello/concerns/api/v2/repository_content_controller.rb +17 -13
- data/app/controllers/katello/concerns/containers/steps_controller_extensions.rb +39 -37
- data/app/controllers/katello/concerns/hosts_controller_extensions.rb +14 -14
- data/app/controllers/katello/concerns/organizations_controller_extensions.rb +34 -33
- data/app/controllers/katello/concerns/smart_proxies_controller_extensions.rb +18 -17
- data/app/controllers/katello/products_controller.rb +1 -1
- data/app/controllers/katello/providers_controller.rb +11 -0
- data/app/controllers/katello/react_controller.rb +9 -0
- data/app/controllers/katello/sync_management_controller.rb +1 -1
- data/app/helpers/katello/concerns/hosts_and_hostgroups_helper_extensions.rb +10 -9
- data/app/helpers/katello/concerns/settings_helper_extensions.rb +42 -33
- data/app/helpers/katello/concerns/smart_proxy_helper_extensions.rb +1 -1
- data/app/helpers/katello/hosts_and_hostgroups_helper.rb +1 -3
- data/app/helpers/katello/providers_helper.rb +2 -5
- data/app/lib/actions/candlepin/listen_on_candlepin_events.rb +5 -15
- data/app/lib/actions/katello/capsule_content/sync.rb +8 -0
- data/app/lib/actions/katello/content_view/incremental_updates.rb +1 -1
- data/app/lib/actions/katello/content_view_puppet_environment/clone.rb +2 -2
- data/app/lib/actions/katello/content_view_version/republish_repositories.rb +2 -5
- data/app/lib/actions/katello/event_queue/monitor.rb +10 -11
- data/app/lib/actions/katello/event_queue/suspended_action.rb +1 -1
- data/app/lib/actions/katello/host/register.rb +1 -1
- data/app/lib/actions/katello/host/update.rb +1 -3
- data/app/lib/actions/katello/organization/manifest_refresh.rb +1 -5
- data/app/lib/actions/katello/product/content_create.rb +11 -1
- data/app/lib/actions/katello/product/content_destroy.rb +8 -0
- data/app/lib/actions/katello/product/destroy.rb +2 -2
- data/app/lib/actions/katello/product/update.rb +0 -3
- data/app/lib/actions/katello/repository/bulk_metadata_generate.rb +15 -0
- data/app/lib/actions/katello/repository/check_matching_content.rb +10 -3
- data/app/lib/actions/katello/repository/clear.rb +4 -1
- data/app/lib/actions/katello/repository/clone_deb_content.rb +70 -0
- data/app/lib/actions/katello/repository/clone_to_environment.rb +4 -1
- data/app/lib/actions/katello/repository/clone_to_version.rb +19 -10
- data/app/lib/actions/katello/repository/clone_yum_content.rb +2 -0
- data/app/lib/actions/katello/repository/clone_yum_metadata.rb +1 -2
- data/app/lib/actions/katello/repository/create.rb +6 -2
- data/app/lib/actions/katello/repository/destroy.rb +1 -1
- data/app/lib/actions/katello/repository/export.rb +15 -0
- data/app/lib/actions/katello/repository/fetch_pxe_files.rb +49 -0
- data/app/lib/actions/katello/repository/filtered_index_content.rb +2 -0
- data/app/lib/actions/katello/repository/metadata_generate.rb +5 -1
- data/app/lib/actions/katello/repository/remove_content.rb +2 -0
- data/app/lib/actions/katello/repository/sync.rb +5 -6
- data/app/lib/actions/katello/repository/update.rb +14 -4
- data/app/lib/actions/katello/repository/upload_package_group.rb +0 -1
- data/app/lib/actions/katello/repository_set/disable_repository.rb +7 -7
- data/app/lib/actions/katello/repository_set/enable_repository.rb +17 -7
- data/app/lib/actions/katello/repository_set/scan_cdn.rb +8 -10
- data/app/lib/actions/pulp/consumer/abstract_content_action.rb +1 -1
- data/app/lib/actions/pulp/repository/copy_deb.rb +15 -0
- data/app/lib/actions/pulp/repository/copy_deb_component.rb +11 -0
- data/app/lib/actions/pulp/repository/copy_deb_release.rb +11 -0
- data/app/lib/actions/pulp/repository/copy_srpm.rb +16 -0
- data/app/lib/actions/pulp/repository/create.rb +38 -3
- data/app/lib/actions/pulp/repository/presenters/deb_presenter.rb +101 -0
- data/app/lib/actions/pulp/repository/remove_deb.rb +15 -0
- data/app/lib/actions/pulp/repository/remove_docker_blob.rb +11 -0
- data/app/lib/actions/pulp/repository/remove_docker_manifest_list.rb +11 -0
- data/app/lib/actions/pulp/repository/remove_docker_tag.rb +11 -0
- data/app/lib/actions/pulp/repository/sync.rb +2 -0
- data/app/lib/katello/api/v2/error_handling.rb +1 -1
- data/app/lib/katello/capsule_content.rb +1 -1
- data/app/lib/katello/concerns/renderer_extensions.rb +12 -10
- data/app/lib/katello/errors.rb +0 -4
- data/app/lib/katello/resources/candlepin.rb +2 -3
- data/app/lib/katello/util/cdn_var_substitutor.rb +2 -2
- data/app/lib/katello/util/docker_manifest_clause_generator.rb +1 -1
- data/app/lib/katello/util/package_clause_generator.rb +1 -1
- data/app/lib/katello/util/support.rb +1 -1
- data/app/models/katello/activation_key.rb +1 -1
- data/app/models/katello/authorization/content_view_history.rb +1 -0
- data/app/models/katello/authorization/content_view_version.rb +1 -1
- data/app/models/katello/authorization/pool.rb +2 -0
- data/app/models/katello/authorization/repository.rb +2 -0
- data/app/models/katello/candlepin/docker_repository_mapper.rb +77 -0
- data/app/models/katello/candlepin/repository_mapper.rb +143 -0
- data/app/models/katello/concerns/container_extensions.rb +14 -12
- data/app/models/katello/concerns/content_facet_host_extensions.rb +2 -2
- data/app/models/katello/concerns/docker_container_wizard_state_extensions.rb +6 -4
- data/app/models/katello/concerns/docker_container_wizard_state_image_extensions.rb +8 -6
- data/app/models/katello/concerns/host_managed_extensions.rb +2 -13
- data/app/models/katello/concerns/location_extensions.rb +5 -1
- data/app/models/katello/concerns/organization_extensions.rb +22 -1
- data/app/models/katello/concerns/pulp_database_unit.rb +26 -5
- data/app/models/katello/concerns/redhat_extensions.rb +22 -21
- data/app/models/katello/concerns/smart_proxy_extensions.rb +11 -9
- data/app/models/katello/concerns/subscription_facet_host_extensions.rb +8 -7
- data/app/models/katello/content.rb +26 -0
- data/app/models/katello/content_view.rb +18 -5
- data/app/models/katello/content_view_component.rb +1 -1
- data/app/models/katello/content_view_docker_filter.rb +15 -6
- data/app/models/katello/content_view_filter.rb +8 -2
- data/app/models/katello/content_view_puppet_environment.rb +12 -0
- data/app/models/katello/content_view_repository.rb +2 -1
- data/app/models/katello/content_view_version.rb +57 -15
- data/app/models/katello/deb.rb +50 -0
- data/app/models/katello/docker_manifest.rb +14 -8
- data/app/models/katello/docker_manifest_list.rb +39 -0
- data/app/models/katello/docker_manifest_list_manifest.rb +6 -0
- data/app/models/katello/docker_meta_tag.rb +3 -3
- data/app/models/katello/docker_tag.rb +30 -10
- data/app/models/katello/errata_status.rb +1 -1
- data/app/models/katello/erratum.rb +3 -4
- data/app/models/katello/file_unit.rb +2 -2
- data/app/models/katello/glue/candlepin/activation_key.rb +1 -1
- data/app/models/katello/glue/candlepin/content.rb +9 -34
- data/app/models/katello/glue/candlepin/owner.rb +0 -32
- data/app/models/katello/glue/candlepin/pool.rb +2 -3
- data/app/models/katello/glue/candlepin/product.rb +34 -52
- data/app/models/katello/glue/candlepin/repository.rb +31 -0
- data/app/models/katello/glue/provider.rb +16 -19
- data/app/models/katello/glue/pulp/repo.rb +89 -16
- data/app/models/katello/host/content_facet.rb +6 -6
- data/app/models/katello/host/info_provider.rb +2 -2
- data/app/models/katello/host/subscription_facet.rb +4 -4
- data/app/models/katello/kt_environment.rb +6 -2
- data/app/models/katello/package_group.rb +1 -1
- data/app/models/katello/pool.rb +13 -12
- data/app/models/katello/product.rb +12 -6
- data/app/models/katello/product_content.rb +36 -0
- data/app/models/katello/provider.rb +1 -1
- data/app/models/katello/puppet_module.rb +5 -5
- data/app/models/katello/repository.rb +103 -11
- data/app/models/katello/repository_deb.rb +7 -0
- data/app/models/katello/repository_docker_manifest_list.rb +7 -0
- data/app/models/katello/repository_srpm.rb +7 -0
- data/app/models/katello/rhsm_fact_importer.rb +2 -2
- data/app/models/katello/rhsm_fact_parser.rb +1 -1
- data/app/models/katello/rpm.rb +5 -5
- data/app/models/katello/srpm.rb +40 -0
- data/app/models/katello/subscription.rb +3 -2
- data/app/models/katello/sync_plan.rb +8 -5
- data/app/models/setting/content.rb +5 -3
- data/app/services/katello/product_content_finder.rb +1 -1
- data/app/services/katello/pulp/deb.rb +46 -0
- data/app/services/katello/pulp/docker_manifest_list.rb +7 -0
- data/app/services/katello/pulp/server.rb +4 -12
- data/app/services/katello/pulp/srpm.rb +17 -0
- data/app/views/foreman/unattended/finish-katello.erb +4 -4
- data/app/views/foreman/unattended/kickstart-katello-atomic.erb +3 -3
- data/app/views/foreman/unattended/kickstart-katello.erb +5 -9
- data/app/views/foreman/unattended/snippets/_subscription_manager_registration.erb +3 -3
- data/app/views/foreman/unattended/userdata-katello.erb +8 -8
- data/app/views/katello/api/v2/activation_keys/product_content.json.rabl +1 -2
- data/app/views/katello/api/v2/content_facet/base.json.rabl +6 -1
- data/app/views/katello/api/v2/content_view_versions/base.json.rabl +3 -0
- data/app/views/katello/api/v2/content_views/show.json.rabl +12 -0
- data/app/views/katello/api/v2/debs/base.json.rabl +10 -0
- data/app/views/katello/api/v2/debs/index.json.rabl +7 -0
- data/app/views/katello/api/v2/debs/show.json.rabl +3 -0
- data/app/views/katello/api/v2/docker_manifest_lists/index.json.rabl +7 -0
- data/app/views/katello/api/v2/docker_manifest_lists/show.json.rabl +12 -0
- data/app/views/katello/api/v2/docker_manifests/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/docker_manifests/show.json.rabl +5 -1
- data/app/views/katello/api/v2/docker_tags/_base.json.rabl +4 -4
- data/app/views/katello/api/v2/docker_tags/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/docker_tags/show.json.rabl +1 -1
- data/app/views/katello/api/v2/errata/_counts.json.rabl +1 -0
- data/app/views/katello/api/v2/errata/available_errata.rabl +7 -0
- data/app/views/katello/api/v2/file_units/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/host_subscriptions/product_content.json.rabl +1 -2
- data/app/views/katello/api/v2/hostgroups_extensions/show.json.rabl +2 -1
- data/app/views/katello/api/v2/hosts_bulk_actions/applicable_errata.json.rabl +7 -0
- data/app/views/katello/api/v2/layouts/resource.json.erb +1 -1
- data/app/views/katello/api/v2/ostree_branches/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/package_groups/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/packages/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/products/_product_content.json.rabl +9 -0
- data/app/views/katello/api/v2/products/base.json.rabl +3 -1
- data/app/views/katello/api/v2/products/show.json.rabl +6 -2
- data/app/views/katello/api/v2/puppet_modules/compare.json.rabl +10 -0
- data/app/views/katello/api/v2/repositories/base.json.rabl +5 -1
- data/app/views/katello/api/v2/repositories/show.json.rabl +2 -0
- data/app/views/katello/api/v2/repository_sets/show.json.rabl +15 -3
- data/app/views/katello/layouts/react.html.erb +15 -0
- data/app/views/katello/providers/redhat/_repo_sets.html.erb +5 -5
- data/app/views/katello/sync_management/index.html.erb +4 -0
- data/app/views/smart_proxies/pulp_status.html.erb +6 -6
- data/config/katello.yaml.example +0 -4
- data/config/routes.rb +3 -0
- data/config/routes/api/v2.rb +30 -3
- data/config/routes/overrides.rb +1 -0
- data/db/migrate/20131014135042_katello_tables.rb +1 -1
- data/db/migrate/20131014225132_add_users_fields.rb +1 -1
- data/db/migrate/20131016124255_add_foreign_keys_engine.rb +1 -1
- data/db/migrate/20131120225132_add_organization_fields.rb +1 -1
- data/db/migrate/20131216212502_add_quantity_to_katello_key_pools.rb +1 -1
- data/db/migrate/20131216212621_add_cp_id_to_katello_activation_keys.rb +1 -1
- data/db/migrate/20131218174203_drop_katello_key_pools_table.rb +1 -1
- data/db/migrate/20140110000001_update_environments_add_katello_id.rb +1 -1
- data/db/migrate/20140117160939_refactor_content_views.rb +1 -1
- data/db/migrate/20140206200439_create_content_view_puppet_modules.rb +1 -1
- data/db/migrate/20140212131812_create_content_view_package_filter_rules.rb +1 -1
- data/db/migrate/20140212143454_create_content_view_package_group_filter_rules.rb +1 -1
- data/db/migrate/20140212143642_create_content_view_erratum_filter_rules.rb +1 -1
- data/db/migrate/20140217145303_remove_changeset.rb +1 -1
- data/db/migrate/20140217160132_create_content_view_history.rb +1 -1
- data/db/migrate/20140222022712_remove_provider_discovery.rb +1 -1
- data/db/migrate/20140305101813_allow_null_for_repository_content_id.rb +1 -1
- data/db/migrate/20140306132108_create_content_view_puppet_environments.rb +1 -1
- data/db/migrate/20140310102051_repository_add_checksum_type.rb +1 -1
- data/db/migrate/20140318174203_drop_cdn_import_success_column.rb +1 -1
- data/db/migrate/20140325185413_create_content_view_foreign_keys.rb +1 -1
- data/db/migrate/20140404122011_drop_repositories_enabled_column.rb +1 -1
- data/db/migrate/20140411134235_update_content_view_description_type.rb +1 -1
- data/db/migrate/20140414214152_allow_null_content_view_to_activation_key.rb +1 -1
- data/db/migrate/20140418124032_add_next_version_to_katello_content_views.rb +1 -1
- data/db/migrate/20140422000001_update_products_add_organization.rb +1 -1
- data/db/migrate/20140423191446_add_anonymous_providers_to_orgs.rb +1 -1
- data/db/migrate/20140425155126_add_host_id_to_system.rb +1 -1
- data/db/migrate/20140429193743_add_release_version_to_activation_keys.rb +1 -1
- data/db/migrate/20140502164009_rename_system_groups_to_host_collections.rb +1 -1
- data/db/migrate/20140502174412_update_host_collections_foreign_keys.rb +1 -1
- data/db/migrate/20140514165842_create_capsule_lifecycle_environments.rb +1 -1
- data/db/migrate/20140531160506_package_filter_add_original_packages.rb +1 -1
- data/db/migrate/20140610083129_add_pulp_proxy_to_host.rb +1 -1
- data/db/migrate/20140610154745_content_view_puppet_environment_id.rb +1 -1
- data/db/migrate/20140610170142_add_uuid_to_content_view_package_group_filter_rule.rb +1 -1
- data/db/migrate/20140617100300_add_description_to_content_view_filter_rules.rb +1 -1
- data/db/migrate/20140623103442_drop_taxonomies_owner_auto_attach_all_systems_task_id_column.rb +1 -1
- data/db/migrate/20140624183938_add_foreign_keys_for_organizations.rb +1 -1
- data/db/migrate/20140624184401_remove_label_from_activation_key.rb +1 -1
- data/db/migrate/20140626055258_add_missing_foreign_keys.rb +1 -1
- data/db/migrate/20140626204657_add_unlimited_to_activation_keys.rb +1 -1
- data/db/migrate/20140626204902_add_unlimited_to_host_collection.rb +1 -1
- data/db/migrate/20140707203534_location_add_katello_default.rb +1 -1
- data/db/migrate/20140709150428_remove_deletion_task_id_from_taxonomies.rb +1 -1
- data/db/migrate/20140716211853_repo_rename_feed_to_url.rb +1 -1
- data/db/migrate/20140807175457_remove_hidden_column_from_user.rb +1 -1
- data/db/migrate/20140811141742_remove_delayed_jobs.rb +1 -1
- data/db/migrate/20140821084214_add_sync_plan_enabled_to_sync_plan.rb +1 -1
- data/db/migrate/20140928210618_add_description_to_content_view_versions.rb +1 -1
- data/db/migrate/20140930170628_add_errata.rb +1 -1
- data/db/migrate/20141001170628_add_system_repository.rb +1 -1
- data/db/migrate/20141003210742_add_docker_container_registry_url_to_providers.rb +1 -1
- data/db/migrate/20141015173220_add_docker_image_fields.rb +1 -1
- data/db/migrate/20141031150814_add_tag_repository_id_index.rb +1 -1
- data/db/migrate/20141112180709_add_auto_attach_to_activation_keys.rb +1 -1
- data/db/migrate/20141124182205_content_view_version_add_minor.rb +1 -1
- data/db/migrate/20141203123206_add_timestamps_to_repository_join_tables.rb +1 -1
- data/db/migrate/20141204203609_add_default_value_to_auto_attach.rb +1 -1
- data/db/migrate/20141209103005_disown_foreman_templates.rb +1 -1
- data/db/migrate/20141210173220_create_docker_tables.rb +1 -1
- data/db/migrate/20141215213720_track_version_components.rb +1 -1
- data/db/migrate/20141222151001_add_host_content_view_environment.rb +1 -1
- data/db/migrate/20150109012657_add_capsule_id_to_container.rb +1 -1
- data/db/migrate/20150114225023_add_upstream_name_to_repository.rb +1 -1
- data/db/migrate/20150119153452_update_promote_errata_email_description.rb +1 -1
- data/db/migrate/20150224083608_remove_docker_registry_url.rb +1 -1
- data/db/migrate/20150227213850_change_descriptions_to_text_fields.rb +1 -1
- data/db/migrate/20150423134004_add_content_host_id_to_smart_proxy.rb +1 -1
- data/db/migrate/20150505180030_change_errata_timestamps_to_dates.rb +1 -1
- data/db/migrate/20150507131145_update_composite_default_for_content_view.rb +1 -1
- data/db/migrate/20150513034751_add_ostree_branches.rb +1 -1
- data/db/migrate/20150602153753_remove_help_tips.rb +1 -1
- data/db/migrate/20150602153754_remove_search_histories.rb +1 -1
- data/db/migrate/20150602153755_remove_search_favorites.rb +1 -1
- data/db/migrate/20150602153756_remove_user_notices.rb +1 -1
- data/db/migrate/20150602153757_remove_notices.rb +1 -1
- data/db/migrate/20150603045418_remove_user_fields.rb +1 -1
- data/db/migrate/20150606021722_create_puppet_modules.rb +1 -1
- data/db/migrate/20150611140455_remove_default_and_custom_info.rb +1 -1
- data/db/migrate/20150613134559_add_rpm.rb +1 -1
- data/db/migrate/20150623135424_create_package_groups.rb +1 -1
- data/db/migrate/20150715142649_assign_content_host_to_smart_proxies.rb +1 -1
- data/db/migrate/20150717142559_add_distributions_to_repository.rb +1 -1
- data/db/migrate/20150813185339_create_subscriptions.rb +1 -1
- data/db/migrate/20150826165942_add_subscription_facet.rb +1 -1
- data/db/migrate/20150826170004_add_content_facet.rb +1 -1
- data/db/migrate/20150901213759_remove_distributors.rb +1 -1
- data/db/migrate/20150902164543_remove_apply_info_task_id_from_taxonomies.rb +1 -1
- data/db/migrate/20150908222711_drop_marketing_engineering_products.rb +1 -1
- data/db/migrate/20150928221648_update_location_katello_default.rb +1 -1
- data/db/migrate/20150930183738_migrate_content_hosts.rb +1 -1
- data/db/migrate/20151014144004_host_collection_to_hosts.rb +1 -1
- data/db/migrate/20151015152947_add_virt_only_to_katello_pools.rb +1 -1
- data/db/migrate/20151203230940_add_date_type_to_content_view_erratum_filter_rules.rb +1 -1
- data/db/migrate/20151219152536_rename_index_repository_errata.rb +1 -1
- data/db/migrate/20151219203225_rename_index_repository_puppet_module.rb +1 -1
- data/db/migrate/20160114200145_add_mirror_on_sync_to_repositories.rb +1 -1
- data/db/migrate/20160129192548_add_docker_v2_schema.rb +1 -1
- data/db/migrate/20160131182301_add_download_policy_to_katello_repositories.rb +1 -1
- data/db/migrate/20160203195736_remove_docker_image_schema.rb +1 -1
- data/db/migrate/20160211134035_remove_system_errata.rb +1 -1
- data/db/migrate/20160222143432_move_system_description_to_host.rb +1 -1
- data/db/migrate/20160224155909_add_registered_at_to_subscription_facet.rb +1 -1
- data/db/migrate/20160301070319_add_version_ostree_branches.rb +1 -1
- data/db/migrate/20160317171813_change_activation_key_column_names.rb +1 -1
- data/db/migrate/20160323065901_increase_cdn_length.rb +1 -1
- data/db/migrate/20160404132250_remove_katello_from_notification_name.rb +1 -1
- data/db/migrate/20160413230128_add_kickstart_repository_to_hosts_and_hostgroups.rb +1 -1
- data/db/migrate/20160426145517_move_host_description_to_host_comment.rb +1 -1
- data/db/migrate/20160505181337_rename_katello_settings.rb +1 -1
- data/db/migrate/20160520175340_add_host_applicable_package.rb +1 -1
- data/db/migrate/20160530184400_add_repo_id_indexes.rb +1 -1
- data/db/migrate/20160605160933_remove_jobs.rb +1 -1
- data/db/migrate/20160605162929_remove_system_smart_proxy.rb +1 -1
- data/db/migrate/20160613150922_add_event_queue.rb +1 -1
- data/db/migrate/20160617124149_remove_duplicate_view_filters.rb +1 -1
- data/db/migrate/20160619223332_fix_viewer_role.rb +1 -1
- data/db/migrate/20160627125310_delete_system.rb +1 -1
- data/db/migrate/20160701180402_add_sortable_version_to_puppet_modules.rb +1 -1
- data/db/migrate/20160722193256_add_verify_ssl_on_sync_to_repository.rb +1 -1
- data/db/migrate/20160727144242_add_registered_through_to_katello_subscription_facets.rb +1 -1
- data/db/migrate/20160728005028_add_latest_version_to_content_view_component.rb +1 -1
- data/db/migrate/20160808002834_add_files.rb +1 -1
- data/db/migrate/20160906181923_add_puppet_path_to_smart_proxy.rb +1 -1
- data/db/migrate/20160907231049_add_username_password_to_repository.rb +1 -1
- data/db/migrate/20160908234510_add_rpm_nvra.rb +1 -1
- data/db/migrate/20160923143611_add_action_to_content_view_histories.rb +1 -1
- data/db/migrate/20160924213020_change_katello_widget_names.rb +1 -1
- data/db/migrate/20160930121245_content_view_force_puppet_env.rb +1 -1
- data/db/migrate/20160930150810_add_smart_proxy_download_policy.rb +1 -1
- data/db/migrate/20161003130853_add_architecture_to_katello_content_view_package_filter_rule.rb +1 -1
- data/db/migrate/20161003204325_add_user_to_katello_subscription_facets.rb +1 -1
- data/db/migrate/20161014133811_move_content_view_version_description_to_histories.rb +2 -4
- data/db/migrate/20161021072346_fix_subscription_permissions.rb +1 -1
- data/db/migrate/20161026191118_fix_invalid_interfaces.rb +1 -1
- data/db/migrate/20161028153131_sub_facet_user_index_not_uniq.rb +1 -1
- data/db/migrate/20161031204903_add_tracer_support.rb +1 -1
- data/db/migrate/20161102194100_create_content_view_docker_filter_rules.rb +1 -1
- data/db/migrate/20161209162947_add_virt_who_to_katello_pools.rb +1 -1
- data/db/migrate/20161214151548_move_content_source_id_to_content_facets.rb +1 -1
- data/db/migrate/20170114051758_add_depth_to_repositories.rb +1 -1
- data/db/migrate/20170122204325_add_hypervisor_to_subscription_facets.rb +1 -1
- data/db/migrate/20170125152421_move_default_location_to_settings.rb +1 -1
- data/db/migrate/20170208215148_add_docker_repo_name.rb +1 -1
- data/db/migrate/20170220679403_remove_system_permissions.rb +1 -1
- data/db/migrate/20170222131211_change_pool_columns_to_dates.rb +1 -1
- data/db/migrate/20170321012632_fill_in_content_view_components.rb +1 -1
- data/db/migrate/20170523182831_create_docker_meta_tag.rb +1 -1
- data/db/migrate/20170714144125_add_deb.rb +34 -0
- data/db/migrate/20170718142148_create_katello_subscription_facet_pools.rb +1 -1
- data/db/migrate/20170720142145_add_deb_release_parameters_to_repositories.rb +7 -0
- data/db/migrate/20170821170915_add_index_to_installed_packages.rb +1 -1
- data/db/migrate/20170821170916_add_nvra_index_to_installed_packages.rb +1 -1
- data/db/migrate/20170822104447_add_katello_content_to_image.rb +1 -1
- data/db/migrate/20170913183848_add_errata_counts.rb +1 -1
- data/db/migrate/20171010170443_add_index_to_katello_content_facet_errata.rb +1 -1
- data/db/migrate/20171010172724_add_docker_manifest_list.rb +67 -0
- data/db/migrate/20171011175510_add_srpm.rb +38 -0
- data/db/migrate/20171014051810_remove_docker_manifest_name.rb +9 -0
- data/db/migrate/20171025163149_remove_use_pulp_oauth_setting.rb +5 -0
- data/db/migrate/20171112174357_create_katello_content.rb +13 -0
- data/db/migrate/20171112174358_create_katello_product_content.rb +16 -0
- data/db/migrate/20171114150937_cleanup_installed_packages.rb +1 -1
- data/db/migrate/20171114183353_add_hypervisor_id_to_katello_pools.rb +1 -1
- data/db/migrate/20171120144843_add_repository_ignore_proxy.rb +5 -0
- data/db/migrate/20171211124439_add_uuid_index_to_katello_subscription_facets.rb +1 -1
- data/db/migrate/20180103230812_set_errata_updated_date.rb +7 -0
- data/db/seeds.d/101-locations.rb +6 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/activation-keys/details/activation-key-add-subscriptions.controller.js +1 -1
- 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/content-hosts/bulk/content-hosts-bulk-packages-modal.controller.js +1 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/bulk/views/content-hosts-bulk-packages-modal.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/content-host-errata.controller.js +0 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/content/views/content-host-errata.html +8 -10
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/content-host-details.controller.js +5 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-details.html +13 -5
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-hosts/details/views/content-host-info.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/content-views.routes.js +44 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-available-deb-repositories.controller.js +48 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-deb-repositories-list.controller.js +46 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-details.controller.js +11 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/content-view-publish.controller.js +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/date-type-errata-filter.controller.js +4 -14
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/filters/filter-repositories.controller.js +4 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-deb-repositories.html +87 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-details.html +7 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-docker-repositories.html +6 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-publish.html +12 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-repositories.html +5 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/details/views/content-view-versions.html +10 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-version-content.controller.js +13 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/content-view-versions.module.js +3 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-apt.html +25 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-deb.html +19 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-errata.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version-yum.html +3 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/content-views/versions/views/content-view-version.html +16 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/deb.factory.js +28 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.controller.js +34 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.module.js +20 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/debs.routes.js +71 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-content-views.controller.js +44 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb-repositories.controller.js +36 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/deb.controller.js +34 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-content-views.html +41 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-info.html +21 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb-repositories.html +52 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/details/views/deb.html +37 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/debs/views/debs.html +43 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifest-lists/docker-manifest-list.factory.js +26 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-manifest-lists/docker-manifest-lists.module.js +19 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-details.controller.js +17 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/docker-tag-environments.controller.js +2 -11
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-details.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/details/views/docker-tag-info.html +7 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/docker-tags.routes.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/docker-tags/views/docker-tags.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/environments/details/views/environment-errata.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/erratum-content-hosts.controller.js +11 -25
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/details/views/erratum-content-hosts.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/errata.routes.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/incremental-update.service.js +2 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/errata/views/apply-errata-confirm.html +6 -17
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/file.factory.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/files/files.controller.js +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/organizations/organization-selector.controller.js +2 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/ostree-branches/ostree-branches.routes.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/packages/packages.routes.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/repository-details-manage-content.controller.js +17 -6
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-info.html +69 -8
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-debs.html +68 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifest-lists.html +44 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-docker-manifests.html +13 -7
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-packages.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/details/views/repository-manage-puppet-modules.html +2 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/new/views/new-repository.html +42 -4
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.module.js +3 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/repositories.routes.js +18 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/details/repositories/views/product-repositories.html +21 -2
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/discovery/discovery.controller.js +2 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/products.controller.js +8 -0
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/products/views/products.html +3 -3
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/details/subscription-details.controller.js +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/subscriptions/manifest/views/manifest-import.html +1 -1
- data/engines/bastion_katello/app/assets/javascripts/bastion_katello/sync-plans/new/new-sync-plan.controller.js +1 -0
- data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/bastion_katello.scss +1 -0
- data/engines/bastion_katello/app/assets/stylesheets/bastion_katello/docker.scss +16 -0
- data/engines/bastion_katello/lib/bastion_katello/engine.rb +1 -0
- data/lib/katello/engine.rb +4 -6
- data/lib/katello/permission_creator.rb +14 -12
- data/lib/katello/permissions/host_permissions.rb +1 -0
- data/lib/katello/plugin.rb +83 -54
- data/lib/katello/prevent_json_parsing.rb +15 -0
- data/lib/katello/repository_types/deb.rb +1 -0
- data/lib/katello/tasks/clean_old_file_repos.rake +33 -0
- data/lib/katello/tasks/clean_published_repo_directories.rake +4 -4
- data/lib/katello/tasks/reimport.rake +8 -1
- data/lib/katello/tasks/repository.rake +3 -3
- data/lib/katello/tasks/rubocop.rake +1 -1
- data/lib/katello/tasks/test.rake +1 -0
- data/lib/katello/tasks/upgrades/3.6/import_product_content.rake +12 -0
- data/lib/katello/tasks/upgrades/3.6/republish_file_repos.rake +16 -0
- data/lib/katello/tasks/virt_who_report.rake +2 -2
- data/lib/katello/version.rb +1 -1
- data/locale/README +1 -0
- metadata +121 -30
- data/app/lib/actions/candlepin/owner/upstream_regenerate_certificates.rb +0 -17
- data/app/lib/actions/candlepin/product/update.rb +0 -32
- data/app/lib/actions/katello/event_queue/run_once_coordinator_lock.rb +0 -12
- data/app/models/katello/candlepin/content.rb +0 -252
- data/app/models/katello/candlepin/product_content.rb +0 -48
- data/lib/katello/params_parser_wrapper.rb +0 -16
@@ -37,7 +37,7 @@ module Katello
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
# rubocop:disable
|
40
|
+
# rubocop:disable Naming/AccessorMethodName:
|
41
41
|
def get_interfaces
|
42
42
|
mac_keys = facts.keys.select { |f| f =~ /net\.interface\..*\.mac_address/ }
|
43
43
|
names = mac_keys.map do |key|
|
data/app/models/katello/rpm.rb
CHANGED
@@ -4,12 +4,12 @@ module Katello
|
|
4
4
|
|
5
5
|
CONTENT_TYPE = Pulp::Rpm::CONTENT_TYPE
|
6
6
|
|
7
|
-
has_many :repositories, :through => :repository_rpms, :class_name => "Katello::Repository"
|
8
7
|
has_many :repository_rpms, :class_name => "Katello::RepositoryRpm", :dependent => :destroy, :inverse_of => :rpm
|
8
|
+
has_many :repositories, :through => :repository_rpms, :class_name => "Katello::Repository"
|
9
9
|
|
10
|
-
has_many :content_facets, :through => :content_facet_applicable_rpms, :class_name => "Katello::Host::ContentFacet"
|
11
10
|
has_many :content_facet_applicable_rpms, :class_name => "Katello::ContentFacetApplicableRpm",
|
12
11
|
:dependent => :destroy, :inverse_of => :rpm
|
12
|
+
has_many :content_facets, :through => :content_facet_applicable_rpms, :class_name => "Katello::Host::ContentFacet"
|
13
13
|
|
14
14
|
scoped_search :on => :name, :complete_value => true
|
15
15
|
scoped_search :on => :version, :complete_value => true
|
@@ -54,7 +54,7 @@ module Katello
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def self.total_for_repositories(repos)
|
57
|
-
self.in_repositories(repos).
|
57
|
+
self.in_repositories(repos).count
|
58
58
|
end
|
59
59
|
|
60
60
|
def nvrea
|
@@ -88,12 +88,12 @@ module Katello
|
|
88
88
|
where("#{Katello::ContentFacetRepository.table_name}.repository_id = host_repo_rpm.repository_id")
|
89
89
|
|
90
90
|
query = query.joins(:content_facets).where("#{Katello::Host::ContentFacet.table_name}.host_id" => hosts.map(&:id)) if hosts
|
91
|
-
query.
|
91
|
+
query.distinct
|
92
92
|
end
|
93
93
|
|
94
94
|
def self.applicable_to_hosts(hosts)
|
95
95
|
self.joins(:content_facets).
|
96
|
-
where("#{Katello::Host::ContentFacet.table_name}.host_id" => hosts).
|
96
|
+
where("#{Katello::Host::ContentFacet.table_name}.host_id" => hosts).distinct
|
97
97
|
end
|
98
98
|
end
|
99
99
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Katello
|
2
|
+
class Srpm < Katello::Model
|
3
|
+
include Concerns::PulpDatabaseUnit
|
4
|
+
|
5
|
+
CONTENT_TYPE = Pulp::Rpm::CONTENT_TYPE
|
6
|
+
|
7
|
+
has_many :repository_srpms, :class_name => "Katello::RepositorySrpm", :dependent => :destroy, :inverse_of => :srpm
|
8
|
+
has_many :repositories, :through => :repository_srpms, :class_name => "Katello::Repository"
|
9
|
+
|
10
|
+
before_save lambda { |rpm| rpm.summary = rpm.summary.truncate(255) unless rpm.summary.blank? }
|
11
|
+
|
12
|
+
def self.repository_association_class
|
13
|
+
RepositorySrpm
|
14
|
+
end
|
15
|
+
|
16
|
+
def update_from_json(json)
|
17
|
+
keys = Pulp::Srpm::PULP_INDEXED_FIELDS - ['_id']
|
18
|
+
custom_json = json.slice(*keys)
|
19
|
+
if custom_json.any? { |name, value| self.send(name) != value }
|
20
|
+
custom_json[:release_sortable] = Util::Package.sortable_version(custom_json[:release])
|
21
|
+
custom_json[:version_sortable] = Util::Package.sortable_version(custom_json[:version])
|
22
|
+
self.assign_attributes(custom_json)
|
23
|
+
self.nvra = self.build_nvra
|
24
|
+
self.save!
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.total_for_repositories(repos)
|
29
|
+
self.in_repositories(repos).count
|
30
|
+
end
|
31
|
+
|
32
|
+
def nvrea
|
33
|
+
Util::Package.build_nvrea(self.attributes.with_indifferent_access, false)
|
34
|
+
end
|
35
|
+
|
36
|
+
def build_nvra
|
37
|
+
Util::Package.build_nvra(self.attributes.with_indifferent_access)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -3,8 +3,8 @@ module Katello
|
|
3
3
|
include Glue::Candlepin::CandlepinObject
|
4
4
|
include Glue::Candlepin::Subscription
|
5
5
|
include Katello::Authorization::Subscription
|
6
|
-
has_many :products, :through => :subscription_products, :class_name => "Katello::Product"
|
7
6
|
has_many :subscription_products, :class_name => "Katello::SubscriptionProduct", :dependent => :destroy, :inverse_of => :subscription
|
7
|
+
has_many :products, :through => :subscription_products, :class_name => "Katello::Product"
|
8
8
|
|
9
9
|
has_many :pools, :class_name => "Katello::Pool", :inverse_of => :subscription, :dependent => :destroy
|
10
10
|
|
@@ -13,8 +13,9 @@ module Katello
|
|
13
13
|
scope :in_organization, ->(org) { where(:organization => org) }
|
14
14
|
|
15
15
|
def self.subscribable
|
16
|
+
product_ids = Product.subscribable.pluck(:id) + [nil]
|
16
17
|
joins("LEFT OUTER JOIN #{Katello::SubscriptionProduct.table_name} subprod ON #{self.table_name}.id = subprod.subscription_id")
|
17
|
-
.where("subprod.product_id" =>
|
18
|
+
.where("subprod.product_id" => product_ids)
|
18
19
|
.group("#{self.table_name}.id")
|
19
20
|
end
|
20
21
|
|
@@ -58,7 +58,7 @@ module Katello
|
|
58
58
|
def schedule_format
|
59
59
|
return nil if DURATION[self.interval].nil?
|
60
60
|
date = self.sync_date
|
61
|
-
date = next_sync_date if enabled? && self.sync_date <
|
61
|
+
date = next_sync_date if enabled? && self.sync_date < Time.now
|
62
62
|
"#{date.iso8601}/P#{DURATION[self.interval]}"
|
63
63
|
end
|
64
64
|
|
@@ -66,6 +66,10 @@ module Katello
|
|
66
66
|
self.sync_date.strftime('%Z')
|
67
67
|
end
|
68
68
|
|
69
|
+
def sync_time
|
70
|
+
self.sync_date.utc.strftime('%H%M%S%N')
|
71
|
+
end
|
72
|
+
|
69
73
|
def next_sync_date
|
70
74
|
return nil unless self.enabled
|
71
75
|
now = Time.current
|
@@ -77,6 +81,7 @@ module Katello
|
|
77
81
|
seconds = self.sync_date.sec - now.sec
|
78
82
|
|
79
83
|
next_sync = nil
|
84
|
+
now_time = now.utc.strftime('%H%M%S%N')
|
80
85
|
|
81
86
|
case self.interval
|
82
87
|
when HOURLY
|
@@ -85,15 +90,13 @@ module Katello
|
|
85
90
|
end
|
86
91
|
next_sync = now.advance(:minutes => minutes, :seconds => seconds)
|
87
92
|
when DAILY
|
88
|
-
|
89
|
-
now_time = Time.at(now.hour * 60 * 60 + now.min * 60 + now.sec)
|
90
|
-
if sync_time < now_time
|
93
|
+
if self.sync_time < now_time
|
91
94
|
hours += 24
|
92
95
|
end
|
93
96
|
next_sync = now.advance(:hours => hours, :minutes => minutes, :seconds => seconds)
|
94
97
|
when WEEKLY
|
95
98
|
days = self.sync_date.wday - now.wday
|
96
|
-
days += 7 if days <=
|
99
|
+
days += 7 if days < 0 || (days == 0 && self.sync_time <= now_time)
|
97
100
|
next_sync = now.change(:hour => self.sync_date.hour, :min => self.sync_date.min,
|
98
101
|
:sec => self.sync_date.sec).advance(:days => days)
|
99
102
|
end
|
@@ -18,8 +18,12 @@ class Setting::Content < Setting
|
|
18
18
|
'Katello Kickstart Default Finish', N_('Default synced OS finish template')),
|
19
19
|
self.set('katello_default_user_data', N_("Default user data for new Operating Systems created from synced content"),
|
20
20
|
'Katello Kickstart Default User Data', N_('Default synced OS user-data')),
|
21
|
-
self.set('katello_default_PXELinux', N_("Default
|
21
|
+
self.set('katello_default_PXELinux', N_("Default PXELinux template for new Operating Systems created from synced content"),
|
22
22
|
'Kickstart default PXELinux', N_('Default synced OS PXELinux template')),
|
23
|
+
self.set('katello_default_PXEGrub', N_("Default PXEGrub template for new Operating Systems created from synced content"),
|
24
|
+
'Kickstart default PXEGrub', N_('Default synced OS PXEGrub template')),
|
25
|
+
self.set('katello_default_PXEGrub2', N_("Default PXEGrub2 template for new Operating Systems created from synced content"),
|
26
|
+
'Kickstart default PXEGrub2', N_('Default synced OS PXEGrub2 template')),
|
23
27
|
self.set('katello_default_iPXE', N_("Default iPXE template for new Operating Systems created from synced content"),
|
24
28
|
'Kickstart default iPXE', N_('Default synced OS iPXE template')),
|
25
29
|
self.set('katello_default_ptable', N_("Default partitioning table for new Operating Systems created from synced content"),
|
@@ -56,8 +60,6 @@ class Setting::Content < Setting
|
|
56
60
|
"/etc/pki/katello/certs/pulp-client.crt", N_('Pulp client cert')),
|
57
61
|
self.set('remote_execution_by_default', N_("If set to true, use the remote execution over katello-agent for remote actions"),
|
58
62
|
false, N_('Use remote execution by default')),
|
59
|
-
self.set('use_pulp_oauth', N_("use oauth authentication for pulp instead of the default cert based authentication"),
|
60
|
-
false, N_('Use Pulp OAuth authentication')),
|
61
63
|
self.set('unregister_delete_host', N_("When unregistering a host via subscription-manager, also delete the host record. Managed resources linked to host " \
|
62
64
|
"such as virtual machines and DNS records may also be deleted."),
|
63
65
|
false, N_('Delete Host upon unregister')),
|
@@ -25,7 +25,7 @@ module Katello
|
|
25
25
|
considered_products = match_subscription ? consumable.products : consumable.organization.products.enabled.uniq
|
26
26
|
|
27
27
|
repositories = Katello::Repository.where(:product_id => considered_products).subscribable
|
28
|
-
repositories = repositories.where(:content_view_version_id => version
|
28
|
+
repositories = repositories.where(:content_view_version_id => version.id) if version
|
29
29
|
|
30
30
|
consumable.organization.enabled_product_content_for(repositories)
|
31
31
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Katello
|
2
|
+
module Pulp
|
3
|
+
class Deb < PulpContentUnit
|
4
|
+
include LazyAccessor
|
5
|
+
|
6
|
+
PULP_SELECT_FIELDS = %w(name version architecture checksumtype checksum).freeze
|
7
|
+
PULP_INDEXED_FIELDS = %w(name version architecture description sourcedeb checksum filename _id).freeze
|
8
|
+
CONTENT_TYPE = "deb".freeze
|
9
|
+
|
10
|
+
lazy_accessor :pulp_facts, :initializer => :backend_data
|
11
|
+
|
12
|
+
lazy_accessor :description, :license, :buildhost, :vendor, :relativepath, :children, :checksumtype,
|
13
|
+
:changelog, :group, :size, :url, :build_time, :group,
|
14
|
+
:initializer => :pulp_facts
|
15
|
+
|
16
|
+
def requires
|
17
|
+
if pulp_facts['requires']
|
18
|
+
pulp_facts['requires'].map { |entry| Katello::Util::Package.format_requires(entry) }.uniq.sort
|
19
|
+
else
|
20
|
+
[]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def provides
|
25
|
+
if pulp_facts['provides']
|
26
|
+
pulp_facts['provides'].map { |entry| Katello::Util::Package.build_nvrea(entry, false) }.uniq.sort
|
27
|
+
else
|
28
|
+
[]
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def files
|
33
|
+
result = []
|
34
|
+
if pulp_facts['files']
|
35
|
+
if pulp_facts['files']['file']
|
36
|
+
result << pulp_facts['files']['file']
|
37
|
+
end
|
38
|
+
if pulp_facts['files']['dir']
|
39
|
+
result << pulp_facts['files']['dir']
|
40
|
+
end
|
41
|
+
end
|
42
|
+
result.flatten
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -15,6 +15,10 @@ module Katello
|
|
15
15
|
:exception => true,
|
16
16
|
:info => true,
|
17
17
|
:debug => true
|
18
|
+
},
|
19
|
+
:cert_auth => {
|
20
|
+
:ssl_client_cert => ::Cert::Certs.ssl_client_cert,
|
21
|
+
:ssl_client_key => ::Cert::Certs.ssl_client_key
|
18
22
|
}
|
19
23
|
}
|
20
24
|
|
@@ -22,18 +26,6 @@ module Katello
|
|
22
26
|
runcible_params[:ca_cert_file] = ca_cert
|
23
27
|
end
|
24
28
|
|
25
|
-
if Setting[:use_pulp_oauth]
|
26
|
-
runcible_params[:oauth] = {
|
27
|
-
:oauth_secret => SETTINGS[:katello][:pulp][:oauth_secret],
|
28
|
-
:oauth_key => SETTINGS[:katello][:pulp][:oauth_key]
|
29
|
-
}
|
30
|
-
else
|
31
|
-
runcible_params[:cert_auth] = {
|
32
|
-
:ssl_client_cert => ::Cert::Certs.ssl_client_cert,
|
33
|
-
:ssl_client_key => ::Cert::Certs.ssl_client_key
|
34
|
-
}
|
35
|
-
end
|
36
|
-
|
37
29
|
Runcible::Instance.new(runcible_params)
|
38
30
|
end
|
39
31
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Katello
|
2
|
+
module Pulp
|
3
|
+
class Srpm < PulpContentUnit
|
4
|
+
include LazyAccessor
|
5
|
+
|
6
|
+
PULP_SELECT_FIELDS = %w(name epoch version release arch checksumtype checksum).freeze
|
7
|
+
PULP_INDEXED_FIELDS = %w(name version release arch epoch summary sourcerpm checksum filename _id).freeze
|
8
|
+
CONTENT_TYPE = "srpm".freeze
|
9
|
+
|
10
|
+
lazy_accessor :pulp_facts, :initializer => :backend_data
|
11
|
+
|
12
|
+
lazy_accessor :description, :license, :buildhost, :vendor, :relativepath, :children, :checksumtype,
|
13
|
+
:changelog, :group, :size, :url, :build_time, :group,
|
14
|
+
:initializer => :pulp_facts
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -20,8 +20,8 @@ service network restart
|
|
20
20
|
rhel_compatible = @host.operatingsystem.family == 'Redhat' && @host.operatingsystem.name != 'Fedora'
|
21
21
|
os_major = @host.operatingsystem.major.to_i
|
22
22
|
pm_set = @host.puppetmaster.empty? ? false : true
|
23
|
-
puppet_enabled = pm_set ||
|
24
|
-
salt_enabled =
|
23
|
+
puppet_enabled = pm_set || host_param('force-puppet')
|
24
|
+
salt_enabled = host_param('salt_master') ? true : false
|
25
25
|
chef_enabled = @host.respond_to?(:chef_proxy) && @host.chef_proxy
|
26
26
|
%>
|
27
27
|
|
@@ -33,10 +33,10 @@ service network restart
|
|
33
33
|
|
34
34
|
# update local time
|
35
35
|
echo "updating system time"
|
36
|
-
/usr/sbin/ntpdate -sub <%=
|
36
|
+
/usr/sbin/ntpdate -sub <%= host_param('ntp-server') || '0.fedora.pool.ntp.org' %>
|
37
37
|
/usr/sbin/hwclock --systohc
|
38
38
|
|
39
|
-
<% if
|
39
|
+
<% if host_param('realm') && @host.realm && @host.realm.realm_type == 'FreeIPA' -%>
|
40
40
|
<%= snippet "freeipa_register" %>
|
41
41
|
<% end -%>
|
42
42
|
|
@@ -3,9 +3,9 @@ kind: provision
|
|
3
3
|
name: Katello Atomic Kickstart default
|
4
4
|
%>
|
5
5
|
|
6
|
-
lang <%=
|
7
|
-
keyboard <%=
|
8
|
-
timezone --utc <%=
|
6
|
+
lang <%= host_param('lang') || 'en_US.UTF-8' %>
|
7
|
+
keyboard <%= host_param('keyboard') || 'us' %>
|
8
|
+
timezone --utc <%= host_param('time-zone') || 'UTC' %>
|
9
9
|
|
10
10
|
<% subnet = @host.subnet -%>
|
11
11
|
<% if subnet.respond_to?(:dhcp_boot_mode?) -%>
|
@@ -16,8 +16,8 @@ oses:
|
|
16
16
|
os_major = @host.operatingsystem.major.to_i
|
17
17
|
# safemode renderer does not support unary negation
|
18
18
|
pm_set = @host.puppetmaster.empty? ? false : true
|
19
|
-
puppet_enabled = pm_set ||
|
20
|
-
salt_enabled =
|
19
|
+
puppet_enabled = pm_set || host_param('force-puppet')
|
20
|
+
salt_enabled = host_param('salt_master') ? true : false
|
21
21
|
chef_enabled = @host.respond_to?(:chef_proxy) && @host.chef_proxy
|
22
22
|
section_end = (rhel_compatible && os_major <= 5) ? '' : '%end'
|
23
23
|
%>
|
@@ -40,7 +40,7 @@ network --bootproto <%= dhcp ? 'dhcp' : "static --ip=#{@host.ip} --netmask=#{sub
|
|
40
40
|
rootpw --iscrypted <%= root_pass %>
|
41
41
|
firewall --<%= os_major >= 6 ? 'service=' : '' %>ssh
|
42
42
|
authconfig --useshadow --passalgo=<%= @host.operatingsystem.password_hash || 'sha256' %> --kickstart
|
43
|
-
timezone --utc <%=
|
43
|
+
timezone --utc <%= host_param('time-zone') || 'UTC' %>
|
44
44
|
|
45
45
|
<% if @host.operatingsystem.name == 'Fedora' and os_major <= 16 -%>
|
46
46
|
# Bootloader exception for Fedora 16:
|
@@ -68,10 +68,6 @@ yum
|
|
68
68
|
dhclient
|
69
69
|
ntp
|
70
70
|
wget
|
71
|
-
<% if host_param('kt_activation_keys') -%>
|
72
|
-
<% # if you want to use subscription manager you need to install it now, in %post it would rely on upstream mirror -%>
|
73
|
-
subscription-manager
|
74
|
-
<% end -%>
|
75
71
|
@Core
|
76
72
|
<%= section_end -%>
|
77
73
|
|
@@ -104,12 +100,12 @@ exec < /dev/tty3 > /dev/tty3
|
|
104
100
|
|
105
101
|
#update local time
|
106
102
|
echo "updating system time"
|
107
|
-
/usr/sbin/ntpdate -sub <%=
|
103
|
+
/usr/sbin/ntpdate -sub <%= host_param('ntp-server') || '0.fedora.pool.ntp.org' %>
|
108
104
|
/usr/sbin/hwclock --systohc
|
109
105
|
|
110
106
|
<%= snippet "subscription_manager_registration" %>
|
111
107
|
|
112
|
-
<% if
|
108
|
+
<% if host_param('realm') && @host.realm && @host.realm.realm_type == 'FreeIPA' -%>
|
113
109
|
<%= snippet "freeipa_register" %>
|
114
110
|
<% end -%>
|
115
111
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<% if
|
1
|
+
<% if host_param('kt_activation_keys') %>
|
2
2
|
# add subscription manager
|
3
3
|
<% if @host.operatingsystem.atomic? %>
|
4
4
|
curl -s <%= subscription_manager_configuration_url(@host, false) %> | IS_ATOMIC=true bash
|
@@ -8,11 +8,11 @@
|
|
8
8
|
<% end %>
|
9
9
|
|
10
10
|
echo "Registering the System"
|
11
|
-
subscription-manager register --org="<%= @host.rhsm_organization_label %>" --name="<%= @host.name %>" --activationkey="<%=
|
11
|
+
subscription-manager register --org="<%= @host.rhsm_organization_label %>" --name="<%= @host.name %>" --activationkey="<%= host_param('kt_activation_keys') %>"
|
12
12
|
|
13
13
|
<% unless @host.operatingsystem.atomic? %>
|
14
14
|
echo "Installing Katello Agent"
|
15
15
|
yum -t -y -e 0 install katello-agent
|
16
16
|
chkconfig goferd on
|
17
17
|
<% end %>
|
18
|
-
<% end %>
|
18
|
+
<% end %>
|
@@ -29,13 +29,13 @@ users:
|
|
29
29
|
passwd: <%= @host.root_pass %>
|
30
30
|
|
31
31
|
<%# Allow user to specify additional SSH key as host paramter -%>
|
32
|
-
<% if
|
32
|
+
<% if host_param('sshkey').present? || host_param('remote_execution_ssh_keys').present? -%>
|
33
33
|
ssh_authorized_keys:
|
34
|
-
<% if
|
35
|
-
- <%=
|
34
|
+
<% if host_param('sshkey').present? -%>
|
35
|
+
- <%= host_param('sshkey') %>
|
36
36
|
<% end -%>
|
37
|
-
<% if
|
38
|
-
<%
|
37
|
+
<% if host_param('remote_execution_ssh_keys').present? -%>
|
38
|
+
<% host_param('remote_execution_ssh_keys').each do |key| -%>
|
39
39
|
- <%= key %>
|
40
40
|
<% end -%>
|
41
41
|
<% end -%>
|
@@ -48,7 +48,7 @@ write_files:
|
|
48
48
|
<%= indent 4 do
|
49
49
|
snippet 'subscription_manager_registration'
|
50
50
|
end %>
|
51
|
-
<% if
|
51
|
+
<% if host_param('realm') && @host.realm && @host.realm.realm_type == 'FreeIPA' -%>
|
52
52
|
<%= indent 4 do
|
53
53
|
snippet 'freeipa_register'
|
54
54
|
end %>
|
@@ -61,8 +61,8 @@ write_files:
|
|
61
61
|
# safemode renderer does not support unary negation
|
62
62
|
non_atomic = @host.operatingsystem.atomic? ? false : true
|
63
63
|
pm_set = @host.puppetmaster.empty? ? false : true
|
64
|
-
puppet_enabled = non_atomic && (pm_set ||
|
65
|
-
salt_enabled = non_atomic && (
|
64
|
+
puppet_enabled = non_atomic && (pm_set || host_param('force-puppet'))
|
65
|
+
salt_enabled = non_atomic && (host_param('salt_master') ? true : false)
|
66
66
|
chef_enabled = @host.respond_to?(:chef_proxy) && @host.chef_proxy
|
67
67
|
%>
|
68
68
|
<% if chef_enabled %>
|
@@ -8,8 +8,7 @@ child @collection[:results] => :results do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
child :content => :content do
|
11
|
-
attributes :id, :name, :label
|
12
|
-
attribute :contentUrl => :content_url
|
11
|
+
attributes :id, :name, :label, :vendor, :content_type, :content_url, :gpg_url
|
13
12
|
end
|
14
13
|
|
15
14
|
node :override do |pc|
|