Skip to content

Commit

Permalink
Add ARM64 node_e2e test
Browse files Browse the repository at this point in the history
Run node_e2e serial tests on GCP T2A (arm64) machine
  • Loading branch information
ike-ma committed May 25, 2023
1 parent 6e61e6a commit b747cfd
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 0 deletions.
43 changes: 43 additions & 0 deletions config/jobs/kubernetes/sig-node/node-kubelet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,49 @@ periodics:
testgrid-alert-email: [email protected]
description: "Uses kubetest to run serial node-e2e tests (+Serial, -Flaky|Benchmark|Node*Feature)"

- name: ci-kubernetes-node-arm64-ubuntu-serial
interval: 4h
cluster: k8s-infra-prow-build
annotations:
testgrid-dashboards: sig-node-kubelet
testgrid-tab-name: kubelet-gce-e2e-arm64-ubuntu-serial
description: "Run serial node e2e tests on ARM64 environment on Ubuntu"
labels:
preset-service-account: "true"
preset-k8s-ssh: "true"
preset-dind-enabled: "true"
spec:
containers:
- image: gcr.io/k8s-staging-test-infra/kubekins-e2e:v20230513-7e1db2f1bb-master
args:
- --repo=k8s.io/kubernetes=master
- --timeout=240
- --root=/go/src
- --scenario=kubernetes_e2e
- --
- --deployment=node
- --gcp-zone=us-central1-a
- --use-dockerized-build=true
- --target-build-arch=linux/arm64
- --node-args=--image-config-file=/workspace/test-infra/jobs/e2e_node/arm/image-config-serial.yaml
- '--node-test-args=--container-runtime-endpoint=unix:///run/containerd/containerd.sock --container-runtime-process-name=/usr/bin/containerd --container-runtime-pid-file= --kubelet-flags="--cgroup-driver=systemd --cgroups-per-qos=true --cgroup-root=/ --runtime-cgroups=/system.slice/containerd.service" --extra-log="{\"name\": \"containerd.log\", \"journalctl\": [\"-u\", \"containerd*\"]}"'
- --node-tests=true
- --provider=gce
- --test_args=--nodes=1 --focus="\[Serial\]" --skip="\[Flaky\]|\[Slow\]|\[Benchmark\]|\[NodeSpecialFeature:.+\]|\[NodeSpecialFeature\]|\[NodeAlphaFeature:.+\]|\[NodeAlphaFeature\]|\[NodeFeature:Eviction\]|\[NodeFeature:NodeProblemDetector\]|\[NodeFeature:OOMScoreAdj\]|\[NodeFeature:DevicePluginProbe\]|\[NodeConformance\]"
- --timeout=180m
securityContext:
privileged: true
env:
- name: GOPATH
value: /go
resources:
limits:
cpu: 4
memory: 6Gi
requests:
cpu: 4
memory: 6Gi

- name: ci-kubernetes-node-swap-fedora
cluster: k8s-infra-prow-build
interval: 4h
Expand Down
10 changes: 10 additions & 0 deletions jobs/e2e_node/arm/image-config-serial.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# To copy an image between projects:
# `gcloud compute --project <to-project> disks create <image name> --image=https://www.googleapis.com/compute/v1/projects/<from-project>/global/images/<image-name>`
# `gcloud compute --project <to-project> images create <image-name> --source-disk=<image-name>`
images:
ubuntu:
image_family: pipeline-1-25-arm64
machine: t2a-standard-2 # These tests need a lot of memory
metadata: "user-data</workspace/test-infra/jobs/e2e_node/arm/init.yaml,cni-template</workspace/test-infra/jobs/e2e_node/containerd/cni.template,containerd-config</workspace/test-infra/jobs/e2e_node/containerd/config.toml"
project: ubuntu-os-gke-cloud

28 changes: 28 additions & 0 deletions jobs/e2e_node/arm/init.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#cloud-config

runcmd:
- echo "Test run from /tmp folder, remounting it"
- mount /tmp /tmp -o remount,exec,suid

- echo "This will configure built-in containerd for k8s tests. Containerd version is:"
- ctr version # current version of containerd

- echo "Download and install CNI configuration to /home/containerd"
- mkdir -p /home/containerd
- mount --bind /home/containerd /home/containerd
- mount -o remount,exec /home/containerd
- 'curl --fail --retry 5 --retry-delay 3 --silent --show-error -H "X-Google-Metadata-Request: True" -o /home/containerd/cni.template http://metadata.google.internal/computeMetadata/v1/instance/attributes/cni-template'

- echo "Download and install CNI to /home/containerd"
- 'curl -sSL --fail --retry 5 --retry-delay 3 --silent --show-error -o /home/containerd/cni.tgz https://storage.googleapis.com/k8s-artifacts-cni/release/v1.0.1/cni-plugins-linux-arm64-v1.0.1.tgz'
- tar xzf /home/containerd/cni.tgz -C /home/containerd --overwrite

- echo "Set containerd configuration"
- mkdir -p /etc/containerd
- 'curl --fail --retry 5 --retry-delay 3 --silent --show-error -H "X-Google-Metadata-Request: True" -o /etc/containerd/config.toml http://metadata.google.internal/computeMetadata/v1/instance/attributes/containerd-config'

- echo "Restarting containerd"
- systemctl restart containerd

- echo "Configuration complete"

0 comments on commit b747cfd

Please sign in to comment.