k8s.io/test-infra@v0.0.0-20240520184403-27c6b4c223d8/config/jobs/kubernetes/sig-cloud-provider/azure/generate.sh (about)

     1  #!/usr/bin/env bash
     2  # Copyright 2021 The Kubernetes Authors.
     3  #
     4  # Licensed under the Apache License, Version 2.0 (the "License");
     5  # you may not use this file except in compliance with the License.
     6  # You may obtain a copy of the License at
     7  #
     8  #     http://www.apache.org/licenses/LICENSE-2.0
     9  #
    10  # Unless required by applicable law or agreed to in writing, software
    11  # distributed under the License is distributed on an "AS IS" BASIS,
    12  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  # See the License for the specific language governing permissions and
    14  # limitations under the License.
    15  
    16  set -o errexit
    17  set -o nounset
    18  set -o pipefail
    19  
    20  dir="$(dirname "${BASH_SOURCE[0]}")"
    21  
    22  generate_presubmit_annotations() {
    23    branch="${1}"
    24    # only display on presubmit jobs for master branch for now since
    25    # a dashboard cannot have multiple tabs with the same name
    26    if [[ "${branch}" != "master" ]]; then
    27      echo ""
    28      return
    29    fi
    30    job_name="${2}"
    31    cat << EOF
    32      annotations:
    33        testgrid-dashboards: provider-azure-presubmit
    34        testgrid-tab-name: ${job_name}
    35        testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
    36        testgrid-num-columns-recent: '30'
    37  EOF
    38  }
    39  
    40  # we need to define the full image URL so it can be autobumped
    41  tmp="gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master"
    42  kubekins_e2e_image="${tmp/\-master/}"
    43  installCSIdrivers=" ./deploy/install-driver.sh master local,snapshot,enable-avset &&"
    44  installCSIAzureFileDrivers=" ./deploy/install-driver.sh master local &&"
    45  
    46  for release in "$@"; do
    47    output="${dir}/release-${release}.yaml"
    48    kubernetes_version="latest"
    49    capz_release="release-1.13"
    50  
    51    if [[ "${release}" == "master" ]]; then
    52      branch=$(echo -e 'master # TODO(releng): Remove once repo default branch has been renamed\n      - main')
    53      branch_name="master"
    54      ccm_branch="master"
    55      capz_periodic_branch_name="main"
    56    else
    57      branch="release-${release}"
    58      branch_name="release-${release}"
    59      kubernetes_version+="-${release}"
    60      ccm_branch="release-${release}"
    61      capz_periodic_branch_name=${capz_release}
    62    fi
    63  
    64    cat >"${output}" <<EOF
    65  # generated by ./config/jobs/kubernetes/sig-cloud-provider/azure/generate.sh.
    66  presubmits:
    67    kubernetes/kubernetes:
    68    - name: pull-kubernetes-e2e-capz-azure-disk
    69      decorate: true
    70      always_run: false
    71      optional: true
    72      run_if_changed: 'azure.*\.go'
    73      path_alias: k8s.io/kubernetes
    74      branches:
    75        - ${branch}
    76      labels:
    77        preset-dind-enabled: "true"
    78        preset-kind-volume-mounts: "true"
    79        preset-azure-cred-only: "true"
    80        preset-azure-anonymous-pull: "true"
    81        preset-azure-capz-sa-cred: "true"
    82      extra_refs:
    83        - org: kubernetes-sigs
    84          repo: cluster-api-provider-azure
    85          base_ref: ${capz_release}
    86          path_alias: sigs.k8s.io/cluster-api-provider-azure
    87          workdir: true
    88        - org: kubernetes-sigs
    89          repo: azuredisk-csi-driver
    90          base_ref: master
    91          path_alias: sigs.k8s.io/azuredisk-csi-driver
    92        - org: kubernetes-sigs
    93          repo: cloud-provider-azure
    94          base_ref: ${ccm_branch}
    95          path_alias: sigs.k8s.io/cloud-provider-azure
    96      spec:
    97        containers:
    98          - image: ${kubekins_e2e_image}-master
    99            command:
   100              - runner.sh
   101              - ./scripts/ci-entrypoint.sh
   102            args:
   103              - bash
   104              - -c
   105              - >-
   106                cd \${GOPATH}/src/sigs.k8s.io/azuredisk-csi-driver &&${installCSIdrivers}
   107                make e2e-test
   108            env:
   109              - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   110                value: "kubernetes.io/azure-disk" # In-tree Azure disk storage class
   111            securityContext:
   112              privileged: true
   113            resources:
   114              requests:
   115                cpu: 1
   116                memory: "4Gi"
   117  $(generate_presubmit_annotations ${branch_name} pull-kubernetes-e2e-capz-azure-disk)
   118    - name: pull-kubernetes-e2e-capz-azure-disk-vmss
   119      decorate: true
   120      always_run: false
   121      optional: true
   122      run_if_changed: 'azure.*\.go'
   123      path_alias: k8s.io/kubernetes
   124      branches:
   125        - ${branch}
   126      labels:
   127        preset-dind-enabled: "true"
   128        preset-kind-volume-mounts: "true"
   129        preset-azure-cred-only: "true"
   130        preset-azure-anonymous-pull: "true"
   131        preset-azure-capz-sa-cred: "true"
   132      extra_refs:
   133        - org: kubernetes-sigs
   134          repo: cluster-api-provider-azure
   135          base_ref: ${capz_release}
   136          path_alias: sigs.k8s.io/cluster-api-provider-azure
   137          workdir: true
   138        - org: kubernetes-sigs
   139          repo: azuredisk-csi-driver
   140          base_ref: master
   141          path_alias: sigs.k8s.io/azuredisk-csi-driver
   142        - org: kubernetes-sigs
   143          repo: cloud-provider-azure
   144          base_ref: ${ccm_branch}
   145          path_alias: sigs.k8s.io/cloud-provider-azure
   146      spec:
   147        containers:
   148          - image: ${kubekins_e2e_image}-master
   149            command:
   150              - runner.sh
   151              - ./scripts/ci-entrypoint.sh
   152            args:
   153              - bash
   154              - -c
   155              - >-
   156                cd \${GOPATH}/src/sigs.k8s.io/azuredisk-csi-driver &&${installCSIdrivers}
   157                make e2e-test
   158            env:
   159              - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   160                value: "kubernetes.io/azure-disk" # In-tree Azure disk storage class
   161              - name: EXP_MACHINE_POOL # CAPZ config
   162                value: "true"
   163            securityContext:
   164              privileged: true
   165            resources:
   166              requests:
   167                cpu: 1
   168                memory: "4Gi"
   169  $(generate_presubmit_annotations ${branch_name} pull-kubernetes-e2e-capz-azure-disk-vmss)
   170    - name: pull-kubernetes-e2e-capz-azure-file
   171      decorate: true
   172      always_run: false
   173      optional: true
   174      run_if_changed: 'azure.*\.go'
   175      path_alias: k8s.io/kubernetes
   176      branches:
   177        - ${branch}
   178      labels:
   179        preset-dind-enabled: "true"
   180        preset-kind-volume-mounts: "true"
   181        preset-azure-cred-only: "true"
   182        preset-azure-anonymous-pull: "true"
   183        preset-azure-capz-sa-cred: "true"
   184      extra_refs:
   185        - org: kubernetes-sigs
   186          repo: cluster-api-provider-azure
   187          base_ref: ${capz_release}
   188          path_alias: sigs.k8s.io/cluster-api-provider-azure
   189          workdir: true
   190        - org: kubernetes-sigs
   191          repo: azurefile-csi-driver
   192          base_ref: master
   193          path_alias: sigs.k8s.io/azurefile-csi-driver
   194        - org: kubernetes-sigs
   195          repo: cloud-provider-azure
   196          base_ref: ${ccm_branch}
   197          path_alias: sigs.k8s.io/cloud-provider-azure
   198      spec:
   199        containers:
   200          - image: ${kubekins_e2e_image}-master
   201            command:
   202              - runner.sh
   203              - ./scripts/ci-entrypoint.sh
   204            args:
   205              - bash
   206              - -c
   207              - >-
   208                kubectl apply -f templates/addons/azurefile-role.yaml &&
   209                cd \${GOPATH}/src/sigs.k8s.io/azurefile-csi-driver &&${installCSIdrivers}
   210                make e2e-test
   211            env:
   212              - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   213                value: "kubernetes.io/azure-file" # In-tree Azure file storage class
   214            securityContext:
   215              privileged: true
   216            resources:
   217              requests:
   218                cpu: 1
   219                memory: "4Gi"
   220  $(generate_presubmit_annotations ${branch_name} pull-kubernetes-e2e-capz-azure-file)
   221    - name: pull-kubernetes-e2e-capz-azure-file-vmss
   222      decorate: true
   223      always_run: false
   224      optional: true
   225      run_if_changed: 'azure.*\.go'
   226      path_alias: k8s.io/kubernetes
   227      branches:
   228        - ${branch}
   229      labels:
   230        preset-dind-enabled: "true"
   231        preset-kind-volume-mounts: "true"
   232        preset-azure-cred-only: "true"
   233        preset-azure-anonymous-pull: "true"
   234        preset-azure-capz-sa-cred: "true"
   235      extra_refs:
   236        - org: kubernetes-sigs
   237          repo: cluster-api-provider-azure
   238          base_ref: ${capz_release}
   239          path_alias: sigs.k8s.io/cluster-api-provider-azure
   240          workdir: true
   241        - org: kubernetes-sigs
   242          repo: azurefile-csi-driver
   243          base_ref: master
   244          path_alias: sigs.k8s.io/azurefile-csi-driver
   245        - org: kubernetes-sigs
   246          repo: cloud-provider-azure
   247          base_ref: ${ccm_branch}
   248          path_alias: sigs.k8s.io/cloud-provider-azure
   249      spec:
   250        containers:
   251          - image: ${kubekins_e2e_image}-master
   252            command:
   253              - runner.sh
   254              - ./scripts/ci-entrypoint.sh
   255            args:
   256              - bash
   257              - -c
   258              - >-
   259                kubectl apply -f templates/addons/azurefile-role.yaml &&
   260                cd \${GOPATH}/src/sigs.k8s.io/azurefile-csi-driver &&${installCSIdrivers}
   261                make e2e-test
   262            env:
   263              - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   264                value: "kubernetes.io/azure-file" # In-tree Azure file storage class
   265              - name: EXP_MACHINE_POOL # CAPZ config
   266                value: "true"
   267            securityContext:
   268              privileged: true
   269            resources:
   270              requests:
   271                cpu: 1
   272                memory: "4Gi"
   273  $(generate_presubmit_annotations ${branch_name} pull-kubernetes-e2e-capz-azure-file-vmss)
   274    - name: pull-kubernetes-e2e-capz-conformance
   275      decorate: true
   276      always_run: false
   277      optional: true
   278      run_if_changed: 'azure.*\.go'
   279      path_alias: k8s.io/kubernetes
   280      branches:
   281        - ${branch}
   282      labels:
   283        preset-dind-enabled: "true"
   284        preset-kind-volume-mounts: "true"
   285        preset-azure-cred-only: "true"
   286        preset-azure-anonymous-pull: "true"
   287        preset-azure-capz-sa-cred: "true"
   288      extra_refs:
   289      - org: kubernetes-sigs
   290        repo: cluster-api-provider-azure
   291        base_ref: ${capz_release}
   292        path_alias: sigs.k8s.io/cluster-api-provider-azure
   293        workdir: true
   294      - org: kubernetes-sigs
   295        repo: cloud-provider-azure
   296        base_ref: ${ccm_branch}
   297        path_alias: sigs.k8s.io/cloud-provider-azure
   298      spec:
   299        containers:
   300        - image: ${kubekins_e2e_image}-master
   301          command:
   302          - runner.sh
   303          - ./scripts/ci-conformance.sh
   304          securityContext:
   305            privileged: true
   306          resources:
   307            requests:
   308              cpu: 1
   309              memory: "4Gi"
   310          env:
   311          - name: KUBETEST_CONF_PATH
   312            value: /home/prow/go/src/sigs.k8s.io/cluster-api-provider-azure/test/e2e/data/kubetest/conformance-fast.yaml
   313          - name: CONFORMANCE_NODES
   314            value: "25"
   315  $(generate_presubmit_annotations ${branch_name} pull-kubernetes-e2e-capz-conformance)
   316  periodics:
   317  - interval: 3h
   318    name: capz-conformance-${release/./-}
   319    decorate: true
   320    decoration_config:
   321      timeout: 3h
   322    labels:
   323      preset-dind-enabled: "true"
   324      preset-kind-volume-mounts: "true"
   325      preset-azure-cred-only: "true"
   326      preset-azure-anonymous-pull: "true"
   327      preset-azure-capz-sa-cred: "true"
   328    extra_refs:
   329    - org: kubernetes-sigs
   330      repo: cluster-api-provider-azure
   331      base_ref: ${capz_periodic_branch_name}
   332      path_alias: sigs.k8s.io/cluster-api-provider-azure
   333      workdir: true
   334    - org: kubernetes-sigs
   335      repo: cloud-provider-azure
   336      base_ref: ${ccm_branch}
   337      path_alias: sigs.k8s.io/cloud-provider-azure
   338      workdir: false
   339    spec:
   340      containers:
   341      - image: ${kubekins_e2e_image}-master
   342        command:
   343        - runner.sh
   344        - ./scripts/ci-conformance.sh
   345        env:
   346        - name: E2E_ARGS
   347          value: "-kubetest.use-ci-artifacts"
   348        - name: KUBERNETES_VERSION
   349          value: "${kubernetes_version}"
   350        - name: CONFORMANCE_WORKER_MACHINE_COUNT
   351          value: "2"
   352        securityContext:
   353          privileged: true
   354        resources:
   355          requests:
   356            cpu: 1
   357            memory: "4Gi"
   358    annotations:
   359      testgrid-dashboards: provider-azure-${release}-signal
   360      testgrid-tab-name: capz-conformance
   361      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   362      testgrid-num-columns-recent: '30'
   363  
   364  - interval: 24h
   365    name: capz-conformance-ipv6-${release/./-}
   366    decorate: true
   367    decoration_config:
   368      timeout: 3h
   369    labels:
   370      preset-dind-enabled: "true"
   371      preset-kind-volume-mounts: "true"
   372      preset-azure-cred-only: "true"
   373      preset-azure-anonymous-pull: "true"
   374      preset-azure-capz-sa-cred: "true"
   375    extra_refs:
   376    - org: kubernetes-sigs
   377      repo: cluster-api-provider-azure
   378      base_ref: ${capz_periodic_branch_name}
   379      path_alias: sigs.k8s.io/cluster-api-provider-azure
   380      workdir: true
   381    - org: kubernetes-sigs
   382      repo: cloud-provider-azure
   383      base_ref: ${ccm_branch}
   384      path_alias: sigs.k8s.io/cloud-provider-azure
   385      workdir: false
   386    spec:
   387      containers:
   388      - image: ${kubekins_e2e_image}-master
   389        command:
   390        - runner.sh
   391        - ./scripts/ci-conformance.sh
   392        env:
   393        - name: E2E_ARGS
   394          value: "-kubetest.use-ci-artifacts"
   395        - name: KUBERNETES_VERSION
   396          value: "${kubernetes_version}"
   397        - name: CONFORMANCE_WORKER_MACHINE_COUNT
   398          value: "2"
   399        - name: IP_FAMILY
   400          value: "IPv6"
   401        securityContext:
   402          privileged: true
   403        resources:
   404          requests:
   405            cpu: 1
   406            memory: "4Gi"
   407    annotations:
   408      testgrid-dashboards: provider-azure-${release}-signal
   409      testgrid-tab-name: capz-conformance-ipv6
   410      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   411      testgrid-num-columns-recent: '30'
   412  
   413  - interval: 24h
   414    name: capz-conformance-dual-stack-${release/./-}
   415    decorate: true
   416    decoration_config:
   417      timeout: 3h
   418    labels:
   419      preset-dind-enabled: "true"
   420      preset-kind-volume-mounts: "true"
   421      preset-azure-cred-only: "true"
   422      preset-azure-anonymous-pull: "true"
   423      preset-azure-capz-sa-cred: "true"
   424    extra_refs:
   425    - org: kubernetes-sigs
   426      repo: cluster-api-provider-azure
   427      base_ref: ${capz_periodic_branch_name}
   428      path_alias: sigs.k8s.io/cluster-api-provider-azure
   429      workdir: true
   430    - org: kubernetes-sigs
   431      repo: cloud-provider-azure
   432      base_ref: ${ccm_branch}
   433      path_alias: sigs.k8s.io/cloud-provider-azure
   434      workdir: false
   435    spec:
   436      containers:
   437      - image: ${kubekins_e2e_image}-master
   438        command:
   439        - runner.sh
   440        - ./scripts/ci-conformance.sh
   441        env:
   442        - name: E2E_ARGS
   443          value: "-kubetest.use-ci-artifacts"
   444        - name: KUBERNETES_VERSION
   445          value: "${kubernetes_version}"
   446        - name: CONFORMANCE_WORKER_MACHINE_COUNT
   447          value: "2"
   448        - name: IP_FAMILY
   449          value: "dual"
   450        securityContext:
   451          privileged: true
   452        resources:
   453          requests:
   454            cpu: 1
   455            memory: "4Gi"
   456    annotations:
   457      testgrid-dashboards: provider-azure-${release}-signal
   458      testgrid-tab-name: capz-conformance-dual-stack
   459      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   460      testgrid-num-columns-recent: '30'
   461  
   462  - interval: 24h
   463    name: capz-azure-file-${release/./-}
   464    decorate: true
   465    decoration_config:
   466      timeout: 3h
   467    labels:
   468      preset-dind-enabled: "true"
   469      preset-kind-volume-mounts: "true"
   470      preset-azure-cred-only: "true"
   471      preset-azure-anonymous-pull: "true"
   472      preset-azure-capz-sa-cred: "true"
   473    extra_refs:
   474    - org: kubernetes-sigs
   475      repo: cluster-api-provider-azure
   476      base_ref: ${capz_periodic_branch_name}
   477      path_alias: sigs.k8s.io/cluster-api-provider-azure
   478    - org: kubernetes-sigs
   479      repo: azurefile-csi-driver
   480      base_ref: master
   481      path_alias: sigs.k8s.io/azurefile-csi-driver
   482    - org: kubernetes
   483      repo: kubernetes
   484      base_ref: ${branch_name}
   485      path_alias: k8s.io/kubernetes
   486    - org: kubernetes-sigs
   487      repo: cloud-provider-azure
   488      base_ref: ${ccm_branch}
   489      path_alias: sigs.k8s.io/cloud-provider-azure
   490      workdir: false
   491    spec:
   492      containers:
   493      - image: ${kubekins_e2e_image}-master
   494        command:
   495        - runner.sh
   496        - ./scripts/ci-entrypoint.sh
   497        args:
   498        - bash
   499        - -c
   500        - >-
   501          kubectl apply -f templates/addons/azurefile-role.yaml &&
   502          cd \${GOPATH}/src/sigs.k8s.io/azurefile-csi-driver &&${installCSIdrivers}
   503          make e2e-test
   504        env:
   505        - name: KUBERNETES_VERSION # CAPZ config
   506          value: "${kubernetes_version}"
   507        - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   508          value: "kubernetes.io/azure-file" # In-tree Azure file storage class
   509        securityContext:
   510          privileged: true
   511        resources:
   512          requests:
   513            cpu: 1
   514            memory: "4Gi"
   515    annotations:
   516      testgrid-dashboards: provider-azure-${release}-signal
   517      testgrid-tab-name: capz-azure-file
   518      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   519      testgrid-num-columns-recent: '30'
   520  
   521  - interval: 24h
   522    name: capz-azure-file-vmss-${release/./-}
   523    decorate: true
   524    decoration_config:
   525      timeout: 3h
   526    labels:
   527      preset-dind-enabled: "true"
   528      preset-kind-volume-mounts: "true"
   529      preset-azure-cred-only: "true"
   530      preset-azure-anonymous-pull: "true"
   531      preset-azure-capz-sa-cred: "true"
   532    extra_refs:
   533    - org: kubernetes-sigs
   534      repo: cluster-api-provider-azure
   535      base_ref: ${capz_periodic_branch_name}
   536      path_alias: sigs.k8s.io/cluster-api-provider-azure
   537    - org: kubernetes-sigs
   538      repo: azurefile-csi-driver
   539      base_ref: master
   540      path_alias: sigs.k8s.io/azurefile-csi-driver
   541    - org: kubernetes
   542      repo: kubernetes
   543      base_ref: ${branch_name}
   544      path_alias: k8s.io/kubernetes
   545    - org: kubernetes-sigs
   546      repo: cloud-provider-azure
   547      base_ref: ${ccm_branch}
   548      path_alias: sigs.k8s.io/cloud-provider-azure
   549      workdir: false
   550    spec:
   551      containers:
   552      - image: ${kubekins_e2e_image}-master
   553        command:
   554        - runner.sh
   555        - ./scripts/ci-entrypoint.sh
   556        args:
   557        - bash
   558        - -c
   559        - >-
   560          kubectl apply -f templates/addons/azurefile-role.yaml &&
   561          cd \${GOPATH}/src/sigs.k8s.io/azurefile-csi-driver &&${installCSIAzureFileDrivers}
   562          make e2e-test
   563        env:
   564        - name: KUBERNETES_VERSION # CAPZ config
   565          value: "${kubernetes_version}"
   566        - name: EXP_MACHINE_POOL # CAPZ config
   567          value: "true"
   568        - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   569          value: "kubernetes.io/azure-file" # In-tree Azure file storage class
   570        securityContext:
   571          privileged: true
   572        resources:
   573          requests:
   574            cpu: 1
   575            memory: "4Gi"
   576    annotations:
   577      testgrid-dashboards: provider-azure-${release}-signal
   578      testgrid-tab-name: capz-azure-file-vmss
   579      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   580      testgrid-num-columns-recent: '30'
   581  
   582  - interval: 24h
   583    name: capz-azure-disk-${release/./-}
   584    decorate: true
   585    decoration_config:
   586      timeout: 3h
   587    labels:
   588      preset-dind-enabled: "true"
   589      preset-kind-volume-mounts: "true"
   590      preset-azure-cred-only: "true"
   591      preset-azure-anonymous-pull: "true"
   592      preset-azure-capz-sa-cred: "true"
   593    extra_refs:
   594    - org: kubernetes-sigs
   595      repo: cluster-api-provider-azure
   596      base_ref: ${capz_periodic_branch_name}
   597      path_alias: sigs.k8s.io/cluster-api-provider-azure
   598    - org: kubernetes-sigs
   599      repo: azuredisk-csi-driver
   600      base_ref: master
   601      path_alias: sigs.k8s.io/azuredisk-csi-driver
   602    - org: kubernetes
   603      repo: kubernetes
   604      base_ref: ${branch_name}
   605      path_alias: k8s.io/kubernetes
   606    - org: kubernetes-sigs
   607      repo: cloud-provider-azure
   608      base_ref: ${ccm_branch}
   609      path_alias: sigs.k8s.io/cloud-provider-azure
   610      workdir: false
   611    spec:
   612      containers:
   613      - image: ${kubekins_e2e_image}-master
   614        command:
   615        - runner.sh
   616        - ./scripts/ci-entrypoint.sh
   617        args:
   618        - bash
   619        - -c
   620        - >-
   621          cd \${GOPATH}/src/sigs.k8s.io/azuredisk-csi-driver &&${installCSIdrivers}
   622          make e2e-test
   623        env:
   624        - name: KUBERNETES_VERSION # CAPZ config
   625          value: "${kubernetes_version}"
   626        - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   627          value: "kubernetes.io/azure-disk" # In-tree Azure disk storage class
   628        securityContext:
   629          privileged: true
   630        resources:
   631          requests:
   632            cpu: 1
   633            memory: "4Gi"
   634    annotations:
   635      testgrid-dashboards: provider-azure-${release}-signal
   636      testgrid-tab-name: capz-azure-disk
   637      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   638      testgrid-num-columns-recent: '30'
   639  
   640  - interval: 24h
   641    name: capz-azure-disk-vmss-${release/./-}
   642    decorate: true
   643    decoration_config:
   644      timeout: 3h
   645    labels:
   646      preset-dind-enabled: "true"
   647      preset-kind-volume-mounts: "true"
   648      preset-azure-cred-only: "true"
   649      preset-azure-anonymous-pull: "true"
   650      preset-azure-capz-sa-cred: "true"
   651    extra_refs:
   652    - org: kubernetes-sigs
   653      repo: cluster-api-provider-azure
   654      base_ref: ${capz_periodic_branch_name}
   655      path_alias: sigs.k8s.io/cluster-api-provider-azure
   656    - org: kubernetes-sigs
   657      repo: azuredisk-csi-driver
   658      base_ref: master
   659      path_alias: sigs.k8s.io/azuredisk-csi-driver
   660    - org: kubernetes
   661      repo: kubernetes
   662      base_ref: ${branch_name}
   663      path_alias: k8s.io/kubernetes
   664    - org: kubernetes-sigs
   665      repo: cloud-provider-azure
   666      base_ref: ${ccm_branch}
   667      path_alias: sigs.k8s.io/cloud-provider-azure
   668      workdir: false
   669    spec:
   670      containers:
   671      - image: ${kubekins_e2e_image}-master
   672        command:
   673        - runner.sh
   674        - ./scripts/ci-entrypoint.sh
   675        args:
   676        - bash
   677        - -c
   678        - >-
   679          cd \${GOPATH}/src/sigs.k8s.io/azuredisk-csi-driver &&${installCSIdrivers}
   680          make e2e-test
   681        env:
   682        - name: KUBERNETES_VERSION # CAPZ config
   683          value: "${kubernetes_version}"
   684        - name: EXP_MACHINE_POOL # CAPZ config
   685          value: "true"
   686        - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   687          value: "kubernetes.io/azure-disk" # In-tree Azure disk storage class
   688        securityContext:
   689          privileged: true
   690        resources:
   691          requests:
   692            cpu: 1
   693            memory: "4Gi"
   694    annotations:
   695      testgrid-dashboards: provider-azure-${release}-signal
   696      testgrid-tab-name: capz-azure-disk-vmss
   697      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   698      testgrid-num-columns-recent: '30'
   699  EOF
   700    if [[ "${release}" == "master" ]]; then
   701      cat >>"${output}" <<EOF
   702  # the "capz-release-*" jobs below validate the health of cloud-provider-azure:master against a stable release of capz
   703  - interval: 24h
   704    name: capz-release-conformance-master
   705    decorate: true
   706    decoration_config:
   707      timeout: 3h
   708    labels:
   709      preset-dind-enabled: "true"
   710      preset-kind-volume-mounts: "true"
   711      preset-azure-cred-only: "true"
   712      preset-azure-anonymous-pull: "true"
   713      preset-azure-capz-sa-cred: "true"
   714    extra_refs:
   715    - org: kubernetes-sigs
   716      repo: cluster-api-provider-azure
   717      base_ref: ${capz_release}
   718      path_alias: sigs.k8s.io/cluster-api-provider-azure
   719      workdir: true
   720    - org: kubernetes-sigs
   721      repo: cloud-provider-azure
   722      base_ref: ${ccm_branch}
   723      path_alias: sigs.k8s.io/cloud-provider-azure
   724      workdir: false
   725    spec:
   726      containers:
   727      - image: ${kubekins_e2e_image}-master
   728        command:
   729        - runner.sh
   730        - ./scripts/ci-conformance.sh
   731        env:
   732        - name: E2E_ARGS
   733          value: "-kubetest.use-ci-artifacts"
   734        - name: KUBERNETES_VERSION
   735          value: "${kubernetes_version}"
   736        - name: CONFORMANCE_WORKER_MACHINE_COUNT
   737          value: "2"
   738        securityContext:
   739          privileged: true
   740        resources:
   741          requests:
   742            cpu: 1
   743            memory: "4Gi"
   744    annotations:
   745      testgrid-dashboards: provider-azure-master-signal
   746      testgrid-tab-name: capz-release-conformance
   747      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   748      testgrid-num-columns-recent: '30'
   749  
   750  - interval: 24h
   751    name: capz-release-azure-file-master
   752    decorate: true
   753    decoration_config:
   754      timeout: 3h
   755    labels:
   756      preset-dind-enabled: "true"
   757      preset-kind-volume-mounts: "true"
   758      preset-azure-cred-only: "true"
   759      preset-azure-anonymous-pull: "true"
   760      preset-azure-capz-sa-cred: "true"
   761    extra_refs:
   762    - org: kubernetes-sigs
   763      repo: cluster-api-provider-azure
   764      base_ref: ${capz_release}
   765      path_alias: sigs.k8s.io/cluster-api-provider-azure
   766    - org: kubernetes-sigs
   767      repo: azurefile-csi-driver
   768      base_ref: master
   769      path_alias: sigs.k8s.io/azurefile-csi-driver
   770    - org: kubernetes
   771      repo: kubernetes
   772      base_ref: master
   773      path_alias: k8s.io/kubernetes
   774    - org: kubernetes-sigs
   775      repo: cloud-provider-azure
   776      base_ref: ${ccm_branch}
   777      path_alias: sigs.k8s.io/cloud-provider-azure
   778      workdir: false
   779    spec:
   780      containers:
   781      - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   782        command:
   783        - runner.sh
   784        - ./scripts/ci-entrypoint.sh
   785        args:
   786        - bash
   787        - -c
   788        - >-
   789          kubectl apply -f templates/addons/azurefile-role.yaml &&
   790          cd \${GOPATH}/src/sigs.k8s.io/azurefile-csi-driver &&${installCSIAzureFileDrivers}
   791          make e2e-test
   792        env:
   793        - name: KUBERNETES_VERSION # CAPZ config
   794          value: "${kubernetes_version}"
   795        - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   796          value: "kubernetes.io/azure-file" # In-tree Azure file storage class
   797        securityContext:
   798          privileged: true
   799        resources:
   800          requests:
   801            cpu: 1
   802            memory: "4Gi"
   803    annotations:
   804      testgrid-dashboards: provider-azure-master-signal
   805      testgrid-tab-name: capz-release-azure-file
   806      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   807      testgrid-num-columns-recent: '30'
   808  
   809  - interval: 24h
   810    name: capz-release-azure-file-vmss-master
   811    decorate: true
   812    decoration_config:
   813      timeout: 3h
   814    labels:
   815      preset-dind-enabled: "true"
   816      preset-kind-volume-mounts: "true"
   817      preset-azure-cred-only: "true"
   818      preset-azure-anonymous-pull: "true"
   819      preset-azure-capz-sa-cred: "true"
   820    extra_refs:
   821    - org: kubernetes-sigs
   822      repo: cluster-api-provider-azure
   823      base_ref: ${capz_release}
   824      path_alias: sigs.k8s.io/cluster-api-provider-azure
   825    - org: kubernetes-sigs
   826      repo: azurefile-csi-driver
   827      base_ref: master
   828      path_alias: sigs.k8s.io/azurefile-csi-driver
   829    - org: kubernetes
   830      repo: kubernetes
   831      base_ref: master
   832      path_alias: k8s.io/kubernetes
   833    - org: kubernetes-sigs
   834      repo: cloud-provider-azure
   835      base_ref: ${ccm_branch}
   836      path_alias: sigs.k8s.io/cloud-provider-azure
   837      workdir: false
   838    spec:
   839      containers:
   840      - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   841        command:
   842        - runner.sh
   843        - ./scripts/ci-entrypoint.sh
   844        args:
   845        - bash
   846        - -c
   847        - >-
   848          kubectl apply -f templates/addons/azurefile-role.yaml &&
   849          cd \${GOPATH}/src/sigs.k8s.io/azurefile-csi-driver &&${installCSIAzureFileDrivers}
   850          make e2e-test
   851        env:
   852        - name: KUBERNETES_VERSION # CAPZ config
   853          value: "${kubernetes_version}"
   854        - name: EXP_MACHINE_POOL # CAPZ config
   855          value: "true"
   856        - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   857          value: "kubernetes.io/azure-file" # In-tree Azure file storage class
   858        securityContext:
   859          privileged: true
   860        resources:
   861          requests:
   862            cpu: 1
   863            memory: "4Gi"
   864    annotations:
   865      testgrid-dashboards: provider-azure-master-signal
   866      testgrid-tab-name: capz-release-azure-file-vmss
   867      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   868      testgrid-num-columns-recent: '30'
   869  
   870  - interval: 24h
   871    name: capz-release-azure-disk-master
   872    decorate: true
   873    decoration_config:
   874      timeout: 3h
   875    labels:
   876      preset-dind-enabled: "true"
   877      preset-kind-volume-mounts: "true"
   878      preset-azure-cred-only: "true"
   879      preset-azure-anonymous-pull: "true"
   880      preset-azure-capz-sa-cred: "true"
   881    extra_refs:
   882    - org: kubernetes-sigs
   883      repo: cluster-api-provider-azure
   884      base_ref: ${capz_release}
   885      path_alias: sigs.k8s.io/cluster-api-provider-azure
   886    - org: kubernetes-sigs
   887      repo: azuredisk-csi-driver
   888      base_ref: master
   889      path_alias: sigs.k8s.io/azuredisk-csi-driver
   890    - org: kubernetes
   891      repo: kubernetes
   892      base_ref: master
   893      path_alias: k8s.io/kubernetes
   894    - org: kubernetes-sigs
   895      repo: cloud-provider-azure
   896      base_ref: ${ccm_branch}
   897      path_alias: sigs.k8s.io/cloud-provider-azure
   898      workdir: false
   899    spec:
   900      containers:
   901      - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   902        command:
   903        - runner.sh
   904        - ./scripts/ci-entrypoint.sh
   905        args:
   906        - bash
   907        - -c
   908        - >-
   909          cd \${GOPATH}/src/sigs.k8s.io/azuredisk-csi-driver && ./deploy/install-driver.sh master local,snapshot,enable-avset &&
   910          make e2e-test
   911        env:
   912        - name: KUBERNETES_VERSION # CAPZ config
   913          value: "${kubernetes_version}"
   914        - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   915          value: "kubernetes.io/azure-disk" # In-tree Azure disk storage class
   916        securityContext:
   917          privileged: true
   918        resources:
   919          requests:
   920            cpu: 1
   921            memory: "4Gi"
   922    annotations:
   923      testgrid-dashboards: provider-azure-master-signal
   924      testgrid-tab-name: capz-release-azure-disk
   925      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   926      testgrid-num-columns-recent: '30'
   927  
   928  - interval: 24h
   929    name: capz-release-azure-disk-vmss-master
   930    decorate: true
   931    decoration_config:
   932      timeout: 3h
   933    labels:
   934      preset-dind-enabled: "true"
   935      preset-kind-volume-mounts: "true"
   936      preset-azure-cred-only: "true"
   937      preset-azure-anonymous-pull: "true"
   938      preset-azure-capz-sa-cred: "true"
   939    extra_refs:
   940    - org: kubernetes-sigs
   941      repo: cluster-api-provider-azure
   942      base_ref: ${capz_release}
   943      path_alias: sigs.k8s.io/cluster-api-provider-azure
   944    - org: kubernetes-sigs
   945      repo: azuredisk-csi-driver
   946      base_ref: master
   947      path_alias: sigs.k8s.io/azuredisk-csi-driver
   948    - org: kubernetes
   949      repo: kubernetes
   950      base_ref: master
   951      path_alias: k8s.io/kubernetes
   952    - org: kubernetes-sigs
   953      repo: cloud-provider-azure
   954      base_ref: ${ccm_branch}
   955      path_alias: sigs.k8s.io/cloud-provider-azure
   956      workdir: false
   957    spec:
   958      containers:
   959      - image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20240515-17c6d50e24-master
   960        command:
   961        - runner.sh
   962        - ./scripts/ci-entrypoint.sh
   963        args:
   964        - bash
   965        - -c
   966        - >-
   967          cd \${GOPATH}/src/sigs.k8s.io/azuredisk-csi-driver && ./deploy/install-driver.sh master local,snapshot,enable-avset &&
   968          make e2e-test
   969        env:
   970        - name: KUBERNETES_VERSION # CAPZ config
   971          value: "${kubernetes_version}"
   972        - name: EXP_MACHINE_POOL # CAPZ config
   973          value: "true"
   974        - name: AZURE_STORAGE_DRIVER # azuredisk-csi-driver config
   975          value: "kubernetes.io/azure-disk" # In-tree Azure disk storage class
   976        securityContext:
   977          privileged: true
   978        resources:
   979          requests:
   980            cpu: 1
   981            memory: "4Gi"
   982    annotations:
   983      testgrid-dashboards: provider-azure-master-signal
   984      testgrid-tab-name: capz-release-azure-disk-vmss
   985      testgrid-alert-email: kubernetes-provider-azure@googlegroups.com
   986      testgrid-num-columns-recent: '30'
   987  EOF
   988    fi
   989  done