Comment 0 for bug 1808552

Revision history for this message
Mohamed El Gindi (gindi) wrote :

Restore not working on windows 10 python 2.7 for 2 reasons:

1. Because of this commit https://github.com/openstack/freezer/commit/b08c785b78484902217b418c872068389f6aeac9

Looks for '/bin/bash' executable in freezer\engine\tar\tar.py, but it doesn't exist in Windows. (fixable by editing code)

2. Multiprocessing module seems to have problems pickling/unpickling.

Command:

freezer-agent --action restore --mode fs --restore-abs-path C:\Users\Administrator\Documents\freezer_dir --container freezer_win --backup-name test_win --log-file C:\Users\Administrator\Documents\freezer.log

Result:

Critical Error: Can't pickle <type 'thread.lock'>: it's not found as thread.lock

C:\Users\Administrator\Documents>Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\multiprocessing\forking.py", line 381, in main
    self = load(from_parent)
  File "C:\Python27\lib\pickle.py", line 1378, in load
    return Unpickler(file).load()
  File "C:\Python27\lib\pickle.py", line 858, in load
p dispatch[key](self)
  File "C:\Python27\lib\pickle.py", line 880, in load_eof
    raise EOFError
EOFError

More logging in log file:

2018-12-07 02:31:38.471 4084 INFO freezer.engine.engine [-] Creating restore path: C:\Users\Administrator\Documents\freezer_dir
2018-12-07 02:31:38.497 4084 INFO freezer.engine.engine [-] Restore path creation completed
2018-12-07 02:31:43.293 4084 INFO freezer.engine.engine [-] Restoring backup undefined-2016_test_win
2018-12-07 02:31:43.295 4084 INFO freezer.engine.engine [-] Restoring from level 0
2018-12-07 02:31:43.351 4084 ERROR freezer.main [-] Can't pickle <type 'thread.lock'>: it's not found as thread.lock: PicklingError: Can't pickle <type 'thread.lock'>: it's not found as thread.lock
2018-12-07 02:31:43.351 4084 ERROR freezer.main Traceback (most recent call last):
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\main.py", line 271, in main
2018-12-07 02:31:43.351 4084 ERROR freezer.main freezer_main(backup_args)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\main.py", line 138, in freezer_main
2018-12-07 02:31:43.351 4084 ERROR freezer.main return run_job(backup_args, storage)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\main.py", line 151, in run_job
2018-12-07 02:31:43.351 4084 ERROR freezer.main response = freezer_job.execute()
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\job.py", line 393, in execute
2018-12-07 02:31:43.351 4084 ERROR freezer.main backup_media=conf.mode)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\site-packages\freezer\engine\engine.py", line 268, in restore
2018-12-07 02:31:43.351 4084 ERROR freezer.main process_stream.start()
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\multiprocessing\process.py", line 130, in start
2018-12-07 02:31:43.351 4084 ERROR freezer.main self._popen = Popen(self)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\multiprocessing\forking.py", line 277, in __init__
2018-12-07 02:31:43.351 4084 ERROR freezer.main dump(process_obj, to_child, HIGHEST_PROTOCOL)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\multiprocessing\forking.py", line 199, in dump
2018-12-07 02:31:43.351 4084 ERROR freezer.main ForkingPickler(file, protocol).dump(obj)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 224, in dump
2018-12-07 02:31:43.351 4084 ERROR freezer.main self.save(obj)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 331, in save
2018-12-07 02:31:43.351 4084 ERROR freezer.main self.save_reduce(obj=obj, *rv)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 419, in save_reduce
2018-12-07 02:31:43.351 4084 ERROR freezer.main save(state)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 286, in save
2018-12-07 02:31:43.351 4084 ERROR freezer.main f(self, obj) # Call unbound method with explicit self
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 649, in save_dict
2018-12-07 02:31:43.351 4084 ERROR freezer.main self._batch_setitems(obj.iteritems())
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 681, in _batch_setitems
2018-12-07 02:31:43.351 4084 ERROR freezer.main save(v)
2018-12-07 02:31:43.351 4084 ERROR freezer.main File "C:\Python27\lib\pickle.py", line 286, in save