OpenSecurity/bin/opensecurityd.pyw
changeset 170 81d5f845d966
parent 165 a1b7a5a48a1e
child 171 2701e921bf4c
     1.1 --- a/OpenSecurity/bin/opensecurityd.pyw	Tue May 20 15:26:03 2014 +0200
     1.2 +++ b/OpenSecurity/bin/opensecurityd.pyw	Thu May 22 16:01:28 2014 +0100
     1.3 @@ -124,7 +124,7 @@
     1.4  
     1.5          machine_folder = Cygwin.cygPath(gvm_mgr.getMachineFolder()) 
     1.6          download_initial_image_script = Cygwin.cygPath(os.path.abspath(os.path.join(os.path.split(__file__)[0], 'download_initial_image.sh')))
     1.7 -        Cygwin.bashExecute(download_initial_image_script + ' \'' + machine_folder + '\'', wait_return = False, stdout = trace_file, stderr = trace_file) 
     1.8 +        Cygwin.bashExecute('\\"' + download_initial_image_script + '\\" \'' + machine_folder + '\'', wait_return = False, stdout = trace_file, stderr = trace_file) 
     1.9  
    1.10          res = '{ "fetch_log": "' + trace_file_name.replace('\\', '\\\\') + '" }'
    1.11          return res
    1.12 @@ -140,12 +140,22 @@
    1.13          log_call(web.ctx.environ)
    1.14          global gvm_mgr
    1.15  
    1.16 +        gvm_mgr.stop()
    1.17 +        gvm_mgr.cleanup()
    1.18 +        
    1.19 +        if gvm_mgr.vmRootName in gvm_mgr.listVM():
    1.20 +            gvm_mgr.poweroffVM(gvm_mgr.vmRootName)
    1.21 +            gvm_mgr.storageDetach(gvm_mgr.vmRootName)
    1.22 +            gvm_mgr.removeSnapshots(gvm_mgr.vmRootName)
    1.23 +            #TODO:// unregister vmdk with the vbox
    1.24 +            gvm_mgr.removeVMFolder(gvm_mgr.vmRootName)
    1.25 +        
    1.26          trace_file_name = os.path.join(Environment('OpenSecurity').log_path, 'OpenSecurity_initial_import.log')
    1.27          trace_file = open(trace_file_name, 'w+')
    1.28  
    1.29          vm_image = Cygwin.cygPath(gvm_mgr.getMachineFolder()) + '/OsecVM.ova'
    1.30          initial_import_script = Cygwin.cygPath(os.path.abspath(os.path.join(os.path.split(__file__)[0], 'initial_vm.sh')))
    1.31 -        Cygwin.bashExecute(initial_import_script + ' \'' + vm_image + '\'', wait_return = False, stdout = trace_file, stderr = trace_file) 
    1.32 +        Cygwin.bashExecute('\\"' + initial_import_script + '\\" \'' + vm_image + '\'', wait_return = False, stdout = trace_file, stderr = trace_file) 
    1.33  
    1.34          res = '{ "init_log": "' + trace_file_name.replace('\\', '\\\\') + '" }'
    1.35          return res
    1.36 @@ -348,6 +358,7 @@
    1.37      def GET(self):
    1.38          log_call(web.ctx.environ)
    1.39          global gvm_mgr
    1.40 +        gvm_mgr.stop()
    1.41          gvm_mgr.cleanup()
    1.42          global server
    1.43          server.stop()
    1.44 @@ -427,9 +438,8 @@
    1.45      # gracefully
    1.46      sys.exit(0)
    1.47  
    1.48 -
    1.49 -
    1.50  # start
    1.51  if __name__ == "__main__":
    1.52      main()
    1.53 +    sys.exit(0)
    1.54