Пример #1
0
def main():
    # Dump configuration
    print 'Cloning: %s ' % clone_names
    
    # Create drones
    drones.main()
    
    # Connect
    global connections
    connections = util.connect_all()
    
    try:
        # Shutdown all running VMs 
        shutdownall()
        
        reactor.callLater(0, next_vm)
        
        print 'Starting reactor'
        reactor.run()
        print 'Reactor returned'
        
    finally:
        util.close_all(connections)
Пример #2
0
def init():
    # Build drones
    drones.main()
    
    # Start clone queue listener
    _wait_for_next_entry()
Пример #3
0
        # Templating engine
        templ = Template(data)
        d = dict(hostname=vm)
        templ = templ.substitute(d)
            
        # Write result configuration
        config = open('drones/setup_vm/main.sh', 'w')
        config.writelines(templ)
        config.close()
    except Exception, e:
        traceback.print_exc(file=sys.stdout)
        reactor.stop()
        return
   
    # Rebuild drones
    drones.main()
    
    # Load and execute drone
    print 'Waiting for drone...'
    drone = drones.load_drone('setup_vm')
    ret.launchNoWait(drone.data, drone.name).addCallback(update_done, vm, ret)
        

def error(err, vm):
    print 'Connection failed, waiting and trying again...'
    reactor.callLater(20, setup, vm)
    

def setup(vm):
    print 'Connecting with new domain...'