Removing a local filesystem raises an OSError
degremont opened this issue · comments
When removing a filesystem local to the current, where the node running the Shine command is also a member of the filesystem, Shine raises an OSError
fs_name: foo
nid_map: nodes=ip-172-31-30-101 nids=ip-172-31-30-101@tcp
mgt: node=ip-172-31-30-101 mode=external
mount_path: /mnt/foo
client: node=ip-172-31-30-101
# shine remove -f foo
Please confirm the removal of filesystem ``foo'' (y)es/(N)o: y
Removing filesystem foo...
Unregistering FS foo from backend...
Traceback (most recent call last):
File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/ec2-user/shine/lib/Shine/Controller.py", line 297, in <module>
run()
File "/home/ec2-user/shine/lib/Shine/Controller.py", line 294, in run
Controller().run_command()
File "/home/ec2-user/shine/lib/Shine/Controller.py", line 256, in run_command
rc = command.filter_rc(command.execute())
File "/home/ec2-user/shine/lib/Shine/Commands/Remove.py", line 63, in execute
return FSLiveCommand.execute(self)
File "/home/ec2-user/shine/lib/Shine/Commands/Base/FSLiveCommand.py", line 108, in execute
result = max(result, self.execute_fs(fs, fs_conf, eh, vlevel))
File "/home/ec2-user/shine/lib/Shine/Commands/Remove.py", line 120, in execute_fs
retcode = self.unregister_fs(fs_conf)
File "/home/ec2-user/shine/lib/Shine/Commands/Remove.py", line 150, in unregister_fs
fs_conf.unregister_fs()
File "/home/ec2-user/shine/lib/Shine/Configuration/Configuration.py", line 262, in unregister_fs
self._fs.unregister()
File "/home/ec2-user/shine/lib/Shine/Configuration/FileSystem.py", line 520, in unregister
os.unlink(self.xmf_path)
OSError: [Errno 2] No such file or directory: '/var/cache/shine/conf/foo.xmf'