Esempio n. 1
0
def extract_text_log_artifacts(project, log_url, job_guid):
    """Generate a summary artifact for the raw text log."""

    # parse a log given its url
    artifact_bc = ArtifactBuilderCollection(log_url)
    artifact_bc.parse()

    artifact_list = []
    for name, artifact in artifact_bc.artifacts.items():
        if name == 'Job Info':
            for detail in artifact['job_details']:
                if ('title' in detail and detail['title'] == 'artifact uploaded'
                        and detail['value'].endswith('_errorsummary.log')):
                    # using .send_task to avoid an import loop.
                    celery_app.send_task('store-error-summary',
                                         [project, detail['url'], job_guid],
                                         routing_key='store_error_summary')
        artifact_list.append({
            "job_guid": job_guid,
            "name": name,
            "type": 'json',
            "blob": json.dumps(artifact)
        })

    artifact_list.extend(get_error_summary_artifacts(artifact_list))

    return artifact_list
Esempio n. 2
0
def extract_text_log_artifacts(project, log_url, job_guid):
    """Generate a summary artifact for the raw text log."""

    # parse a log given its url
    artifact_bc = ArtifactBuilderCollection(log_url)
    artifact_bc.parse()

    artifact_list = []
    for name, artifact in artifact_bc.artifacts.items():
        if name == 'Job Info':
            for detail in artifact['job_details']:
                if ('title' in detail
                        and detail['title'] == 'artifact uploaded'
                        and detail['value'].endswith('_errorsummary.log')):
                    # using .send_task to avoid an import loop.
                    celery_app.send_task('store-error-summary',
                                         [project, detail['url'], job_guid],
                                         routing_key='store_error_summary')
        artifact_list.append({
            "job_guid": job_guid,
            "name": name,
            "type": 'json',
            "blob": json.dumps(artifact)
        })

    artifact_list.extend(get_error_summary_artifacts(artifact_list))

    return artifact_list
Esempio n. 3
0
def autoclassify(project, job_guid):
    newrelic.agent.add_custom_parameter("project", project)
    newrelic.agent.add_custom_parameter("job_guid", job_guid)
    logger.info('Running autoclassify')
    call_command('autoclassify', project, job_guid)
    celery_app.send_task('detect-intermittents', [project, job_guid],
                         routing_key='detect_intermittents')
Esempio n. 4
0
def autoclassify(project, job_guid):
    newrelic.agent.add_custom_parameter("project", project)
    newrelic.agent.add_custom_parameter("job_guid", job_guid)
    logger.info('Running autoclassify')
    call_command('autoclassify', project, job_guid)
    celery_app.send_task('detect-intermittents',
                         [project, job_guid],
                         routing_key='detect_intermittents')
Esempio n. 5
0
def autoclassify(project, job_guid):
    try:
        logger.info('Running autoclassify')
        call_command('autoclassify', project, job_guid)
        celery_app.send_task('detect-intermittents',
                             [project, job_guid],
                             routing_key='detect_intermittents')
    except Exception as e:
        autoclassify.retry(exc=e, countdown=(1 + autoclassify.request.retries) * 60)
Esempio n. 6
0
def autoclassify(project, job_guid):
    try:
        logger.info('Running autoclassify')
        call_command('autoclassify', job_guid, project)
        celery_app.send_task('detect-intermittents',
                             [project, job_guid],
                             routing_key='detect_intermittents')
    except Exception as e:
        autoclassify.retry(exc=e, countdown=(1 + autoclassify.request.retries) * 60)
Esempio n. 7
0
def autoclassify(job_id):
    newrelic.agent.add_custom_parameter("job_id", job_id)
    logger.info('Running autoclassify')
    job = Job.objects.select_related("repository").get(id=job_id)
    match_errors(job)
    if settings.DETECT_INTERMITTENTS:
        celery_app.send_task('detect-intermittents',
                             [job_id],
                             routing_key='detect_intermittents')
Esempio n. 8
0
def store_error_summary(project, job_log_url, job_guid):
    """This task is a wrapper for the store_error_summary command."""
    try:
        logger.info('Running store_error_summary')
        call_command('store_error_summary', job_log_url, job_guid, project)
        celery_app.send_task('autoclassify',
                             [project, job_guid],
                             routing_key='autoclassify')
    except Exception, e:
        store_error_summary.retry(exc=e, countdown=(1 + store_error_summary.request.retries) * 60)
Esempio n. 9
0
def autoclassify(project, job_guid):
    newrelic.agent.add_custom_parameter("project", project)
    newrelic.agent.add_custom_parameter("job_guid", job_guid)
    try:
        logger.info('Running autoclassify')
        call_command('autoclassify', project, job_guid)
        celery_app.send_task('detect-intermittents',
                             [project, job_guid],
                             routing_key='detect_intermittents')
    except Exception as e:
        autoclassify.retry(exc=e, countdown=(1 + autoclassify.request.retries) * 60)
Esempio n. 10
0
def autoclassify(project, job_guid):
    newrelic.agent.add_custom_parameter("project", project)
    newrelic.agent.add_custom_parameter("job_guid", job_guid)
    try:
        logger.info('Running autoclassify')
        call_command('autoclassify', project, job_guid)
        celery_app.send_task('detect-intermittents', [project, job_guid],
                             routing_key='detect_intermittents')
    except Exception as e:
        autoclassify.retry(exc=e,
                           countdown=(1 + autoclassify.request.retries) * 60)