def __init__(self): self.db = Db_Connector() # Using boto ec2 library to get info about running vms in an EC2 compatible environment region = boto.ec2.regioninfo.RegionInfo( name=cluster_config.INFRA, endpoint=cluster_config.IP_CLOUD_CONTROLLER) self.connection = boto.connect_ec2( aws_access_key_id=cluster_config.AWS_ACCESS_KEY_ID, aws_secret_access_key=cluster_config.AWS_SECRET_ACCESS_KEY, is_secure=False, region=region, port=cluster_config.EC2_INTERFACE_PORT_ON_CLOUD_CONTROLLER, path=cluster_config.PATH_TO_EC2_SERVICE) self.nodes = self.grepNodes() #Set up logging logging.basicConfig( level=logging.DEBUG, format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s', datefmt='%m-%d %H:%M', filename=cluster_config.PATH_TO_LOG_FILE) while True: vms = self.get_running_vms() #self.mark_terminated_vms(vms) self.store_vms_info(vms) self.mark_terminated_vms(vms) # Checks if any running vm has missing information (node placement, for example) self.update_vms_info() time.sleep(60)
def __init__(self): self.db = Db_Connector()