Comment 7 for bug 1801316

Revision history for this message
Alan Bishop (alan-bishop) wrote :

This issue is present in queens, and so the fix needs to be backported to
stable/queens. The problem happens when upgrading from pike to queens
*without* changing the backup_driver to the new (in queens) format that
specifies the class name instead of the module name.

In pike, create a backup with backup_driver=cinder.backup.drivers.service,
then upgrade to queens. ("service" is a placeholder for any specific backend
driver, such as swift, ceph, etc.)

In queens, backup_driver=cinder.backup.drivers.service is deprecated, but
still valid. Support for loading a driver by module name was finally
deprecated in stein (https://review.opendev.org/595372).

However, https://review.opendev.org/515577 (which fixed another bug that is
similar to this one) includes an online DB migration that updates the pike
DB entries so they presume the backup_driver includes the class name. See [1].

[1] https://review.opendev.org/#/c/515577/9/cinder/db/sqlalchemy/api.py

This creates a situation where you have queens code running with
backup_driver=cinder.backup.drivers.service, but backups created during pike
have DB entries with cinder.backup.drivers.service.ServiceBackupDriver