failed to use freezer-agent restore with --overwrite
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Backup/Restore and DR (Freezer) |
Fix Released
|
Undecided
|
Shangzhong Zhu |
Bug Description
The issue can be reproduced on CentOS7/tar 1.26,Ubuntu16.
SUSE11/tar 1.29.
Restore:
[root@cephfs102 .freezer]# freezer-agent --action restore --restore-abs-path /root/restore20
Critical Error: Restore dir is not empty. Please use --overwrite or provide different path.
Restore with --overwrite option:
[root@cephfs102 .freezer]# freezer-agent --action restore --restore-abs-path /root/restore20
Process Process-2:
Traceback (most recent call last):
File "/usr/lib64/
self.run()
File "/usr/lib64/
self.
File "/usr/lib/
self.
File "/usr/lib/
.format(
Exception: Restore process failed with return code: 2
Critical Error: ('Engine error. Failed to restore.', {})
LOGs:
2016-11-24 16:49:54.365 1786837 INFO freezer.main [-] Begin freezer agent process with args: ['/usr/
2016-11-24 16:49:54.366 1786837 INFO freezer.main [-] log file at /root/.
2016-11-24 16:49:54.371 1786837 INFO freezer.job [-] Validating args for the restore job.
2016-11-24 16:49:54.372 1786837 INFO freezer.main [-] Job execution Started at: 2016-11-24 16:49:54
2016-11-24 16:49:54.372 1786837 INFO freezer.job [-] Executing FS restore...
2016-11-24 16:49:54.372 1786837 INFO freezer.
2016-11-24 16:49:54.373 1786837 INFO freezer.
2016-11-24 16:49:54.374 1786837 INFO freezer.
2016-11-24 16:49:54.380 1786847 INFO freezer.
2016-11-24 16:49:54.698 1786847 INFO freezer.
2016-11-24 16:49:54.702 1786847 ERROR freezer.
/usr/bin/gtar: ./.git/hooks: Cannot unlink: Directory not empty
/usr/bin/gtar: ./.git/info: Cannot unlink: Directory not empty
/usr/bin/gtar: ./.git/logs: Cannot unlink: Directory not empty
/usr/bin/gtar: ./.git/logs/refs: Cannot unlink: Directory not empty
/usr/bin/gtar: ./.git/
/usr/bin/gtar: ./.git/
/usr/bin/gtar: ./.git/
/usr/bin/gtar: ./.git/objects: Cannot unlink: Directory not empty
/usr/bin/gtar: ./.git/
/usr/bin/gtar: ./.git/refs: Cannot unlink: Directory not empty
/usr/bin/gtar: ./.git/refs/heads: Cannot unlink: Directory not empty
/usr/bin/gtar: ./.git/
/usr/bin/gtar: ./.git/
/usr/bin/gtar: ./build: Cannot unlink: Directory not empty
/usr/bin/gtar: ./build/lib: Cannot unlink: Directory not empty
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./build/
/usr/bin/gtar: ./config-generator: Cannot unlink: Directory not empty
/usr/bin/gtar: ./devstack: Cannot unlink: Directory not empty
/usr/bin/gtar: ./devstack/lib: Cannot unlink: Directory not empty
/usr/bin/gtar: ./doc: Cannot unlink: Directory not empty
/usr/bin/gtar: ./doc/source: Cannot unlink: Directory not empty
/usr/bin/gtar: ./doc/source/admin: Cannot unlink: Directory not empty
/usr/bin/gtar: ./doc/source/dev: Cannot unlink: Directory not empty
/usr/bin/gtar: ./doc/source/
/usr/bin/gtar: ./doc/source/
/usr/bin/gtar: ./doc/source/user: Cannot unlink: Directory not empty
/usr/bin/gtar: ./etc: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer.egg-info: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer/common: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer/engine: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/lib: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/mode: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/scripts: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer/snapshot: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer/storage: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer/tests: Cannot unlink: Directory not empty
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/
/usr/bin/gtar: ./freezer/utils: Cannot unlink: Directory not empty
/usr/bin/gtar: ./releasenotes: Cannot unlink: Directory not empty
/usr/bin/gtar: ./releasenotes/
/usr/bin/gtar: ./releasenotes/
/usr/bin/gtar: ./releasenotes/
/usr/bin/gtar: ./specs: Cannot unlink: Directory not empty
/usr/bin/gtar: Exiting with failure status due to previous errors
2016-11-24 16:49:54.703 1786847 ERROR freezer.
2016-11-24 16:49:54.703 1786847 ERROR freezer.
2016-11-24 16:49:54.703 1786847 ERROR freezer.
2016-11-24 16:49:54.703 1786847 ERROR freezer.
2016-11-24 16:49:54.703 1786847 ERROR freezer.
2016-11-24 16:49:54.703 1786847 ERROR freezer.
2016-11-24 16:49:54.703 1786847 ERROR freezer.
2016-11-24 16:49:54.703 1786847 ERROR freezer.
2016-11-24 16:49:54.703 1786847 ERROR freezer.
2016-11-24 16:49:54.707 1786837 ERROR freezer.
2016-11-24 16:49:54.707 1786837 ERROR freezer.
2016-11-24 16:49:54.707 1786837 ERROR freezer.
2016-11-24 16:49:54.708 1786837 ERROR freezer.main [-] ('Engine error. Failed to restore.', {})
2016-11-24 16:49:54.708 1786837 ERROR freezer.main Traceback (most recent call last):
2016-11-24 16:49:54.708 1786837 ERROR freezer.main File "/usr/lib/
2016-11-24 16:49:54.708 1786837 ERROR freezer.main freezer_
2016-11-24 16:49:54.708 1786837 ERROR freezer.main File "/usr/lib/
2016-11-24 16:49:54.708 1786837 ERROR freezer.main return run_job(
2016-11-24 16:49:54.708 1786837 ERROR freezer.main File "/usr/lib/
2016-11-24 16:49:54.708 1786837 ERROR freezer.main response = freezer_
2016-11-24 16:49:54.708 1786837 ERROR freezer.main File "/usr/lib/
2016-11-24 16:49:54.708 1786837 ERROR freezer.main recent_
2016-11-24 16:49:54.708 1786837 ERROR freezer.main File "/usr/lib/
2016-11-24 16:49:54.708 1786837 ERROR freezer.main "Engine error. Failed to restore.")
2016-11-24 16:49:54.708 1786837 ERROR freezer.main EngineException: ('Engine error. Failed to restore.', {})
2016-11-24 16:49:54.708 1786837 ERROR freezer.main
2016-11-24 16:49:54.710 1786837 CRITICAL freezer.main [-] End freezer agent process unsuccessfully
2016-11-24 16:49:54.710 1786837 CRITICAL freezer.main [-] Critical Error: ('Engine error. Failed to restore.', {})
Changed in freezer: | |
assignee: | nobody → Shangzhong Zhu (zhusz) |
status: | New → In Progress |
CentOS7/tar 1.26: reBuilder( file: freezer/ engine/ tar/tar_ builders. py)
add --overwrite for UNIX_TEMPLATE in class TarCommandResto
it works well.
Ubuntu16.04/tar 1.28: reBuilder( file: freezer/ engine/ tar/tar_ builders. py)
add --overwrite for UNIX_TEMPLATE in class TarCommandResto
it works well.
SUSE11/tar 1.29 reBuilder( file: freezer/ engine/ tar/tar_ builders. py)
add --overwrite for UNIX_TEMPLATE in class TarCommandResto
tar: '--overwrite' cannot be used with '--unlink-first'
related to change: https:/ /review. openstack. org/#/c/ 351485/