Migrates Apex to Python
[apex.git] / apex / clean.py
similarity index 64%
rename from lib/python/apex/clean.py
rename to apex/clean.py
index 184b5ec..af9e8ce 100644 (file)
@@ -9,7 +9,9 @@
 
 # Clean will eventually be migrated to this file
 
+import argparse
 import logging
+import os
 import pyipmi
 import pyipmi.interfaces
 import sys
@@ -37,3 +39,27 @@ def clean_nodes(inventory):
         except Exception as e:
             logging.error("Failure while shutting down node {}".format(e))
             sys.exit(1)
+
+
+def main():
+    clean_parser = argparse.ArgumentParser()
+    clean_parser.add_argument('-f',
+                              dest='inv_file',
+                              required=True,
+                              help='File which contains inventory')
+    args = clean_parser.parse_args(sys.argv[1:])
+    os.makedirs(os.path.dirname('./apex_clean.log'), exist_ok=True)
+    formatter = '%(asctime)s %(levelname)s: %(message)s'
+    logging.basicConfig(filename='./apex_clean.log',
+                        format=formatter,
+                        datefmt='%m/%d/%Y %I:%M:%S %p',
+                        level=logging.DEBUG)
+    console = logging.StreamHandler()
+    console.setLevel(logging.DEBUG)
+    console.setFormatter(logging.Formatter(formatter))
+    logging.getLogger('').addHandler(console)
+    clean_nodes(args.inv_file)
+
+
+if __name__ == '__main__':
+    main()