Exemplo n.º 1
0
 def action(self):
     print "stopping glassfish and rain DRIVER_NODES..."
     logger.info('stopping glassfish and rain DRIVER_NODES')
     
     # List of deferred objects
     dlist = []
     
     print('stopping glassfish on targets: '),
     for target in self.blackboard.hosts.get_hosts('target'):
         print target 
         d = base.launch(self.blackboard.hosts, self.blackboard.client_list, target, 'glassfish_stop')
         dlist.append(d)
     print ''
     
     print('stopping rain on targets: '),
     for target in self.blackboard.hosts.get_hosts('load'):
         print target
         d = base.launch(self.blackboard.hosts, self.blackboard.client_list, target, 'rain_stop')
         dlist.append(d)
     print ''
     
     # Wait for all drones to terminate
     dl = defer.DeferredList(dlist)
     d = defer.Deferred()
     dl.addCallback(self.ok, d)
     return d
Exemplo n.º 2
0
def phase_start_glassfish_database(done, client_list):
    """
    Rain has to be started after Glassfish is running! This is important because 
    the Rain Tracks of the SpecJ driver are accessing the Glassfish services. 
    """
    print 'starting glassfish and database...'
    logger.info('starting glassfish and database')
    
    try:
        dlist = []
        
        for target in hosts.get_hosts('target'):
            print '   * starting glassfish on target %s' % (target) 
            d = base.launch(client_list, target, 'glassfish_start', wait=False)
            dlist.append(d)
            
            d = base.poll_for_message(client_list, target, 'glassfish_wait', 'domain1 running')
            dlist.append(d)
        
        # Fill database in parallel
        if INIT_DB:
            for target in hosts.get_hosts('database'):
                print '   * initializing database on target %s' % (target)
                d = base.launch(client_list, target, 'spec_dbload')
                dlist.append(d)
        
        # Wait for all drones to finish and set phase
        dl = defer.DeferredList(dlist)
        
        dl.addCallback(phase_start_rain, client_list)
        # dl.addCallback(finished, client_list)
    except Exception, e:
        print e
        finished(None, client_list)
Exemplo n.º 3
0
 def action(self):
     logger.info('Rerconfiguring glassfish')
     try:
         # Deferred list
         dlist = []
         
         # Run drone on all target domains
         for target in self.blackboard.hosts.get_hosts('target'):
             print '   * configuring glassfish on target %s' % (target)
             
             # mysql_name = target.replace('glassfish', 'mysql')
             mysql_name = 'localhost'
             print '     using mysql name: %s' % (mysql_name)
             drones.prepare_drone('glassfish_configure', 'domain.xml', mysql_server=mysql_name, targetHostName=target)
             drones.create_drone('glassfish_configure')
             
             d = base.launch(self.blackboard.hosts, self.blackboard.client_list, target, 'glassfish_configure', wait=True)
             dlist.append(d)
         
         # Wait for all drones to finish and set phase
         dl = defer.DeferredList(dlist)
         d = defer.Deferred()
         dl.addCallback(self.ok, d)
         return d
         
     except Exception, e:
         print 'FATAL: Error while configuring glassfish'
         print e
         return False
Exemplo n.º 4
0
 def action(self):
     print 'Starting glassfish...'
     logger.info('starting glassfish')
     
     try:
         # Deferred list
         dlist = []
         
         # For all target domains
         for target in self.blackboard.hosts.get_hosts('target'):
             print '   * starting glassfish on target %s' % (target) 
             d = base.launch(self.blackboard.hosts, self.blackboard.client_list, target, 'glassfish_start', wait=False)
             dlist.append(d)
             
             print '   * waiting for glassfish on target %s' % (target)
             d = base.poll_for_message(self.blackboard.hosts, self.blackboard.client_list, target, 'glassfish_wait', 'Name: domain1 Status: Running')
             dlist.append(d)
         
         # Wait for all drones to finish and set phase
         d = defer.Deferred()
         dl = defer.DeferredList(dlist)
         dl.addCallback(self.ok, d)
         return d
         
     except Exception, e:
         print e
         logger.error(e)
         return False
Exemplo n.º 5
0
def phase_configure_glassfish(client_list):
    print 'reconfiguring glassfish ...'
    logger.info('reconfiguring glassfish')
    
    try:
        
        dlist = []
        
        for target in hosts.get_hosts('target'):
            print '   * configuring glassfish on target %s' % (target)
            
            # mysql_name = target.replace('glassfish', 'mysql')
            mysql_name = 'localhost'
            print '     using mysql name: %s' % (mysql_name)
            drones.prepare_drone('glassfish_configure', 'domain.xml', mysql_server=mysql_name)
            drones.create_drone('glassfish_configure')
            
            d = base.launch(client_list, target, 'glassfish_configure', wait=True)
            dlist.append(d)
        
        # Wait for all drones to finish and set phase
        dl = defer.DeferredList(dlist)
        
        dl.addCallback(phase_start_glassfish_database, client_list)
        # dl.addCallback(finished, client_list)
        
    except Exception, e:
        print e
        finished(None, client_list)
Exemplo n.º 6
0
def shutdown_glassfish_rain(client_list, ret=None):
    print "stopping glassfish and rain DRIVER_NODES..."
    logger.info('stopping glassfish and rain DRIVER_NODES')
    
    dlist = []
    
    for target in hosts.get_hosts('target'):
        print 'stopping glassfish on target %s' % (target) 
        d = base.launch(client_list, target, 'glassfish_stop')
        dlist.append(d)
    
    for target in hosts.get_hosts('load'):
        print 'stopping rain on target %s' % (target)
        d = base.launch(client_list, target, 'rain_stop')
        dlist.append(d)
    
    dl = defer.DeferredList(dlist)
    dl.addCallback(finished_end, client_list)
Exemplo n.º 7
0
 def action(self):
     print 'starting database...'
     logger.info('starting database')
     
     try:
         dlist = []
         for target in hosts.get_hosts('database'):
             print '   * initializing database on target %s' % (target)
             d = base.launch(self.blackboard.client_list, target, 'spec_dbload')
             dlist.append(d)
         
         # Wait for all drones to finish and set phase
         d = defer.Deferred()
         dl = defer.DeferredList(dlist)
         dl.addCallback(self.ok, d)
         return d
         
     except Exception, e:
         print e
         return False
Exemplo n.º 8
0
 def action(self):
     print 'Starting MySQL database...'
     logger.info('starting database')
     
     try:
         # List of deferred objects
         dlist = []
         
         # Trigger drone on all domains
         for target in self.blackboard.hosts.get_hosts('database'):
             print '   * initializing database on host %s' % (target)
             d = base.launch(self.blackboard.hosts, self.blackboard.client_list, target, 'spec_dbload', wait=True)
             dlist.append(d)
         
         # Wait for all drones to finish and set phase
         d = defer.Deferred()
         dl = defer.DeferredList(dlist)
         dl.addCallback(self.ok, d)
         return d
     
     except Exception, e:
         # Log error and exit this action with a failure
         logger.error(e)
         return False