def generate_presubmits_e2e()

in config/jobs/kubernetes/kops/build_jobs.py [0:0]


def generate_presubmits_e2e():
    skip_regex = r'\[Slow\]|\[Serial\]|\[Disruptive\]|\[Flaky\]|\[Feature:.+\]|\[HPA\]|\[Driver:.nfs\]|RuntimeClass|RuntimeHandler' # pylint: disable=line-too-long
    jobs = [
        presubmit_test(
            k8s_version='ci',
            kops_channel='alpha',
            name='pull-kops-e2e-k8s-ci',
            networking='calico',
            tab_name='e2e-containerd-ci',
            always_run=False,
            focus_regex=r'\[Conformance\]|\[NodeConformance\]',
        ),
        presubmit_test(
            k8s_version='ci',
            kops_channel='alpha',
            name='pull-kops-e2e-k8s-ci-ha',
            networking='calico',
            extra_flags=[
                "--master-count=3",
                "--node-count=6",
                "--zones=eu-central-1a,eu-central-1b,eu-central-1c"],
            tab_name='e2e-containerd-ci-ha',
            always_run=False,
            focus_regex=r'\[Conformance\]|\[NodeConformance\]',
        ),
        presubmit_test(
            container_runtime='docker',
            k8s_version='stable',
            kops_channel='alpha',
            name='pull-kops-e2e-k8s-docker',
            tab_name='e2e-docker',
            always_run=False,
        ),
        presubmit_test(
            k8s_version='stable',
            kops_channel='alpha',
            name='pull-kops-e2e-kubernetes-aws',
            networking='calico',
            tab_name='e2e-containerd',
            always_run=True,
        ),
        presubmit_test(
            distro="u2110",
            networking='calico',
            k8s_version='stable',
            kops_channel='alpha',
            name='pull-kops-e2e-k8s-ubuntu2110',
            tab_name='e2e-ubuntu2110',
            always_run=False,
        ),
        presubmit_test(
            distro="u2204",
            networking='calico',
            k8s_version='stable',
            kops_channel='alpha',
            name='pull-kops-e2e-k8s-ubuntu2204',
            tab_name='e2e-ubuntu2204',
            always_run=False,
        ),
        presubmit_test(
            distro="deb11",
            networking='calico',
            k8s_version='stable',
            kops_channel='alpha',
            name='pull-kops-e2e-k8s-debian11',
            tab_name='e2e-debian11',
            always_run=False,
        ),
        presubmit_test(
            cloud='gce',
            k8s_version='stable',
            kops_channel='alpha',
            name='pull-kops-e2e-k8s-gce',
            networking='cilium',
            tab_name='e2e-gce',
            always_run=False,
            extra_flags=["--gce-service-account=default"], # Workaround for test-infra#24747
        ),
        presubmit_test(
            cloud='gce',
            k8s_version='ci',
            kops_channel='alpha',
            name='pull-kops-e2e-k8s-gce-ci',
            networking='cilium',
            tab_name='e2e-gce-ci',
            always_run=False,
            extra_flags=["--gce-service-account=default"], # Workaround for test-infra#24747
        ),
        presubmit_test(
            cloud='gce',
            k8s_version='stable',
            kops_channel='alpha',
            name='pull-kops-e2e-k8s-gce-calico-u2004-k22-containerd',
            networking='calico',
            container_runtime='containerd',
            tab_name='pull-kops-e2e-k8s-gce-calico-u2004-k22-containerd',
            always_run=False,
            feature_flags=['GoogleCloudBucketACL'],
            extra_flags=["--gce-service-account=default"], # Workaround for test-infra#24747
        ),
        # A special test for AWS Cloud-Controller-Manager
        presubmit_test(
            name="pull-kops-e2e-aws-cloud-controller-manager",
            cloud="aws",
            distro="u2004",
            k8s_version="ci",
            extra_flags=['--override=cluster.spec.cloudControllerManager.cloudProvider=aws'],
            tab_name='e2e-ccm',
        ),

        presubmit_test(
            name="pull-kops-e2e-aws-ebs-csi-driver",
            cloud="aws",
            distro="u2004",
            k8s_version="ci",
            networking="calico",
            scenario="aws-ebs-csi",
        ),

        presubmit_test(
            name="pull-e2e-kops-aws-load-balancer-controller",
            cloud="aws",
            distro="u2004",
            k8s_version='1.21',
            irsa=False, # TODO remove when kops#11689 is addressed and no longer pinned to k8s 1.21
            networking="calico",
            scenario="aws-lb-controller",
            tab_name="pull-kops-e2e-aws-load-balancer-controller",
        ),

        presubmit_test(
            name="pull-e2e-kops-addon-resource-tracking",
            cloud="aws",
            distro="u2004",
            k8s_version="ci",
            networking="calico",
            scenario="addon-resource-tracking",
            tab_name="pull-kops-e2e-aws-addon-resource-tracking",
        ),

        presubmit_test(
            name="pull-e2e-kops-metrics-server",
            cloud="aws",
            distro="u2004",
            k8s_version="ci",
            networking="calico",
            scenario="metrics-server",
            tab_name="pull-kops-e2e-aws-metrics-server",
        ),

        presubmit_test(
            name="pull-kops-e2e-aws-external-dns",
            cloud="aws",
            distro="u2004",
            k8s_version="ci",
            networking="calico",
            extra_flags=[
                '--override=cluster.spec.externalDNS.provider=external-dns'
            ],
        ),

        presubmit_test(
            name="pull-kops-e2e-aws-apiserver-nodes",
            cloud="aws",
            template_path="/home/prow/go/src/k8s.io/kops/tests/e2e/templates/apiserver.yaml.tmpl",
            feature_flags=['APIServerNodes']
        ),

        presubmit_test(
            name="pull-kops-e2e-arm64",
            cloud="aws",
            distro="u2004arm64",
            k8s_version="ci",
            networking="calico",
            extra_flags=["--zones=eu-central-1a",
                         "--node-size=m6g.large",
                         "--master-size=m6g.large"],
        ),

        presubmit_test(
            branch='release-1.23',
            k8s_version='1.23',
            kops_channel='alpha',
            name='pull-kops-e2e-kubernetes-aws-1-23',
            networking='calico',
            tab_name='e2e-1-23',
            always_run=True,
            skip_regex=skip_regex,
        ),
        presubmit_test(
            branch='release-1.22',
            k8s_version='1.22',
            kops_channel='alpha',
            name='pull-kops-e2e-kubernetes-aws-1-22',
            networking='calico',
            tab_name='e2e-1-22',
            always_run=True,
            skip_regex=skip_regex,
        ),
        presubmit_test(
            branch='release-1.21',
            k8s_version='1.21',
            kops_channel='alpha',
            name='pull-kops-e2e-kubernetes-aws-1-21',
            networking='calico',
            irsa=False,
            tab_name='e2e-1-21',
            always_run=True,
            skip_regex=skip_regex + "|MetricsGrabber",
        ),
        presubmit_test(
            name="pull-kops-e2e-aws-karpenter",
            k8s_version="ci",
            networking="cilium",
            kops_channel="alpha",
            extra_flags=["--instance-manager=karpenter"],
            feature_flags=['Karpenter'],
        )
    ]
    return jobs