def __init__(self): """Init method for the Report helper class.""" self.s3 = S3Helper() self.pg = Postgres() self.conn = self.pg.conn self.cursor = self.pg.cursor self.unknown_deps_helper = UnknownDepsReportHelper() self.sentry_helper = SentryReportHelper() self.npm_model_bucket = os.getenv('NPM_MODEL_BUCKET') self.maven_model_bucket = os.getenv('MAVEN_MODEL_BUCKET') self.pypi_model_bucket = os.getenv('PYPI_MODEL_BUCKET') self.golang_model_bucket = os.getenv('GOLANG_MODEL_BUCKET') self.maven_training_repo = os.getenv( 'MAVEN_TRAINING_REPO', 'https://github.com/fabric8-analytics/f8a-hpf-insights') self.npm_training_repo = os.getenv( 'NPM_TRAINING_REPO', 'https://github.com/fabric8-analytics/fabric8-analytics-npm-insights' ) self.golang_training_repo = os.getenv( 'GOLANG_TRAINING_REPO', 'https://github.com/fabric8-analytics/f8a-golang-insights') self.pypi_training_repo = os.getenv( 'PYPI_TRAINING_REPO', 'https://github.com/fabric8-analytics/f8a-pypi-insights') self.emr_api = os.getenv('EMR_API', 'http://f8a-emr-deployment:6006')
def __init__(self): """Init method for SentryReportHelper.""" self.s3 = S3Helper() self.sentry_url = os.getenv('SENTRY_URL', 'https://sentry.devshift.net') self.sentry_api_issues = self.sentry_url + os.getenv( 'SENTRY_API_ISSUES', '/api/0/projects/sentry/fabric8-analytics-production/issues/') self.sentry_api_tags = self.sentry_url + os.getenv('SENTRY_API_TAGS', '/api/0/issues/') self.sentry_token = os.getenv('SENTRY_AUTH_TOKEN', '')
def save_worker_result_to_s3(frequency, report_name, content) -> bool: """Save worker result in S3 bucket. :param frequency: Frequency of Reporting ( daily/ monthly) :param report_name: Name of File/ Report. :param content: File Content to be saved in S3 :return: True: Save Success, False: Saved Fail """ logger.info("Trying to save report file") try: s3 = S3Helper() obj_key = f'v2/{frequency}/{report_name}.json' s3.store_json_content(content=content, obj_key=obj_key, bucket_name=s3.report_bucket_name) logger.info(f"Successfully saved report in {obj_key}.") return True except Exception as e: logger.exception(f'Unable to store the report on S3. Reason: {e}') return False
def __init__(self): """Init method for the Report helper class.""" self.s3 = S3Helper() self.curr_dir = os.path.join('/tmp', "dynamic_manifests") if not os.path.exists(self.curr_dir): os.makedirs(self.curr_dir)
def __init__(self): """Init method for UnknownDepReportHelper.""" self.s3 = S3Helper()
def __upload_to_s3(self, file_path, key_name): s3h = S3Helper() bucket_name = os.environ['S3_CHANGE_FEED_BUCKET_NAME'] s3h.upload(file_path, bucket_name, key_name)