Migrating to Koji 1.11

The 1.11 release of Koji includes a several changes that you should consider when migrating.

DB Updates

There are a number of new tables and columns to support content generators. Here is a summary:
  • The btype table tracks the known btypes [LINK] in the system
  • The build_types table links builds to their btype(s)
  • The content_generator table tracks the known content generators in the system
  • The cg_users table tracks which users have access to which content generators
  • The buildroot table now tracks more generic buildroots
  • The standard_buildroot table tracks data for “normal” koji buildroots
  • Several tables now have an extra column that stores json data
  • There are several new entries in the archivetypes table
  • The image_listing table has been replace by the more general archive_rpm_components table
  • The new archive_components complements this and tracks non-rpm components

As in previous releases, we provide a migration script that updates the database.

# psql koji koji  </usr/share/doc/koji-1.11.0/docs/schema-upgrade-1.10-1.11.sql
Note: prior to this release, we had some interim update scripts:
  • schema-update-cgen.sql
  • schema-update-cgen2.sql

Most users should not need these scripts. The new schema upgrade script includes those changes.

Command line changes

The help command now shows a categorized list of commands.

The hello command now reports the authentication type.

Several commands support new arguments. Here are the notable changes:

add-tag
  • --extra : Set an extra option for tag at creation
watch-task
  • Supports several new task selection options
download-build
  • --rpm : Used to download a particular rpm by name
runroot
  • --new-chroot : Run command with the –new-chroot (systemd-nspawn) option to mock

And there are five new commands

  • assign-task
  • import-cg
  • grant-cg-access
  • revoke-cg-access
  • spin-livemedia

Client configuration options

The command line and several other tools support the following new configuration options:
  • use_old_ssl : Use the old ssl code instead of python-requests
  • no_ssl_verify : Disable certificate verification for https connections
  • upload_blocksize : Override the blocksize for uploads
  • krb_rdns : Use the fqdn of the server when authenticating via kerberos

The ca option is deprecated and no longer required for ssl authentication (serverca is still required).

Even if not using ssl authentication, the serverca option, if specified, is used to verify the certificate of the server.

Other Configuration changes

The Koji web interface supports the following new configuration options:
  • KrbRDNS : Use the fqdn of the server when authenticating via kerberos
  • LoginDisabled : Hide the login link at the top of the page

RPC API Changes

New rpc calls:
  • CGImport : Used by content generators
  • getBuildType : Returns typeinfo for a build
  • listBTypes : List the known btypes for the system
  • addBType : Adds a new btype
  • grantCGAccess : Grants a user content generator access
  • revokeCGAccess : Revokes content generator access
Changes to calls
  • Several information calls now return additional fields
  • getRPMDeps returns optional deps
  • listTasks supports new selection options
  • getLoggedInUser includes an authtype field