kinder/ci/tools/update-workflows/templates/workflows/upgrade-tasks.yaml [2:166]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
version: 1
summary: |
  This workflow implements a sequence of tasks used test kubeadm upgrades.
vars:
  # vars defines default values for variable used by tasks in this workflow;
  # those values might be overridden when importing this files.
  initVersion: v1.12.8
  upgradeVersion: v1.13.5
  controlPlaneNodes: 1
  workerNodes: 2
  baseImage: kindest/base:v20191105-ee880e9b # has containerd
  image: kindest/node:test
  clusterName: kinder-upgrade
  kubeadmVerbosity: 6
tasks:
- name: pull-base-image
  description: |
    pulls kindest/base image with docker in docker and all the prerequisites necessary for running kind(er)
  cmd: docker
  args:
    - pull
    - "{{ .vars.baseImage }}"
- name: add-kubernetes-versions
  description: |
    creates a node-image-variant by adding Kubernetes version "initVersion"
    to be used when executing "kinder do kubeadm-init" and Kubernetes
    version "upgradeVersion" to be used afterwards when executing "kinder do kubeadm-upgrade"
  cmd: kinder
  args:
    - build
    - node-image-variant
    - --base-image={{ .vars.baseImage }}
    - --image={{ .vars.image }}
    - --with-init-artifacts={{ .vars.initVersion }}
    - --with-upgrade-artifacts={{ .vars.upgradeVersion }}
    - --loglevel=debug
  timeout: 15m
- name: create-cluster
  description: |
    create a set of nodes ready for hosting the Kubernetes cluster
  cmd: kinder
  args:
    - create
    - cluster
    - --name={{ .vars.clusterName }}
    - --image={{ .vars.image }}
    - --control-plane-nodes={{ .vars.controlPlaneNodes }}
    - --worker-nodes={{ .vars.workerNodes }}
    - --loglevel=debug
  timeout: 5m
- name: init
  description: |
    Initializes the Kubernetes cluster with version "initVersion"
    by starting the boostrap control-plane nodes
  cmd: kinder
  args:
    - do
    - kubeadm-init
    - --name={{ .vars.clusterName }}
    - --copy-certs=auto
    - --loglevel=debug
    - --kubeadm-verbosity={{ .vars.kubeadmVerbosity }}
  timeout: 5m
- name: join
  description: |
    Join the other nodes to the Kubernetes cluster
  cmd: kinder
  args:
    - do
    - kubeadm-join
    - --name={{ .vars.clusterName }}
    - --copy-certs=auto
    - --loglevel=debug
    - --kubeadm-verbosity={{ .vars.kubeadmVerbosity }}
  timeout: 10m
- name: cluster-info-before
  description: |
    Runs cluster-info on the cluster before upgrade
  cmd: kinder
  args:
    - do
    - cluster-info
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
- name: upgrade
  description: |
    upgrades the cluster to Kubernetes "upgradeVersion"
  cmd: kinder
  args:
    - do
    - kubeadm-upgrade
    - --upgrade-version={{ .vars.upgradeVersion }}
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
    - --kubeadm-verbosity={{ .vars.kubeadmVerbosity }}
  timeout: 15m
- name: e2e-kubeadm-after
  description: |
    Runs kubeadm e2e test on the cluster with Kubernetes "upgradeVersion"
  cmd: kinder
  args:
    - test
    - e2e-kubeadm
    - --test-flags=--report-dir={{ .env.ARTIFACTS }} --report-prefix=e2e-kubeadm
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
  timeout: 10m
- name: cluster-info-after
  description: |
    Runs cluster-info on the cluster after upgrade
  cmd: kinder
  args:
    - do
    - cluster-info
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
- name: e2e-after
  description: |
    Runs Kubernetes e2e test (conformance) on the cluster with Kubernetes "upgradeVersion"
  cmd: kinder
  args:
    - test
    - e2e
    - --test-flags=--report-dir={{ .env.ARTIFACTS }} --report-prefix=e2e
    - --parallel
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
  timeout: 35m
- name: get-logs
  description: |
    Collects all the test logs
  cmd: kinder
  args:
    - export
    - logs
    - --loglevel=debug
    - --name={{ .vars.clusterName }}
    - "{{ .env.ARTIFACTS }}"
  force: true
  timeout: 5m
  # kind export log is know to be flaky, so we are temporary ignoring errors in order
  # to make the test pass in case everything else passed
  # see https://github.com/kubernetes-sigs/kind/issues/456
  ignoreError: true
- name: reset
  description: |
    Exec kubeadm reset
  cmd: kinder
  args:
    - do
    - kubeadm-reset
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
    - --kubeadm-verbosity={{ .vars.kubeadmVerbosity }}
  force: true
- name: delete
  description: |
    Deletes the cluster
  cmd: kinder
  args:
    - delete
    - cluster
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
  force: true
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



kinder/ci/workflows/upgrade-tasks.yaml [3:167]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
version: 1
summary: |
  This workflow implements a sequence of tasks used test kubeadm upgrades.
vars:
  # vars defines default values for variable used by tasks in this workflow;
  # those values might be overridden when importing this files.
  initVersion: v1.12.8
  upgradeVersion: v1.13.5
  controlPlaneNodes: 1
  workerNodes: 2
  baseImage: kindest/base:v20191105-ee880e9b # has containerd
  image: kindest/node:test
  clusterName: kinder-upgrade
  kubeadmVerbosity: 6
tasks:
- name: pull-base-image
  description: |
    pulls kindest/base image with docker in docker and all the prerequisites necessary for running kind(er)
  cmd: docker
  args:
    - pull
    - "{{ .vars.baseImage }}"
- name: add-kubernetes-versions
  description: |
    creates a node-image-variant by adding Kubernetes version "initVersion"
    to be used when executing "kinder do kubeadm-init" and Kubernetes
    version "upgradeVersion" to be used afterwards when executing "kinder do kubeadm-upgrade"
  cmd: kinder
  args:
    - build
    - node-image-variant
    - --base-image={{ .vars.baseImage }}
    - --image={{ .vars.image }}
    - --with-init-artifacts={{ .vars.initVersion }}
    - --with-upgrade-artifacts={{ .vars.upgradeVersion }}
    - --loglevel=debug
  timeout: 15m
- name: create-cluster
  description: |
    create a set of nodes ready for hosting the Kubernetes cluster
  cmd: kinder
  args:
    - create
    - cluster
    - --name={{ .vars.clusterName }}
    - --image={{ .vars.image }}
    - --control-plane-nodes={{ .vars.controlPlaneNodes }}
    - --worker-nodes={{ .vars.workerNodes }}
    - --loglevel=debug
  timeout: 5m
- name: init
  description: |
    Initializes the Kubernetes cluster with version "initVersion"
    by starting the boostrap control-plane nodes
  cmd: kinder
  args:
    - do
    - kubeadm-init
    - --name={{ .vars.clusterName }}
    - --copy-certs=auto
    - --loglevel=debug
    - --kubeadm-verbosity={{ .vars.kubeadmVerbosity }}
  timeout: 5m
- name: join
  description: |
    Join the other nodes to the Kubernetes cluster
  cmd: kinder
  args:
    - do
    - kubeadm-join
    - --name={{ .vars.clusterName }}
    - --copy-certs=auto
    - --loglevel=debug
    - --kubeadm-verbosity={{ .vars.kubeadmVerbosity }}
  timeout: 10m
- name: cluster-info-before
  description: |
    Runs cluster-info on the cluster before upgrade
  cmd: kinder
  args:
    - do
    - cluster-info
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
- name: upgrade
  description: |
    upgrades the cluster to Kubernetes "upgradeVersion"
  cmd: kinder
  args:
    - do
    - kubeadm-upgrade
    - --upgrade-version={{ .vars.upgradeVersion }}
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
    - --kubeadm-verbosity={{ .vars.kubeadmVerbosity }}
  timeout: 15m
- name: e2e-kubeadm-after
  description: |
    Runs kubeadm e2e test on the cluster with Kubernetes "upgradeVersion"
  cmd: kinder
  args:
    - test
    - e2e-kubeadm
    - --test-flags=--report-dir={{ .env.ARTIFACTS }} --report-prefix=e2e-kubeadm
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
  timeout: 10m
- name: cluster-info-after
  description: |
    Runs cluster-info on the cluster after upgrade
  cmd: kinder
  args:
    - do
    - cluster-info
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
- name: e2e-after
  description: |
    Runs Kubernetes e2e test (conformance) on the cluster with Kubernetes "upgradeVersion"
  cmd: kinder
  args:
    - test
    - e2e
    - --test-flags=--report-dir={{ .env.ARTIFACTS }} --report-prefix=e2e
    - --parallel
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
  timeout: 35m
- name: get-logs
  description: |
    Collects all the test logs
  cmd: kinder
  args:
    - export
    - logs
    - --loglevel=debug
    - --name={{ .vars.clusterName }}
    - "{{ .env.ARTIFACTS }}"
  force: true
  timeout: 5m
  # kind export log is know to be flaky, so we are temporary ignoring errors in order
  # to make the test pass in case everything else passed
  # see https://github.com/kubernetes-sigs/kind/issues/456
  ignoreError: true
- name: reset
  description: |
    Exec kubeadm reset
  cmd: kinder
  args:
    - do
    - kubeadm-reset
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
    - --kubeadm-verbosity={{ .vars.kubeadmVerbosity }}
  force: true
- name: delete
  description: |
    Deletes the cluster
  cmd: kinder
  args:
    - delete
    - cluster
    - --name={{ .vars.clusterName }}
    - --loglevel=debug
  force: true
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



