Environment: Ubuntu Bionic, OpenStack Train, Volume and Backup Driver Ceph
Steps to reproduce:
1) Create a volume v1 as user demo
2) Create a full backup of v1 as user admin
3) Create an incremental backup of v1 as user demo
4) Result: Backup is created successfully, but error in logs. Logs do not show INFO message and parent_backup.num_dependent_backups is not incremented [0].
Expectation: Either no error successfully finishing method create_backup, or not creating backup at all, with backup entity set as Error (see below).
Using POSIX driver, the backup is not created successfully and backup entity remains in error state. The POSIX driver tries to read backup.parent_id before creating the backup therefore raises the error earlier.
Trace:
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server [req-19fccda2-b765-4b68-9663-aeae5cf3002e 3bee8c02ecce4744af287b3b8dd40ca5 9370e1e898214d88bd9eda4f88eccba9 - f883c6315a004471b2ab1b04d8a111d9 f883c6315a004471b2ab1b04d8a111d9] Exception during message handling: cinder.exception.BackupNotFound: Backup 7a15b9ec-7648-483f-ad32-6074567eca2a could not be found.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server Traceback (most recent call last):
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/oslo_messaging/rpc/server.py", line 165, in _process_incoming
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server res = self.dispatcher.dispatch(message)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/oslo_messaging/rpc/dispatcher.py", line 274, in dispatch
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server return self._do_dispatch(endpoint, method, ctxt, args)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/oslo_messaging/rpc/dispatcher.py", line 194, in _do_dispatch
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server result = func(ctxt, **new_args)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/cinder/backup/manager.py", line 447, in create_backup
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server backup.parent_id)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/cinder/objects/base.py", line 352, in get_by_id
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server orm_obj = db.get_by_id(context, cls.model, id, *args, **kwargs)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/cinder/db/api.py", line 1801, in get_by_id
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server return IMPL.get_by_id(context, model, id, *args, **kwargs)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/cinder/db/sqlalchemy/api.py", line 189, in wrapper
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server return f(*args, **kwargs)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/cinder/db/sqlalchemy/api.py", line 7125, in get_by_id
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server return _GET_METHODS[model](context, id, *args, **kwargs)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/cinder/db/sqlalchemy/api.py", line 189, in wrapper
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server return f(*args, **kwargs)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/cinder/db/sqlalchemy/api.py", line 5154, in backup_get
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server project_only=project_only)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server File "/usr/lib/python3/dist-packages/cinder/db/sqlalchemy/api.py", line 5165, in _backup_get
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server raise exception.BackupNotFound(backup_id=backup_id)
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server cinder.exception.BackupNotFound: Backup 7a15b9ec-7648-483f-ad32-6074567eca2a could not be found.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.rpc.server
Environment: Ubuntu Bionic, OpenStack Train, Volume and Backup Driver Ceph
Steps to reproduce:
1) Create a volume v1 as user demo backup. num_dependent_ backups is not incremented [0].
2) Create a full backup of v1 as user admin
3) Create an incremental backup of v1 as user demo
4) Result: Backup is created successfully, but error in logs. Logs do not show INFO message and parent_
Expectation: Either no error successfully finishing method create_backup, or not creating backup at all, with backup entity set as Error (see below).
Using POSIX driver, the backup is not created successfully and backup entity remains in error state. The POSIX driver tries to read backup.parent_id before creating the backup therefore raises the error earlier.
Trace:
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging. rpc.server [req-19fccda2- b765-4b68- 9663-aeae5cf300 2e 3bee8c02ecce474 4af287b3b8dd40c a5 9370e1e898214d8 8bd9eda4f88eccb a9 - f883c6315a00447 1b2ab1b04d8a111 d9 f883c6315a00447 1b2ab1b04d8a111 d9] Exception during message handling: cinder. exception. BackupNotFound: Backup 7a15b9ec- 7648-483f- ad32-6074567eca 2a could not be found. rpc.server Traceback (most recent call last): rpc.server File "/usr/lib/ python3/ dist-packages/ oslo_messaging/ rpc/server. py", line 165, in _process_incoming rpc.server res = self.dispatcher .dispatch( message) rpc.server File "/usr/lib/ python3/ dist-packages/ oslo_messaging/ rpc/dispatcher. py", line 274, in dispatch rpc.server return self._do_ dispatch( endpoint, method, ctxt, args) rpc.server File "/usr/lib/ python3/ dist-packages/ oslo_messaging/ rpc/dispatcher. py", line 194, in _do_dispatch rpc.server result = func(ctxt, **new_args) rpc.server File "/usr/lib/ python3/ dist-packages/ cinder/ backup/ manager. py", line 447, in create_backup rpc.server backup.parent_id) rpc.server File "/usr/lib/ python3/ dist-packages/ cinder/ objects/ base.py" , line 352, in get_by_id rpc.server orm_obj = db.get_ by_id(context, cls.model, id, *args, **kwargs) rpc.server File "/usr/lib/ python3/ dist-packages/ cinder/ db/api. py", line 1801, in get_by_id rpc.server return IMPL.get_ by_id(context, model, id, *args, **kwargs) rpc.server File "/usr/lib/ python3/ dist-packages/ cinder/ db/sqlalchemy/ api.py" , line 189, in wrapper rpc.server return f(*args, **kwargs) rpc.server File "/usr/lib/ python3/ dist-packages/ cinder/ db/sqlalchemy/ api.py" , line 7125, in get_by_id rpc.server return _GET_METHODS[ model]( context, id, *args, **kwargs) rpc.server File "/usr/lib/ python3/ dist-packages/ cinder/ db/sqlalchemy/ api.py" , line 189, in wrapper rpc.server return f(*args, **kwargs) rpc.server File "/usr/lib/ python3/ dist-packages/ cinder/ db/sqlalchemy/ api.py" , line 5154, in backup_get rpc.server project_ only=project_ only) rpc.server File "/usr/lib/ python3/ dist-packages/ cinder/ db/sqlalchemy/ api.py" , line 5165, in _backup_get rpc.server raise exception. BackupNotFound( backup_ id=backup_ id) rpc.server cinder. exception. BackupNotFound: Backup 7a15b9ec- 7648-483f- ad32-6074567eca 2a could not be found. rpc.server
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
2020-03-30 14:53:21.341 25018 ERROR oslo_messaging.
[0] https:/ /github. com/openstack/ cinder/ blob/e79b98367b d72f0323258dc05 06de28b31c4aa48 /cinder/ backup/ manager. py#L448