def terminate(self, delete_logs): try: load_balancer_handle = self._get_load_balancer_handle() conn = boto.ec2.elb.connect_to_region(self.region, **self.aws_credentials) _logger.info("Deleting load balancer: %s" % load_balancer_handle.name) conn.delete_load_balancer(load_balancer_handle.name) except: _logger.error( "Could not delete load balancer. Please manually delete the following load " "balancer: %s" % self.load_balancer_dns_name ) # Terminate all hosts try: host_ids = [i.id for i in load_balancer_handle.instances] _stop_instances(host_ids, self.region, credentials=self.aws_credentials) except: _logger.error("Could not terminate hosts. Please manually terminate from the AWS console.") if delete_logs: _logger.info("Deleting log files.") try: s3_recursive_delete(self.log_path, self.aws_credentials) except: _logger.info("Could not delete log file. Please manually delete files under: %s" % self.log_path) # Delete the server certificate if self.certificate_name: conn = boto.iam.connection.IAMConnection(**self.aws_credentials) conn.delete_server_cert(self.certificate_name)
def terminate(self, delete_logs): _logger.info("Terminating service.") try: if self.web_server: _logger.info("Terminating web server.") self.web_server.terminate() except: pass try: if self.graphlab_service: _logger.info("Terminating graphlab_service.") self.graphlab_service.terminate() except: pass try: if self.redis_manager: _logger.info("Terminating redis manager.") self.redis_manager.terminate() except: pass if delete_logs: _logger.info("Deleting log files.") try: s3_recursive_delete(self.log_path) except: _logger.info("Could not delete log file. Please manually delete files under: %s" % self.log_path)