Katello 3.2 Documentation

Katello 3.2 (Malt Liquor) Release Notes

For the full release notes, see the Changelog.

Notable Features

Puppet 4 Support

Puppet 4 is now supported by Katello. For more information, visit the Puppet upgrade page

Content Host Subscriptions Bulk Actions

Users can now attach Subscriptions to multiple Content Hosts in the UI via bulk actions. Similar functionality is also available via hammer under hammer host subscriptions subcommands.

File type repository updates

In Katello 3.1, the file repository type was added for storing generic files in Katello. The 3.2 release brings with it the ability to add those file repositories to a content view. Now you can you snapshot your generic files into views and push them through environments just as you would for RPM or Puppet content. This can be used to create a production set of Python packages, Rubygems, tarballs or even Debian repositories. In addition, an API has been added for viewing file content in your Katello just as you would any other content type.

Searchable ostree repos

Adds a new menu item ‘Content -> OSTree Branches’ that enables one to search OSTree branches across different content views/lifecycle environments.

Create/update Composite Content View by Content View names in hammer

Versions of published content views can be added or removed from a composite content view via hammer. The version number and content view ID can now be used to identify the content view version to add to the composite content view. For example, to add version 1.2 of content view with ID 1 to composite view composite_cv:

hammer content-view add-version --name composite_cv --content-view-version 1.2 --content-view-version-content-view-id 1 --organization 'Default Organization'

You can remove a version in a similar way:

hammer content-view remove-version --name composite_cv --content-view-version 1.2 --content-view-version-content-view-id 1 --organization 'Default Organization'



  • [RFE] make it possible to run capsule-remove unattended (#16003, 010d458f)
  • Content Hosts: UI should have some indicator as if/which capsule is providing content (#15818, 69df0ec0)



Errata Management

  • add a way to manually generate applicability for a host (#16295, f9ea2ba2)

Content Views

  • Add content-view published status to “ hammer -u admin -p changeme content-view list” (#16302, 60ed450e)
  • [RFE] Content View - package filter version field too short for length of typical version strings (#16332, f6930f84)
  • Allow adding file type repositories to content views (#13661, 94e8f780)


    • “hammer content-host info” command should have information related to “Content Host Status” (#14829, 29520f64)
  • Create/update composite content-view by content-view Names (#14604, fa2c5214)
  • Test with Ruby 2.3 (#15691, 725801c8)
  • Listing product content for an activation key does not show correct state in Hammer (#16000, 41584f75, 028bd011)
  • Hostgroup info should show associated cv and lifecycle-environment (#15990, 5b617f3b)


  • As a UI user i like to select hosts to attach subscriptions (#10431, 95d7b249)


  • UI - As a user I want to be able to search rpm-ostree repos (#13953, 67d0bd27)

Web UI

Backup & Restore


  • [Sat6] allow multiple rpms to be added via content-view filter rule create API endpoint (#15536, ad75723f)
  • Use parameter_filter instead of attr_accessible (#15741, 328ee19a)



Bug Fixes



  • Create a preupgrade script to check systems before upgrades (#15611, fea48380)



  • Support large file uploads in the CLI (#16457, f060a2b3)
  • Following the README in setting up hammer-cli-katello, you get a gem dependency conflict (#16101, f46fbd64, 8f19345a)
  • [Sat6.2] command “hammer activation-key add-host-collection” fails if using option “–host-collection” with organization_id set to default 1 (#16034, 34ae3d3d)
  • Drop support for Ruby 2.0.0 (#15949, 44a80a49)
  • Fix the broken link to Travis in the Readme (#15934, 5fbe0fab)
  • Adjust coverage settings in hammer-cli-katello (#15927, 03f06430)
  • Hammer doesn’t handle removal of required :organization_id param on content_view and lifecycle_environment (#15830, e0bea267)
  • Allow Foreman objects to resolve using create_search_options_creators_without_katello_api (#15701, 18926cd6, d270200b)
  • Organization options for content-view and lifecycle-environment should fail gracefully for hammer hostgroups create/update (#15693, 101e9666)
  • hammer content-view create fails when component-ids are specified (#15678, d9551dc8)
  • Cannot create new content view (#15604, 6feaf353)
  • Remove Ruby 1.9.3 support from hammer-cli-katello Travis tests (#15593, 7b95d443)
  • Remove hammer content-host update - New command is hammer host update (#15589, 2597aaef)
  • [Sat6] allow multiple rpms to be added via hammer content-view filter rule create (#15537, 6dce9a75)
  • Use fully qualified object ::Foreman in #15420 (#15443, 39117d81)
  • Update test data with new API (#15436, a9fa1808)
  • Only require hammer_cli and hammer_cli_foreman from git in development and production (#15419, 650bb22e)
  • hammer hostgroup update or create command fails when using –organization-ids option fails (#15313, 2c7c6b6f)
  • hammer host-collection add-host/remove-host always return success (#15291, 2e3e5edf)
  • ‘hammer activation-key subscriptions’ shows already removed subscriptions (#15272, 9e72e0c8)
  • unable to remove ‘version’ parameter from command (#13636)
  • need way to attach a subscription to a content host w/ hammer (#9669, 14c96768)


  • capsule-certs-generate fails for missing parser cache (#16455, 95eea445)
  • Installer should support Puppet 3 and Puppet 4 cache directory (#16334, e7177df5)
  • katello-certs-check output should display a absolute path to certs (#16280, e03bc400)
  • Generate katello-installer’s parser cache for kafo and include in the source bundle (#15938, 7e43a9d2, 9fa93e0a)
  • Do not use facter anywhere in katello-installer (#15911, 57814d72)
  • Look at AIO data path for cached data (#15910, 3edf7534)
  • puppet-certs doesn’t support puppet 4 aio paths for SSL certificates (#15882, 55b0911f)
  • katello-installer may fail on machines with low RAM (#15696, 33f41e6d)
  • rake setup_local creates ./modules/modules (#15511, ce810a94)
  • Install fails if host puppet certs have already been generated (#15241, b54acb74)
  • Select Puppet::server_implementation from installer (#14602)
  • katello-certs-check should print absolute paths to certificates (#15775, b57b21e4)
  • The installer should check that the cert rpms installed on the system are corresponding to those present in ~/ssl-build (or in the capsule certs tar.gz) (#15538, df36e803, e1f168d7)
  • Making Upgrade from 3.1 RC2 to 3.1 Release (#16433, 4ea05178)


  • Handle import upload errors from pulp (#16451, f58088de)
  • Unable to upload large RPM files from Satellite UI (#16344, 0127b0ad)
  • look for treeinfo files when enabling a repo (#16278, 821d936d)
  • The refresh_repositsory file is misspelled as refresh_repostiory (#16157, be6cc4be)
  • Unable to sync Docker Containers to Satellite if repository already exists (#15971, 4f30704e)
  • Repository > Details: “Last Synced” for an unsynced repo looks silly. (#15933, 9cff370e)
  • Cannot add/remove repositories to a content view (#15869, a7dcac7e)
  • Enabling a repository needs to fail on pulp error (#15824, 236caa38)
  • Syncing a PULP_MANIFEST puppet repo over file:// fails with No such file or directory: u’///dir/modules.json’ (#15812, d72f8c10)
  • Incremental update task name should have more info (#15808, 133a4dde)
  • Opening Red Hat Repositories link without an uploaded manifest provides the user with a dead link (#15803, c7eb8c52)


GPG Keys

  • Inconsistent with capitalization of GPG keys across navigation, page title, and button (#16409, e77758e2)

Errata Management

  • Environment and content view not displayed for content host (#16399, d157380f)
  • dashboard latest errata shows untranslated strings (#15929, 3f888f37)
  • Cannot apply large sets of errata on errata page because the host search returns a 414 (#15376, d099e609)
  • Incremental Update fails with –update-all-systems (#16232, d715a3f1)


  • Removing katello-ca-consumer rpm should revert rhsm.conf (#16388, 8d75e8c8)
  • Large virt-who json may cause performance issue (#16228, a0ec0f2b)
  • calling enabled_repos always forces an errata applicability regeneration (#16209, 184c966c)
  • provide option to delete host with subscription-manager unregister (#15455, 71bf4797)
  • Re-Registering host with uppercase hostname errors ‘Name has already been taken’ (#15891, 54e881bf)
  • Facts updated twice by checkin (#16368, fb6aaf92)
  • unable to process virt-who data, fails with error: “Validation failed: Name is invalid, Name is invalid” (#16248, fdecd6dc)

Web UI

  • Content host detail page says “RAM (GB): 1024 MB” which is bit confusing (“GB” vs. “MB”) (#16370, 21c9750b)
  • Update All button is grayed out unless a package is selected. (#16341, 2062d106)
  • Javascript tests are failing on Jenkins (#16282, 11d70ff4)
  • Make manifest upload link on RH repositories page point to the actual manage manifest page. (#16078, 069e742a)
  • Search functionality stop to work after selecting Activation Key Association tab (#16033, 8ec1a101)
  • Free up space in content view version UI (#15986, 4c02361b)
  • Red Hat Repositories page not loading (#15832, a6008343)
  • Cron weekly katello-remove-orphans warnings sending mail (#15823, 0b7806c6)
  • Handle ‘use latest’ correctly when removing puppet modules from CVs (#15817, 8de4f8a9)
  • Update katello details page to use bastion nutupane action panel loading screen (#15545, 1de7a9dd)
  • Content host details page should be explicit about unregistered clients (#15456, e550e639)
  • When search results is zero, message returned is misleading (#14271, 20bac1b0)
  • guest subscriptions have incorrect link to hypervisor (#14218, 6eaa32d8)
  • no change in status color when assigning subscription to content host (#12569, d31947e0)


  • Error undefined method inject’ for nil:NilClass when no subscriptions are provided to bulk add/remove APi (#16369, d684dd81)
  • /api/v2/hosts/:id does not expose content_source_id (#15697, e6a7ba59)
  • Do not require organization_id when searching in content_views#index and katello/environments#index (#15672, b2640c53)
  • API ping don’t return information for foreman_auth service (#15582, 95d7b906)
  • API Missing route /organizations/:orgid/repositories to list all repos in an organization (#15487, 1de1c034)
  • full_results parameter is improperly defined in the API documentation (#15420, 49469e2e)


  • Breaking change in inherited_attributes method (#16359, f4dae3ca)
  • strong params filter incorrect for subscription_facet_attributes - cannot update hypervisor_guest_uuids or installed_products (#16173, c282e562)
  • Unregistering a Content Host can pause ListenOnCandlepinEvents with Candlepin::Consumer: 410 Gone error (#16170, 883c8066)
  • visiting new host page has js error of “KT is not defined” (#15512, 2ab1d40b)
  • Helper rake tasks not fully updated for Host Unification and Scoped search (#15721, 5f624ad3)

Content Views

  • Unpublished content views displayed in the content view list on the composite content view page [Web/UI] (#16346, eb439b09, a5ccff01)
  • Do not wrap description field in the Content View version listing (#16331, 1e332614)
  • The “Remove View” button for deleting a content view should say “Delete View” to match the confirmation submit button (#16271, b5e80512)
  • User shouldn’t be allowed to add same package in content-view filter repeatedly (#16186, a43dc492)
  • Probably should condense the list of puppet modules (and maybe other associations) for content view info (#15987, dd4aaadf)
  • Cannot delete a RedHat Product or Products with Repositories published in a Content View error does not help user (#15811, 63d1d08f)
  • hammer content-view version list ignores –organization{-id} options (#15796, 8e39aac8, c2956945)
  • Not able to select/publish “ Use Latest Version” of puppet module in content view (#15579, 57eaec9b)


  • Containers hosted on Atomic host not able to access Katello yum repos (#16343)

Foreman Integration


Activation Key

  • attaching subscription to an activation key causes UI error (#16189, db12c23b)


  • Update Katello to synchronize puppet content to capsule based on capsules puppet path. (#16456, c7a3b4f1)
  • Capsule auto-synchronization fails with an error ‘PLP0034’ (Katello::Errors::PulpError ) after publishing content view on satellite 6.2.0 (#16177, fd79377c)
  • Pulp storage error (#16064, 2bb06e19)


  • Add API Bulk Actions for add/remove/auto-attach subscriptions (#16038, e51d11fe)
  • hammer activation-key add-subscription/host subscription attach must accept pool ids (#16036, a66ae300)
  • Package upload action logs whole input as Parameters (#15940, 59e9f514)




  • upgrade_check fails because of running tasks (#15945, a0aeaa25)
  • Apache has 7x number of open files on capsule with satellite 6.2 compare to satellite 6.1 (#15841, b4ed05ec)
  • upgrade_check does not correctly determine active tasks (#15694, d12e6e67)
  • update_subscription_facet_backend_data step fails on upgrade (#16117, dfa26d40)
  • hypervisors are deleted upon upgrade to 3.0 (#15726, 93a2d186)
  • Error rendering info message in migration due to missed escaping (#15683, 70e6cf78)
  • Upgrade from Katello 3.0 to Katello 3.1 fails on apipie:cache task (#16441, a812f1f1)


  • Content dashboard has wrong links to [Invalid Insufficient Current] Subscriptions (#15941, 73cc4243)


  • Katello not receiving messages from candlepin (#15727, 72ad0375)
  • virt-who checkin should use default org view and should not overwrite existing registration (#15725, 6a9661b5)
  • Deleting a product with multiple repos results in candlepin error (#15482, 7e64292a)
  • undefined method [] for nil:NilClass related to activation_key pool association (#15749, 946f3c77)
  • VDC guest subscriptions showing as null in activation key (#16398, fe268976)

Roles and Permissions

  • 03-roles.rb seeds katello view_* filters for Viewer role multiple times (#15427, 7c71d45d)


  • Out of Memory error while syncing repo (#15101)
  • incremental export should be in same format as full export (#14915, b261110a)
  • Users should be warned during upgrade of long running Pulp migrations (#15660, ba43845f)
  • Errata Install to Content Host takes too long and doesn’t scale well (#15366, ab45b88e)


  • ListenOnCandlepinEvents pauses during manifest import (#15648, 66e98cb7)
  • katello 3.0 RC failing content promotion but can be resumed manually (#15428)


  • Cannot create new hostgroup via API/CLI (#16484, 5608b835)
  • katello-installer - exclude build dirs from from rubocop checking (#16469, 1e99296f)
  • Large files can’t be uploaded through content upload APIs (#16429, 68c5d7d1)
  • katello-service tool is missing smart_proxy_dynflow_core (#16373, d323d1c3)
  • Cannot create new organization via the web ui (#16304, f867be09)
  • Add description of remove-content to hammer repository help (#16247, 28ba5d4f)
  • Incorrect Next Sync date calculation in weekly Sync Plan (#16035, 08e85148)
  • Adjust coverage settings in Katello (#15998, 6fce27a8)
  • Autocomplete is not working. (#15917, 6c5b6f1e)
  • Content view version in progress tasks should take me to the task itself (#15892, 935afb3f)
  • capsule pulp disk usage is not available on rhel6 (#15673, 71b1a3b4)
  • New hammer host-collection hosts command does not expose any options (#15429, 8a8057e2)
  • Add a Readme for test/data directory on how to generate JSON api (#15305, 1e876e57)
  • migrate_content_hosts fails with unique constraint violation (#16137, 7c6a0017)
  • No proper subscriptions created for custom products (#15981, 54c453cd)
  • Migrate shouldn’t ping backends when there are no systems present (#15826, f70b73a8)
  • sync and publish emails are never sent (#16303, 319c4650)

Deprecation Warnings


Adam Price Adam Ruzicka Adam Saleh Adrian Likins Amos Benari Brad Buckingham Bryan Kearney Chris Alfonso Chris Duryee Chris Roberts Christine Fouant Clifford Perry David Davis Devan Goodwin Dmitri Dolguikh Dominic Cleal Dustin Tsang Eric D Helms Eric Sammons Gerhard Stoeckel Greg Sutcliffe Ivan Nečas Jakub Hadvig Jakub Steiner Jan Pazdziora Jason E. Rist Jason L Connor Jason Montleon Jeff Weiss Jordan OMara Joseph Magen Justin Sherrill Lukáš Zapletal Manjiri Tapaswi Marek Hulan Martin Bačovský Michael Mraka Michael Stead Michaux Kelley Mike McCune Miroslav Suchý Og B. Maciel Ohad Levy Ondrej Prazak Partha Aji Payal Godhani Pep Turro Mauri Petr Chalupa Shannon Hughes Stephen Benjamin Stephen Herr Tom McKay Tomas Strachota Tyler Smart Walden Raines

Foreman 2.3.3 has been released! Follow the quick start to install it.

Foreman 2.2.2 has been released! Follow the quick start to install it.