コード例 #1
0
def create_test_release_jobs_enterprise(branch, username, password, sct_branch,
                                        sct_repo):
    add_file_logger()

    base_job_dir = f'{branch}'
    server = JenkinsPipelines(username=username,
                              password=password,
                              base_job_dir=base_job_dir,
                              sct_branch_name=sct_branch,
                              sct_repo=sct_repo)

    server.create_directory('SCT_Enterprise_Features',
                            'SCT Enterprise Features')
    for group_name, match, group_desc in [
        ('EncryptionAtRest', 'EaR-*', 'Encryption At Rest'),
        ('ICS', '*ics*', 'ICS'),
        ('Workload_Prioritization', 'features-sla-*',
         'Workload Prioritization')
    ]:
        current_dir = f'SCT_Enterprise_Features/{group_name}'
        server.create_directory(name=current_dir, display_name=group_desc)

        for jenkins_file in glob.glob(
                f'{server.base_sct_dir}/jenkins-pipelines/{match}.jenkinsfile'
        ):
            server.create_pipeline_job(jenkins_file, current_dir)

    server.create_pipeline_job(
        f'{server.base_sct_dir}/jenkins-pipelines/longevity-in-memory-36gb-1d.jenkinsfile',
        'SCT_Enterprise_Features')
コード例 #2
0
def create_operator_test_release_jobs(branch, username, password, sct_branch,
                                      sct_repo):
    add_file_logger()

    base_job_dir = "scylla-operator"
    server = JenkinsPipelines(username=username,
                              password=password,
                              base_job_dir=base_job_dir,
                              sct_branch_name=sct_branch,
                              sct_repo=sct_repo)
    server.create_directory(name=branch, display_name=branch)
    server.base_job_dir = "/".join([server.base_job_dir, branch])

    def walk_dirs(path):
        for dirpath, dirnames, filenames in os.walk(path):
            for filename in filenames:
                if filename.endswith('.jenkinsfile'):
                    finalpath = "/".join([dirpath, filename])
                    server.create_pipeline_job(finalpath,
                                               "",
                                               job_name_suffix="")
            for dirname in dirnames:
                server.create_directory(name=dirname, display_name=dirname)
                server.base_job_dir = "/".join([server.base_job_dir, dirname])
                walk_dirs("/".join([dirpath, dirname]))
                server.base_job_dir = server.base_job_dir.rsplit("/", 1)[0]
            break

    path = "/".join([str(server.base_sct_dir), "jenkins-pipelines/operator"])
    walk_dirs(path)
コード例 #3
0
def create_test_release_jobs(branch, username, password, sct_branch, sct_repo):
    add_file_logger()

    base_job_dir = f'{branch}'
    server = JenkinsPipelines(username=username,
                              password=password,
                              base_job_dir=base_job_dir,
                              sct_branch_name=sct_branch,
                              sct_repo=sct_repo)

    for group_name, group_desc in [
        ('longevity', 'SCT Longevity Tests'),
        ('rolling-upgrade', 'SCT Rolling Upgrades'),
        ('gemini-', 'SCT Gemini Tests'),
        ('features-', 'SCT Feature Tests'),
        ('artifacts', 'SCT Artifacts Tests'),
        ('load-test', 'SCT Load Tests'),
        ('k8s', 'SCT Kubernetes Tests'),
    ]:
        server.create_directory(name=group_name, display_name=group_desc)

        for jenkins_file in glob.glob(
                f'{server.base_sct_dir}/jenkins-pipelines/{group_name}*.jenkinsfile'
        ):
            server.create_pipeline_job(jenkins_file, group_name)

        if group_name == 'load-test':
            for jenkins_file in glob.glob(
                    f'{server.base_sct_dir}/jenkins-pipelines/admission_control_overload*'
            ):
                server.create_pipeline_job(jenkins_file, group_name)
コード例 #4
0
def create_test_release_jobs(branch, username, password, sct_branch, sct_repo):
    add_file_logger()

    base_job_dir = f'{branch}'
    server = JenkinsPipelines(username=username,
                              password=password,
                              base_job_dir=base_job_dir,
                              sct_branch_name=sct_branch,
                              sct_repo=sct_repo)

    for group_name, group_desc in [
        ('longevity', 'SCT Longevity Tests'),
        ('rolling-upgrade', 'SCT Rolling Upgrades'),
        ('gemini-', 'SCT Gemini Tests'),
        ('features-', 'SCT Feature Tests'),
        ('artifacts', 'SCT Artifacts Tests'),
        ('load-test', 'SCT Load Tests'),
    ]:
        server.create_directory(name=group_name, display_name=group_desc)

        for jenkins_file in glob.glob(
                f'{server.base_sct_dir}/jenkins-pipelines/{group_name}*.jenkinsfile'
        ):
            server.create_pipeline_job(jenkins_file, group_name)

        if group_name == 'load-test':
            for jenkins_file in glob.glob(
                    f'{server.base_sct_dir}/jenkins-pipelines/admission_control_overload*'
            ):
                server.create_pipeline_job(jenkins_file, group_name)

    server.create_directory(name='artifacts-offline-install',
                            display_name='SCT Artifacts Offline Install Tests')
    for jenkins_file in glob.glob(
            f'{server.base_sct_dir}/jenkins-pipelines/artifacts-*.jenkinsfile'
    ):
        if any([
                f'-{i}.jenkinsfile' in jenkins_file
                for i in ['ami', 'amazon2', 'docker', 'gce-image']
        ]):
            continue
        server.create_pipeline_job(jenkins_file, 'artifacts-offline-install')
    for jenkins_file in glob.glob(
            f'{server.base_sct_dir}/jenkins-pipelines/nonroot-offline-install/*.jenkinsfile'
    ):
        server.create_pipeline_job(jenkins_file,
                                   'artifacts-offline-install',
                                   job_name=str(Path(jenkins_file).stem) +
                                   '-nonroot')