5 if __name__ == "__main__":
\r
7 if os.getenv("OPENCLOUD_PYTHONPATH"):
\r
8 sys.path.append( os.getenv("OPENCLOUD_PYTHONPATH") )
\r
10 print >> sys.stderr, "No OPENCLOUD_PYTHONPATH variable set. Assuming that OpenCloud is in PYTHONPATH"
\r
12 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "planetstack.settings")
\r
16 from logging import Logger
\r
17 logging.basicConfig( format='[%(levelname)s] [%(module)s:%(lineno)d] %(message)s' )
\r
18 logger = logging.getLogger()
\r
19 logger.setLevel( logging.INFO )
\r
21 # point to planetstack
\r
22 if __name__ != "__main__":
\r
23 if os.getenv("OPENCLOUD_PYTHONPATH") is not None:
\r
24 sys.path.insert(0, os.getenv("OPENCLOUD_PYTHONPATH"))
\r
26 logger.warning("No OPENCLOUD_PYTHONPATH set; assuming your PYTHONPATH works")
\r
29 from syndicate_storage.models import Volume
\r
30 from observer.deleter import Deleter
\r
32 from django.forms.models import model_to_dict
\r
35 # syndicatelib will be in steps/..
\r
36 parentdir = os.path.join(os.path.dirname(__file__),"..")
\r
37 sys.path.insert(0,parentdir)
\r
41 class VolumeDeleter(Deleter):
\r
44 def __init__(self, **args):
\r
45 Deleter.__init__(self, **args)
\r
47 def call(self, pk, model_dict):
\r
49 volume_name = model_dict['name']
\r
50 syndicatelib.ensure_volume_absent( volume_name )
\r
52 except Exception, e:
\r
53 traceback.print_exc()
\r
54 logger.exception("Failed to erase volume '%s'" % volume_name)
\r
58 if __name__ == "__main__":
\r
59 vd = VolumeDeleter()
\r
61 all_volumes = Volume.objects.all()
\r
62 for vol in all_volumes:
\r
63 vd( vol.pk, model_to_dict( vol ) )
\r