+ # in fedora20 we have some difficulty in properly cleaning up /vservers/<slicename>
+ # also note that running e.g. btrfs subvolume create /vservers/.lvref/image /vservers/foo
+ # behaves differently, whether /vservers/foo exists or not:
+ # if /vservers/foo does not exist, it creates /vservers/foo
+ # but if it does exist, then it creates /vservers/foo/image !!
+ # so we need to check the expected container rootfs does not exist yet
+ if not os.path.exists (containerDir):
+ pass
+ else:
+ # if it's empty then let's clean it up
+ if not os.listdir(containerDir):
+ # clean up rootfs as userdel will only take care of /home/<slicename>
+ logger.log("sliver_lxc: %s: WARNING cleaning up empty %s"%(name,containerDir))
+ command = ['btrfs', 'subvolume', 'delete', containerDir]
+ logger.log_call(command, timeout=60)
+ # re-check
+ if os.path.exists (containerDir):
+ logger.log('sliver_lxc: %s: ERROR Could not create sliver - could not clean up empty %s'%(name,containerDir))
+ return
+ else:
+ logger.log('sliver_lxc: %s: ERROR Could not create sliver - could not clean up pre-existing %s'%(name,containerDir))
+ return
+