{"tests":[{"name":"cl.network.wireguard","result":"PASS","duration":82834250247,"output":"        cluster.go:152: + ip --json address show kv0 | jq -r '.[] | .addr_info | .[] | select( .family == \"inet\") | .local'\n"},{"name":"cl.ignition.misc.empty","result":"PASS","duration":82862685966,"output":""},{"name":"cl.ignition.v2.ext4root","result":"PASS","duration":83115375094,"output":""},{"name":"cl.etcd-member.etcdctlv3","result":"PASS","duration":83320109901,"output":"        cluster.go:125: {\"level\":\"info\",\"ts\":1792194741.4926453,\"caller\":\"snapshot/v3_snapshot.go:68\",\"msg\":\"created temporary db file\",\"path\":\"/tmp/tmp.v6VbQG5t8F/snapshot.db.part\"}\n        cluster.go:125: {\"level\":\"info\",\"ts\":1792194741.4934525,\"logger\":\"client\",\"caller\":\"v3/maintenance.go:211\",\"msg\":\"opened snapshot stream; downloading\"}\n        cluster.go:125: {\"level\":\"info\",\"ts\":1792194741.4934862,\"caller\":\"snapshot/v3_snapshot.go:76\",\"msg\":\"fetching snapshot\",\"endpoint\":\"127.0.0.1:2379\"}\n        cluster.go:125: {\"level\":\"info\",\"ts\":1792194741.4953878,\"logger\":\"client\",\"caller\":\"v3/maintenance.go:219\",\"msg\":\"completed snapshot read; closing\"}\n        cluster.go:125: {\"level\":\"info\",\"ts\":1792194741.495446,\"caller\":\"snapshot/v3_snapshot.go:91\",\"msg\":\"fetched snapshot\",\"endpoint\":\"127.0.0.1:2379\",\"size\":\"20 kB\",\"took\":\"now\"}\n        cluster.go:125: {\"level\":\"info\",\"ts\":1792194741.4954972,\"caller\":\"snapshot/v3_snapshot.go:100\",\"msg\":\"saved\",\"path\":\"/tmp/tmp.v6VbQG5t8F/snapshot.db\"}\n        cluster.go:125: Deprecated: Use `etcdutl snapshot status` instead.\n"},{"name":"cl.ignition.v1.groups","result":"PASS","duration":83324549660,"output":""},{"name":"cl.network.iptables","result":"FAIL","duration":83633882194,"output":"        cluster.go:152: + sudo nft --json list ruleset | jq '.nftables[] | select(.rule) | .rule.expr[0].match.right'\n        cluster.go:156: cmd sudo nft --json list ruleset | jq '.nftables[] | select(.rule) | .rule.expr[0].match.right' did not output 80\n"},{"name":"docker.base/docker-info","result":"PASS","duration":3264389170,"output":""},{"name":"azure.nvme-friendly-naming","result":"SKIP","duration":84192838244,"output":"        cluster.go:125: ls: cannot access '/dev/nvme0n1': No such file or directory\n        nvme.go:47: no NVMe disk found on this instance\n"},{"name":"docker.btrfs-storage","result":"PASS","duration":86742579912,"output":""},{"name":"coreos.tls.fetch-urls","result":"PASS","duration":87662077755,"output":""},{"name":"docker.base/resources","result":"PASS","duration":8164385602,"output":"        cluster.go:125: #1 [internal] load build definition from Dockerfile\n        cluster.go:125: #1 transferring dockerfile: 108B done\n        cluster.go:125: #1 DONE 0.1s\n        cluster.go:125: \n        cluster.go:125: #2 [internal] load .dockerignore\n        cluster.go:125: #2 transferring context:\n        cluster.go:125: #2 transferring context: 2B done\n        cluster.go:125: #2 DONE 0.0s\n        cluster.go:125: \n        cluster.go:125: #3 [internal] load build context\n        cluster.go:125: #3 transferring context: 2.20MB 0.0s done\n        cluster.go:125: #3 DONE 0.1s\n        cluster.go:125: \n        cluster.go:125: #4 [1/1] COPY . /\n        cluster.go:125: #4 DONE 0.1s\n        cluster.go:125: \n        cluster.go:125: #5 exporting to image\n        cluster.go:125: #5 exporting layers 0.1s done\n        cluster.go:125: #5 writing image sha256:b80bd5dbc3bd12ed9476d32c5b56f07de16582baa8db887346d6681b6a3ba86a done\n        cluster.go:125: #5 naming to docker.io/library/sleep done\n        cluster.go:125: #5 DONE 0.1s\n        cluster.go:125: WARNING: Your kernel does not support OomKillDisable. OomKillDisable discarded.\n        cluster.go:125: WARNING: Your kernel does not support memory swappiness capabilities or the cgroup is not mounted. Memory swappiness discarded.\n"},{"name":"cl.osreset.ignition-rerun","result":"PASS","duration":104684795444,"output":""},{"name":"coreos.locksmith.tls","result":"PASS","duration":107917756709,"output":""},{"name":"cl.users.shells","result":"PASS","duration":113028468755,"output":""},{"name":"cl.internet/DockerEcho","result":"PASS","duration":5477640259,"output":""},{"name":"cl.internet/NTPDate","result":"PASS","duration":7028434856,"output":""},{"name":"cl.internet/UpdateEngine","result":"PASS","duration":335207433,"output":""},{"name":"cl.internet/DockerPing","result":"PASS","duration":3866225854,"output":""},{"name":"sysext.custom-docker.sysext","result":"PASS","duration":129780764447,"output":"        cluster.go:125: bash: line 1: docker: command not found\n        cluster.go:125: Cloning into 'sysext-bakery'...\n        cluster.go:125: Note: switching to '9850ffd5b2353f45a9b3bf4fb84f8138a149e3e7'.\n        cluster.go:125: \n        cluster.go:125: You are in 'detached HEAD' state. You can look around, make experimental\n        cluster.go:125: changes and commit them, and you can discard any commits you make in this\n        cluster.go:125: state without impacting any branches by switching back to a branch.\n        cluster.go:125: \n        cluster.go:125: If you want to create a new branch to retain commits you create, you may\n        cluster.go:125: do so (now or later) by using -c with the switch command. Example:\n        cluster.go:125: \n        cluster.go:125:   git switch -c \u003cnew-branch-name\u003e\n        cluster.go:125: \n        cluster.go:125: Or undo this operation with:\n        cluster.go:125: \n        cluster.go:125:   git switch -\n        cluster.go:125: \n        cluster.go:125: Turn off this advice by setting config variable advice.detachedHead to false\n        cluster.go:125: \n        cluster.go:125: HEAD is now at 9850ffd Merge pull request #31 from flatcar/t-lo/fix-docker-23-containerd-shim\n        cluster.go:125: mke2fs 1.47.1 (20-May-2024)\n        cluster.go:125: resize2fs 1.47.1 (20-May-2024)\n        cluster.go:125: mke2fs 1.47.1 (20-May-2024)\n        cluster.go:125: resize2fs 1.47.1 (20-May-2024)\n        cluster.go:125: Unable to find image 'ghcr.io/flatcar/busybox:latest' locally\n        cluster.go:125: latest: Pulling from flatcar/busybox\n        cluster.go:125: 4bf2067f7735: Pulling fs layer\n        cluster.go:125: 4bf2067f7735: Verifying Checksum\n        cluster.go:125: 4bf2067f7735: Download complete\n        cluster.go:125: 4bf2067f7735: Pull complete\n        cluster.go:125: Digest: sha256:93e8234eb9ca92b9aae20fd73d6c9447ac3d1cc741c6e80c737f821dca582a0e\n        cluster.go:125: Status: Downloaded newer image for ghcr.io/flatcar/busybox:latest\n        cluster.go:125: mke2fs 1.47.1 (20-May-2024)\n        cluster.go:125: resize2fs 1.47.1 (20-May-2024)\n        cluster.go:125: mke2fs 1.47.1 (20-May-2024)\n        cluster.go:125: resize2fs 1.47.1 (20-May-2024)\n"},{"name":"cl.internet","result":"PASS","duration":130925363668,"output":"    --- PASS: cl.internet/DockerEcho (5.48s)\n    --- PASS: cl.internet/NTPDate (7.03s)\n    --- PASS: cl.internet/UpdateEngine (0.34s)\n    --- PASS: cl.internet/DockerPing (3.87s)\n"},{"name":"cl.ignition.v1.once","result":"PASS","duration":99713842690,"output":""},{"name":"cl.overlay.cleanup","result":"PASS","duration":99985834726,"output":""},{"name":"docker.base/networks-reliably","result":"FAIL","duration":135819730453,"output":"        cluster.go:125: #1 [internal] load build definition from Dockerfile\n        cluster.go:125: #1 transferring dockerfile: 108B done\n        cluster.go:125: #1 DONE 0.0s\n        cluster.go:125: \n        cluster.go:125: #2 [internal] load .dockerignore\n        cluster.go:125: #2 transferring context: 2B done\n        cluster.go:125: #2 DONE 0.0s\n        cluster.go:125: \n        cluster.go:125: #3 [internal] load build context\n        cluster.go:125: #3 transferring context: 4.04MB 0.0s done\n        cluster.go:125: #3 DONE 0.1s\n        cluster.go:125: \n        cluster.go:125: #4 [1/1] COPY . /\n        cluster.go:125: #4 DONE 0.0s\n        cluster.go:125: \n        cluster.go:125: #5 exporting to image\n        cluster.go:125: #5 exporting layers 0.1s done\n        cluster.go:125: #5 writing image sha256:5dd7af912107f4251d2ce08935e1d6cf25e028491d563069467b501683f8ef8a done\n        cluster.go:125: #5 naming to docker.io/library/ping done\n        cluster.go:125: #5 DONE 0.1s\n        cluster.go:145: \"for i in $(seq 1 100); do\\n\\t\\techo -n \\\"$i: \\\"\\n\\t\\tdocker run --rm ping sh -c 'ping -i 0.2 172.17.0.1 -w 1 \u003e/dev/null \u0026\u0026 echo PASS || echo FAIL'\\n\\tdone\" failed: output 1: PASS\n2: PASS\n3: PASS\n4: PASS\n5: PASS\n6: PASS\n7: PASS\n8: PASS\n9: PASS\n10: PASS\n11: PASS\n12: PASS\n13: PASS\n14: PASS\n15: PASS\n16: PASS\n17: PASS\n18: PASS\n19: PASS\n20: PASS\n21: PASS\n22: PASS\n23: PASS\n24: PASS\n25: PASS\n26: PASS\n27: PASS\n28: PASS\n29: PASS\n30: PASS\n31: PASS\n32: PASS\n33: PASS\n34: PASS\n35: PASS\n36: PASS\n37: PASS\n38: PASS\n39: PASS\n40: PASS\n41: PASS\n42: PASS\n43: PASS\n44: PASS\n45: PASS\n46: PASS\n47: PASS\n48: PASS\n49: PASS\n50: PASS\n51: PASS\n52: PASS\n53: PASS\n54: PASS\n55: PASS\n56: PASS\n57: PASS\n58: PASS\n59: PASS\n60: PASS\n61: PASS\n62: PASS\n63: PASS\n64: PASS\n65: PASS\n66: PASS\n67: PASS\n68: PASS\n69: PASS\n70: PASS\n71: PASS\n72: PASS\n73: PASS\n74: PASS\n75: PASS\n76: PASS\n77: PASS\n78: PASS\n79: PASS\n80: PASS\n81: PASS\n82: PASS\n83: PASS\n84: PASS\n85: PASS\n86: PASS\n87: PASS\n88:, status wait: remote command exited without exit status or exit signal\n"},{"name":"docker.base/user-no-caps","result":"FAIL","duration":36604664,"output":"        cluster.go:145: \"tmpdir=$(mktemp -d); cd $tmpdir; echo -e \\\"FROM scratch\\\\nCOPY . /\\\" \u003e Dockerfile;\\n\\t        b=$(which capsh sh grep cat ls); libs=$(sudo ldd $b | grep -o /lib'[^ ]*' | sort -u);\\n\\t        sudo rsync -av --relative --copy-links $b $libs ./;\\n\\t        sudo docker build -t captest .\" failed: output , status ssh: handshake failed: read tcp 10.200.1.4:58578-\u003e20.107.208.193:22: read: connection reset by peer\n"},{"name":"docker.base/ownership","result":"FAIL","duration":35740946,"output":"        cluster.go:145: \"docker run --name ownership ghcr.io/flatcar/nginx stat -c \\\"%u/%g\\\" /etc/shadow\" failed: output , status ssh: handshake failed: read tcp 10.200.1.4:58588-\u003e20.107.208.193:22: read: connection reset by peer\n"},{"name":"docker.base","result":"FAIL","duration":229920485938,"output":"    --- PASS: docker.base/docker-info (3.26s)\n    --- PASS: docker.base/resources (8.16s)\n            cluster.go:125: #1 [internal] load build definition from Dockerfile\n            cluster.go:125: #1 transferring dockerfile: 108B done\n            cluster.go:125: #1 DONE 0.1s\n            cluster.go:125: \n            cluster.go:125: #2 [internal] load .dockerignore\n            cluster.go:125: #2 transferring context:\n            cluster.go:125: #2 transferring context: 2B done\n            cluster.go:125: #2 DONE 0.0s\n            cluster.go:125: \n            cluster.go:125: #3 [internal] load build context\n            cluster.go:125: #3 transferring context: 2.20MB 0.0s done\n            cluster.go:125: #3 DONE 0.1s\n            cluster.go:125: \n            cluster.go:125: #4 [1/1] COPY . /\n            cluster.go:125: #4 DONE 0.1s\n            cluster.go:125: \n            cluster.go:125: #5 exporting to image\n            cluster.go:125: #5 exporting layers 0.1s done\n            cluster.go:125: #5 writing image sha256:b80bd5dbc3bd12ed9476d32c5b56f07de16582baa8db887346d6681b6a3ba86a done\n            cluster.go:125: #5 naming to docker.io/library/sleep done\n            cluster.go:125: #5 DONE 0.1s\n            cluster.go:125: WARNING: Your kernel does not support OomKillDisable. OomKillDisable discarded.\n            cluster.go:125: WARNING: Your kernel does not support memory swappiness capabilities or the cgroup is not mounted. Memory swappiness discarded.\n    --- FAIL: docker.base/networks-reliably (135.82s)\n            cluster.go:125: #1 [internal] load build definition from Dockerfile\n            cluster.go:125: #1 transferring dockerfile: 108B done\n            cluster.go:125: #1 DONE 0.0s\n            cluster.go:125: \n            cluster.go:125: #2 [internal] load .dockerignore\n            cluster.go:125: #2 transferring context: 2B done\n            cluster.go:125: #2 DONE 0.0s\n            cluster.go:125: \n            cluster.go:125: #3 [internal] load build context\n            cluster.go:125: #3 transferring context: 4.04MB 0.0s done\n            cluster.go:125: #3 DONE 0.1s\n            cluster.go:125: \n            cluster.go:125: #4 [1/1] COPY . /\n            cluster.go:125: #4 DONE 0.0s\n            cluster.go:125: \n            cluster.go:125: #5 exporting to image\n            cluster.go:125: #5 exporting layers 0.1s done\n            cluster.go:125: #5 writing image sha256:5dd7af912107f4251d2ce08935e1d6cf25e028491d563069467b501683f8ef8a done\n            cluster.go:125: #5 naming to docker.io/library/ping done\n            cluster.go:125: #5 DONE 0.1s\n            cluster.go:145: \"for i in $(seq 1 100); do\\n\\t\\techo -n \\\"$i: \\\"\\n\\t\\tdocker run --rm ping sh -c 'ping -i 0.2 172.17.0.1 -w 1 \u003e/dev/null \u0026\u0026 echo PASS || echo FAIL'\\n\\tdone\" failed: output 1: PASS\n    2: PASS\n    3: PASS\n    4: PASS\n    5: PASS\n    6: PASS\n    7: PASS\n    8: PASS\n    9: PASS\n    10: PASS\n    11: PASS\n    12: PASS\n    13: PASS\n    14: PASS\n    15: PASS\n    16: PASS\n    17: PASS\n    18: PASS\n    19: PASS\n    20: PASS\n    21: PASS\n    22: PASS\n    23: PASS\n    24: PASS\n    25: PASS\n    26: PASS\n    27: PASS\n    28: PASS\n    29: PASS\n    30: PASS\n    31: PASS\n    32: PASS\n    33: PASS\n    34: PASS\n    35: PASS\n    36: PASS\n    37: PASS\n    38: PASS\n    39: PASS\n    40: PASS\n    41: PASS\n    42: PASS\n    43: PASS\n    44: PASS\n    45: PASS\n    46: PASS\n    47: PASS\n    48: PASS\n    49: PASS\n    50: PASS\n    51: PASS\n    52: PASS\n    53: PASS\n    54: PASS\n    55: PASS\n    56: PASS\n    57: PASS\n    58: PASS\n    59: PASS\n    60: PASS\n    61: PASS\n    62: PASS\n    63: PASS\n    64: PASS\n    65: PASS\n    66: PASS\n    67: PASS\n    68: PASS\n    69: PASS\n    70: PASS\n    71: PASS\n    72: PASS\n    73: PASS\n    74: PASS\n    75: PASS\n    76: PASS\n    77: PASS\n    78: PASS\n    79: PASS\n    80: PASS\n    81: PASS\n    82: PASS\n    83: PASS\n    84: PASS\n    85: PASS\n    86: PASS\n    87: PASS\n    88:, status wait: remote command exited without exit status or exit signal\n    --- FAIL: docker.base/user-no-caps (0.04s)\n            cluster.go:145: \"tmpdir=$(mktemp -d); cd $tmpdir; echo -e \\\"FROM scratch\\\\nCOPY . /\\\" \u003e Dockerfile;\\n\\t        b=$(which capsh sh grep cat ls); libs=$(sudo ldd $b | grep -o /lib'[^ ]*' | sort -u);\\n\\t        sudo rsync -av --relative --copy-links $b $libs ./;\\n\\t        sudo docker build -t captest .\" failed: output , status ssh: handshake failed: read tcp 10.200.1.4:58578-\u003e20.107.208.193:22: read: connection reset by peer\n    --- FAIL: docker.base/ownership (0.04s)\n            cluster.go:145: \"docker run --name ownership ghcr.io/flatcar/nginx stat -c \\\"%u/%g\\\" /etc/shadow\" failed: output , status ssh: handshake failed: read tcp 10.200.1.4:58588-\u003e20.107.208.193:22: read: connection reset by peer\n"},{"name":"kubeadm.v1.35.1.flannel.cgroupv1.base","result":"FAIL","duration":163166941748,"output":"        kubeadm.go:197: unable to setup cluster: unable to create master node: PollUntilDone(ci-4081.3.10--2a18a3c7a3): GET https://management.azure.com/subscriptions/0e46bd28-a80f-4d3a-8200-d9eb8d80cb2e/providers/Microsoft.Compute/locations/northeurope/operations/bfcb2baa-2e36-4961-9192-da8544550981\n--------------------------------------------------------------------------------\nRESPONSE 200: 200 OK\nERROR CODE: OperationPreempted\n--------------------------------------------------------------------------------\n{\n  \"startTime\": \"2026-10-16T23:53:46.0698747+00:00\",\n  \"endTime\": \"2026-10-16T23:54:59.4640753+00:00\",\n  \"status\": \"Canceled\",\n  \"error\": {\n    \"code\": \"OperationPreempted\",\n    \"message\": \"Operation execution has been preempted by a more recent operation.\"\n  },\n  \"name\": \"bfcb2baa-2e36-4961-9192-da8544550981\"\n}\n--------------------------------------------------------------------------------\n"},{"name":"kubeadm.v1.36.1.cilium.base","result":"FAIL","duration":246853357340,"output":"        cluster.go:125: I1016 23:53:47.173853    2365 version.go:260] remote version is much newer: v1.37.1; falling back to: stable-1.36\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-apiserver:v1.36.5\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-controller-manager:v1.36.5\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-scheduler:v1.36.5\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-proxy:v1.36.5\n        cluster.go:125: [config/images] Pulled registry.k8s.io/coredns/coredns:v1.14.2\n        cluster.go:125: [config/images] Pulled registry.k8s.io/pause:3.10.2\n        cluster.go:125: [config/images] Pulled registry.k8s.io/etcd:3.6.8-0\n        cluster.go:125: I1016 23:54:00.891195    2596 version.go:260] remote version is much newer: v1.37.1; falling back to: stable-1.36\n        cluster.go:125: [init] Using Kubernetes version: v1.36.5\n        cluster.go:125: [preflight] Running pre-flight checks\n        cluster.go:125: E1016 23:54:00.954007    2596 remote_runtime.go:1177] \"RuntimeConfig from runtime service failed\" err=\"rpc error: code = Unimplemented desc = unknown method RuntimeConfig for service runtime.v1.RuntimeService\"\n        cluster.go:125: \t[WARNING ContainerRuntimeVersion]: You must update your container runtime to a version that supports the CRI method RuntimeConfig. Falling back to using cgroupDriver from kubelet config will be removed in 1.37. For more information, see https://git.k8s.io/enhancements/keps/sig-node/4033-group-driver-detection-over-cri\n        cluster.go:125: \t[WARNING Hostname]: hostname \"ci-4081.3.10--2803cc7737\" could not be reached\n        cluster.go:125: \t[WARNING Hostname]: hostname \"ci-4081.3.10--2803cc7737\": lookup ci-4081.3.10--2803cc7737 on 168.63.129.16:53: no such host\n        cluster.go:125: \t[WARNING Service-kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'\n        cluster.go:125: [preflight] Pulling images required for setting up a Kubernetes cluster\n        cluster.go:125: [preflight] This might take a minute or two, depending on the speed of your internet connection\n        cluster.go:125: [preflight] You can also perform this action beforehand using 'kubeadm config images pull'\n        cluster.go:125: W1016 23:54:01.102239    2596 checks.go:907] detected that the sandbox image \"registry.k8s.io/pause:3.8\" of the container runtime is inconsistent with that used by kubeadm. It is recommended to use \"registry.k8s.io/pause:3.10.2\" as the CRI sandbox image.\n        cluster.go:125: [certs] Using certificateDir folder \"/etc/kubernetes/pki\"\n        cluster.go:125: [certs] Generating \"ca\" certificate and key\n        cluster.go:125: [certs] Generating \"apiserver\" certificate and key\n        cluster.go:125: [certs] apiserver serving cert is signed for DNS names [ci-4081.3.10--2803cc7737 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 10.0.0.27]\n        cluster.go:125: [certs] Generating \"apiserver-kubelet-client\" certificate and key\n        cluster.go:125: [certs] Generating \"front-proxy-ca\" certificate and key\n        cluster.go:125: [certs] Generating \"front-proxy-client\" certificate and key\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/ca certificate authority generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/server certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/peer certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/healthcheck-client certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping apiserver-etcd-client certificate generation\n        cluster.go:125: [certs] Generating \"sa\" key and public key\n        cluster.go:125: [kubeconfig] Using kubeconfig folder \"/etc/kubernetes\"\n        cluster.go:125: [kubeconfig] Writing \"admin.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"super-admin.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"kubelet.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"controller-manager.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"scheduler.conf\" kubeconfig file\n        cluster.go:125: [control-plane] Using manifest folder \"/etc/kubernetes/manifests\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-apiserver\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-controller-manager\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-scheduler\"\n        cluster.go:125: [kubelet-start] Writing kubelet environment file with flags to file \"/var/lib/kubelet/kubeadm-flags.env\"\n        cluster.go:125: [kubelet-start] Writing kubelet configuration to file \"/var/lib/kubelet/instance-config.yaml\"\n        cluster.go:125: [patches] Applied patch of type \"application/strategic-merge-patch+json\" to target \"kubeletconfiguration\"\n        cluster.go:125: [kubelet-start] Writing kubelet configuration to file \"/var/lib/kubelet/config.yaml\"\n        cluster.go:125: [kubelet-start] Starting the kubelet\n        cluster.go:125: [wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \"/etc/kubernetes/manifests\"\n        cluster.go:125: [kubelet-check] Waiting for a healthy kubelet at http://127.0.0.1:10248/healthz. This can take up to 4m0s\n        cluster.go:125: [kubelet-check] The kubelet is healthy after 870.097µs\n        cluster.go:125: [control-plane-check] Waiting for healthy control plane components. This can take up to 30m0s\n        cluster.go:125: [control-plane-check] Checking kube-apiserver at https://10.0.0.27:6443/livez\n        cluster.go:125: [control-plane-check] Checking kube-controller-manager at https://127.0.0.1:10257/healthz\n        cluster.go:125: [control-plane-check] Checking kube-scheduler at https://127.0.0.1:10259/livez\n        cluster.go:125: [control-plane-check] kube-controller-manager is healthy after 7.455677ms\n        cluster.go:125: [control-plane-check] kube-scheduler is healthy after 52.01344ms\n        cluster.go:125: [control-plane-check] kube-apiserver is healthy after 2.002725363s\n        cluster.go:125: [upload-config] Storing the configuration used in ConfigMap \"kubeadm-config\" in the \"kube-system\" Namespace\n        cluster.go:125: [kubelet] Creating a ConfigMap \"kubelet-config\" in namespace kube-system with the configuration for the kubelets in the cluster\n        cluster.go:125: [upload-certs] Skipping phase. Please see --upload-certs\n        cluster.go:125: [mark-control-plane] Marking the node ci-4081.3.10--2803cc7737 as control-plane by adding the labels: [node-role.kubernetes.io/control-plane node.kubernetes.io/exclude-from-external-load-balancers]\n        cluster.go:125: [mark-control-plane] Marking the node ci-4081.3.10--2803cc7737 as control-plane by adding the taints [node-role.kubernetes.io/control-plane:NoSchedule]\n        cluster.go:125: [bootstrap-token] Using token: a2kg09.4ymjplga1y0carvm\n        cluster.go:125: [bootstrap-token] Configuring bootstrap tokens, cluster-info ConfigMap, RBAC Roles\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to get nodes\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow certificate rotation for all node client certificates in the cluster\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow the API server kubelet client certificate to access the kubelet API\n        cluster.go:125: [bootstrap-token] Creating the \"cluster-info\" ConfigMap in the \"kube-public\" namespace\n        cluster.go:125: [kubelet-finalize] Updating \"/etc/kubernetes/kubelet.conf\" to point to a rotatable kubelet client certificate and key\n        cluster.go:125: [addons] Applied essential addon: CoreDNS\n        cluster.go:125: [addons] Applied essential addon: kube-proxy\n        cluster.go:125: \n        cluster.go:125: Your Kubernetes control-plane has initialized successfully!\n        cluster.go:125: \n        cluster.go:125: To start using your cluster, you need to run the following as a regular user:\n        cluster.go:125: \n        cluster.go:125:   mkdir -p $HOME/.kube\n        cluster.go:125:   sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\n        cluster.go:125:   sudo chown $(id -u):$(id -g) $HOME/.kube/config\n        cluster.go:125: \n        cluster.go:125: Alternatively, if you are the root user, you can run:\n        cluster.go:125: \n        cluster.go:125:   export KUBECONFIG=/etc/kubernetes/admin.conf\n        cluster.go:125: \n        cluster.go:125: You should now deploy a pod network to the cluster.\n        cluster.go:125: Run \"kubectl apply -f [podnetwork].yaml\" with one of the options listed at:\n        cluster.go:125:   https://kubernetes.io/docs/concepts/cluster-administration/addons/\n        cluster.go:125: \n        cluster.go:125: Then you can join any number of worker nodes by running the following on each as root:\n        cluster.go:125: \n        cluster.go:125: kubeadm join 10.0.0.27:6443 --token a2kg09.4ymjplga1y0carvm \\\n        cluster.go:125: \t--discovery-token-ca-cert-hash sha256:d66e2e1646561d6ee4809661a9daf61c8d52936133cad84fa45c8bd85c1e54ba \n        cluster.go:125: i  Using Cilium version 1.12.5\n        cluster.go:125: ? Auto-detected cluster name: kubernetes\n        cluster.go:125: ? Auto-detected datapath mode: tunnel\n        cluster.go:125: ? Auto-detected kube-proxy has been installed\n        cluster.go:125: i  helm template --namespace kube-system cilium cilium/cilium --version 1.12.5 --set cluster.id=0,cluster.name=kubernetes,encryption.nodeEncryption=false,extraConfig.cluster-pool-ipv4-cidr=192.168.0.0/17,extraConfig.enable-endpoint-routes=true,kubeProxyReplacement=disabled,operator.replicas=1,serviceAccounts.cilium.name=cilium,serviceAccounts.operator.name=cilium-operator,tunnel=vxlan\n        cluster.go:125: i  Storing helm values file in kube-system/cilium-cli-helm-values Secret\n        cluster.go:125: ? Created CA in secret cilium-ca\n        cluster.go:125: ? Generating certificates for Hubble...\n        cluster.go:125: ? Creating Service accounts...\n        cluster.go:125: ? Creating Cluster roles...\n        cluster.go:125: ? Creating ConfigMap for Cilium version 1.12.5...\n        cluster.go:125: i  Manual overwrite in ConfigMap: enable-endpoint-routes=true\n        cluster.go:125: i  Manual overwrite in ConfigMap: cluster-pool-ipv4-cidr=192.168.0.0/17\n        cluster.go:125: ? Creating Agent DaemonSet...\n        cluster.go:125: level=warning msg=\"spec.template.metadata.annotations[container.apparmor.security.beta.kubernetes.io/mount-cgroup]: deprecated since v1.30; use the \\\"appArmorProfile\\\" field instead\" subsys=klog\n        cluster.go:125: level=warning msg=\"spec.template.metadata.annotations[container.apparmor.security.beta.kubernetes.io/apply-sysctl-overwrites]: deprecated since v1.30; use the \\\"appArmorProfile\\\" field instead\" subsys=klog\n        cluster.go:125: level=warning msg=\"spec.template.metadata.annotations[container.apparmor.security.beta.kubernetes.io/clean-cilium-state]: deprecated since v1.30; use the \\\"appArmorProfile\\\" field instead\" subsys=klog\n        cluster.go:125: level=warning msg=\"spec.template.metadata.annotations[container.apparmor.security.beta.kubernetes.io/cilium-agent]: deprecated since v1.30; use the \\\"appArmorProfile\\\" field instead\" subsys=klog\n        cluster.go:125: ? Creating Operator Deployment...\n        cluster.go:125: ? Waiting for Cilium to be installed and ready...\n        cluster.go:125: ? Cilium was successfully installed! Run 'cilium status' to view installation health\n        cluster.go:125: \u001b[33m    /??\\\n        cluster.go:125: \u001b[36m /??\u001b[33m\\__/\u001b[32m??\\\u001b[0m    Cilium:         \u001b[32mOK\u001b[0m\n        cluster.go:125: \u001b[36m \\__\u001b[31m/??\\\u001b[32m__/\u001b[0m    Operator:       \u001b[32mOK\u001b[0m\n        cluster.go:125: \u001b[32m /??\u001b[31m\\__/\u001b[35m??\\\u001b[0m    Hubble:         \u001b[36mdisabled\u001b[0m\n        cluster.go:125: \u001b[32m \\__\u001b[34m/??\\\u001b[35m__/\u001b[0m    ClusterMesh:    \u001b[36mdisabled\u001b[0m\n        cluster.go:125: \u001b[34m    \\__/\n        cluster.go:125: \u001b[0m\n        cluster.go:125: DaemonSet        cilium             \n        cluster.go:125: Deployment       cilium-operator    \n        cluster.go:125: Containers:      cilium             \n        cluster.go:125:                  cilium-operator    \n        cluster.go:125: Cluster Pods:    0/0 managed by Cilium\n        kubeadm.go:197: unable to setup cluster: unable to create worker node: PollUntilDone(ci-4081.3.10--325bf40820): GET https://management.azure.com/subscriptions/0e46bd28-a80f-4d3a-8200-d9eb8d80cb2e/providers/Microsoft.Compute/locations/northeurope/operations/57b65bdf-5dd5-48d8-a156-8aa27bd13a78\n--------------------------------------------------------------------------------\nRESPONSE 200: 200 OK\nERROR CODE: OperationPreempted\n--------------------------------------------------------------------------------\n{\n  \"startTime\": \"2026-10-16T23:54:17.6953446+00:00\",\n  \"endTime\": \"2026-10-16T23:54:59.5891553+00:00\",\n  \"status\": \"Canceled\",\n  \"error\": {\n    \"code\": \"OperationPreempted\",\n    \"message\": \"Operation execution has been preempted by a more recent operation.\"\n  },\n  \"name\": \"57b65bdf-5dd5-48d8-a156-8aa27bd13a78\"\n}\n--------------------------------------------------------------------------------\n"},{"name":"kubeadm.v1.35.1.flannel.base","result":"FAIL","duration":255752736862,"output":"        cluster.go:125: I1016 23:53:45.416516    2346 version.go:260] remote version is much newer: v1.37.1; falling back to: stable-1.35\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-apiserver:v1.35.9\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-controller-manager:v1.35.9\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-scheduler:v1.35.9\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-proxy:v1.35.9\n        cluster.go:125: [config/images] Pulled registry.k8s.io/coredns/coredns:v1.13.1\n        cluster.go:125: [config/images] Pulled registry.k8s.io/pause:3.10.1\n        cluster.go:125: [config/images] Pulled registry.k8s.io/etcd:3.6.6-0\n        cluster.go:125: I1016 23:53:58.943595    2664 version.go:260] remote version is much newer: v1.37.1; falling back to: stable-1.35\n        cluster.go:125: [init] Using Kubernetes version: v1.35.9\n        cluster.go:125: [preflight] Running pre-flight checks\n        cluster.go:125: \t[WARNING ContainerRuntimeVersion]: You must update your container runtime to a version that supports the CRI method RuntimeConfig. Falling back to using cgroupDriver from kubelet config will be removed in 1.36. For more information, see https://git.k8s.io/enhancements/keps/sig-node/4033-group-driver-detection-over-cri\n        cluster.go:125: \t[WARNING Hostname]: hostname \"ci-4081.3.10--420a118536\" could not be reached\n        cluster.go:125: \t[WARNING Hostname]: hostname \"ci-4081.3.10--420a118536\": lookup ci-4081.3.10--420a118536 on 168.63.129.16:53: no such host\n        cluster.go:125: \t[WARNING Service-kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'\n        cluster.go:125: [preflight] Pulling images required for setting up a Kubernetes cluster\n        cluster.go:125: [preflight] This might take a minute or two, depending on the speed of your internet connection\n        cluster.go:125: [preflight] You can also perform this action beforehand using 'kubeadm config images pull'\n        cluster.go:125: W1016 23:53:59.143897    2664 checks.go:906] detected that the sandbox image \"registry.k8s.io/pause:3.8\" of the container runtime is inconsistent with that used by kubeadm. It is recommended to use \"registry.k8s.io/pause:3.10.1\" as the CRI sandbox image.\n        cluster.go:125: [certs] Using certificateDir folder \"/etc/kubernetes/pki\"\n        cluster.go:125: [certs] Generating \"ca\" certificate and key\n        cluster.go:125: [certs] Generating \"apiserver\" certificate and key\n        cluster.go:125: [certs] apiserver serving cert is signed for DNS names [ci-4081.3.10--420a118536 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 10.0.0.24]\n        cluster.go:125: [certs] Generating \"apiserver-kubelet-client\" certificate and key\n        cluster.go:125: [certs] Generating \"front-proxy-ca\" certificate and key\n        cluster.go:125: [certs] Generating \"front-proxy-client\" certificate and key\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/ca certificate authority generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/server certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/peer certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/healthcheck-client certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping apiserver-etcd-client certificate generation\n        cluster.go:125: [certs] Generating \"sa\" key and public key\n        cluster.go:125: [kubeconfig] Using kubeconfig folder \"/etc/kubernetes\"\n        cluster.go:125: [kubeconfig] Writing \"admin.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"super-admin.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"kubelet.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"controller-manager.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"scheduler.conf\" kubeconfig file\n        cluster.go:125: [control-plane] Using manifest folder \"/etc/kubernetes/manifests\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-apiserver\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-controller-manager\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-scheduler\"\n        cluster.go:125: [kubelet-start] Writing kubelet environment file with flags to file \"/var/lib/kubelet/kubeadm-flags.env\"\n        cluster.go:125: [kubelet-start] Writing kubelet configuration to file \"/var/lib/kubelet/instance-config.yaml\"\n        cluster.go:125: [patches] Applied patch of type \"application/strategic-merge-patch+json\" to target \"kubeletconfiguration\"\n        cluster.go:125: [kubelet-start] Writing kubelet configuration to file \"/var/lib/kubelet/config.yaml\"\n        cluster.go:125: [kubelet-start] Starting the kubelet\n        cluster.go:125: [wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \"/etc/kubernetes/manifests\"\n        cluster.go:125: [kubelet-check] Waiting for a healthy kubelet at http://127.0.0.1:10248/healthz. This can take up to 4m0s\n        cluster.go:125: [kubelet-check] The kubelet is healthy after 500.722324ms\n        cluster.go:125: [control-plane-check] Waiting for healthy control plane components. This can take up to 30m0s\n        cluster.go:125: [control-plane-check] Checking kube-apiserver at https://10.0.0.24:6443/livez\n        cluster.go:125: [control-plane-check] Checking kube-controller-manager at https://127.0.0.1:10257/healthz\n        cluster.go:125: [control-plane-check] Checking kube-scheduler at https://127.0.0.1:10259/livez\n        cluster.go:125: [control-plane-check] kube-scheduler is healthy after 5.519288363s\n        cluster.go:125: [control-plane-check] kube-controller-manager is healthy after 6.006419574s\n        cluster.go:125: [control-plane-check] kube-apiserver is healthy after 8.501977601s\n        cluster.go:125: [upload-config] Storing the configuration used in ConfigMap \"kubeadm-config\" in the \"kube-system\" Namespace\n        cluster.go:125: [kubelet] Creating a ConfigMap \"kubelet-config\" in namespace kube-system with the configuration for the kubelets in the cluster\n        cluster.go:125: [upload-certs] Skipping phase. Please see --upload-certs\n        cluster.go:125: [mark-control-plane] Marking the node ci-4081.3.10--420a118536 as control-plane by adding the labels: [node-role.kubernetes.io/control-plane node.kubernetes.io/exclude-from-external-load-balancers]\n        cluster.go:125: [mark-control-plane] Marking the node ci-4081.3.10--420a118536 as control-plane by adding the taints [node-role.kubernetes.io/control-plane:NoSchedule]\n        cluster.go:125: [bootstrap-token] Using token: x3go3f.75x3635xxy5l5nfi\n        cluster.go:125: [bootstrap-token] Configuring bootstrap tokens, cluster-info ConfigMap, RBAC Roles\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to get nodes\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow certificate rotation for all node client certificates in the cluster\n        cluster.go:125: [bootstrap-token] Creating the \"cluster-info\" ConfigMap in the \"kube-public\" namespace\n        cluster.go:125: [kubelet-finalize] Updating \"/etc/kubernetes/kubelet.conf\" to point to a rotatable kubelet client certificate and key\n        cluster.go:125: [addons] Applied essential addon: CoreDNS\n        cluster.go:125: [addons] Applied essential addon: kube-proxy\n        cluster.go:125: \n        cluster.go:125: Your Kubernetes control-plane has initialized successfully!\n        cluster.go:125: \n        cluster.go:125: To start using your cluster, you need to run the following as a regular user:\n        cluster.go:125: \n        cluster.go:125:   mkdir -p $HOME/.kube\n        cluster.go:125:   sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\n        cluster.go:125:   sudo chown $(id -u):$(id -g) $HOME/.kube/config\n        cluster.go:125: \n        cluster.go:125: Alternatively, if you are the root user, you can run:\n        cluster.go:125: \n        cluster.go:125:   export KUBECONFIG=/etc/kubernetes/admin.conf\n        cluster.go:125: \n        cluster.go:125: You should now deploy a pod network to the cluster.\n        cluster.go:125: Run \"kubectl apply -f [podnetwork].yaml\" with one of the options listed at:\n        cluster.go:125:   https://kubernetes.io/docs/concepts/cluster-administration/addons/\n        cluster.go:125: \n        cluster.go:125: Then you can join any number of worker nodes by running the following on each as root:\n        cluster.go:125: \n        cluster.go:125: kubeadm join 10.0.0.24:6443 --token x3go3f.75x3635xxy5l5nfi \\\n        cluster.go:125: \t--discovery-token-ca-cert-hash sha256:39b178086fd66d3d6209c0fb1113374832dec9bf32fd2ae627b9dcb3fd51db29 \n        cluster.go:125: namespace/kube-flannel created\n        cluster.go:125: clusterrole.rbac.authorization.k8s.io/flannel created\n        cluster.go:125: clusterrolebinding.rbac.authorization.k8s.io/flannel created\n        cluster.go:125: serviceaccount/flannel created\n        cluster.go:125: configmap/kube-flannel-cfg created\n        cluster.go:125: daemonset.apps/kube-flannel-ds created\n        kubeadm.go:197: unable to setup cluster: unable to create worker node: PollUntilDone(ci-4081.3.10--cb7d78a6dc): GET https://management.azure.com/subscriptions/0e46bd28-a80f-4d3a-8200-d9eb8d80cb2e/providers/Microsoft.Compute/locations/northeurope/operations/31b25a6e-bfe4-4a63-94b7-30d302be3753\n--------------------------------------------------------------------------------\nRESPONSE 200: 200 OK\nERROR CODE: OperationPreempted\n--------------------------------------------------------------------------------\n{\n  \"startTime\": \"2026-10-16T23:54:26.3239064+00:00\",\n  \"endTime\": \"2026-10-16T23:54:59.5891553+00:00\",\n  \"status\": \"Canceled\",\n  \"error\": {\n    \"code\": \"OperationPreempted\",\n    \"message\": \"Operation execution has been preempted by a more recent operation.\"\n  },\n  \"name\": \"31b25a6e-bfe4-4a63-94b7-30d302be3753\"\n}\n--------------------------------------------------------------------------------\n"},{"name":"kubeadm.v1.35.1.cilium.cgroupv1.base","result":"FAIL","duration":173268664648,"output":"        kubeadm.go:197: unable to setup cluster: unable to create master node: PollUntilDone(ci-4081.3.10--ba2b7e6b59): GET https://management.azure.com/subscriptions/0e46bd28-a80f-4d3a-8200-d9eb8d80cb2e/providers/Microsoft.Compute/locations/northeurope/operations/e64d415a-9334-4830-9dec-a4d25f4c1915\n--------------------------------------------------------------------------------\nRESPONSE 200: 200 OK\nERROR CODE: OperationPreempted\n--------------------------------------------------------------------------------\n{\n  \"startTime\": \"2026-10-16T23:53:57.1291055+00:00\",\n  \"endTime\": \"2026-10-16T23:54:59.7136502+00:00\",\n  \"status\": \"Canceled\",\n  \"error\": {\n    \"code\": \"OperationPreempted\",\n    \"message\": \"Operation execution has been preempted by a more recent operation.\"\n  },\n  \"name\": \"e64d415a-9334-4830-9dec-a4d25f4c1915\"\n}\n--------------------------------------------------------------------------------\n"},{"name":"kubeadm.v1.36.1.calico.base","result":"FAIL","duration":257308407301,"output":"        cluster.go:125: I1016 23:53:46.272676    2391 version.go:260] remote version is much newer: v1.37.1; falling back to: stable-1.36\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-apiserver:v1.36.5\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-controller-manager:v1.36.5\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-scheduler:v1.36.5\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-proxy:v1.36.5\n        cluster.go:125: [config/images] Pulled registry.k8s.io/coredns/coredns:v1.14.2\n        cluster.go:125: [config/images] Pulled registry.k8s.io/pause:3.10.2\n        cluster.go:125: [config/images] Pulled registry.k8s.io/etcd:3.6.8-0\n        cluster.go:125: I1016 23:53:59.262985    2623 version.go:260] remote version is much newer: v1.37.1; falling back to: stable-1.36\n        cluster.go:125: [init] Using Kubernetes version: v1.36.5\n        cluster.go:125: [preflight] Running pre-flight checks\n        cluster.go:125: E1016 23:53:59.325180    2623 remote_runtime.go:1177] \"RuntimeConfig from runtime service failed\" err=\"rpc error: code = Unimplemented desc = unknown method RuntimeConfig for service runtime.v1.RuntimeService\"\n        cluster.go:125: \t[WARNING ContainerRuntimeVersion]: You must update your container runtime to a version that supports the CRI method RuntimeConfig. Falling back to using cgroupDriver from kubelet config will be removed in 1.37. For more information, see https://git.k8s.io/enhancements/keps/sig-node/4033-group-driver-detection-over-cri\n        cluster.go:125: \t[WARNING Hostname]: hostname \"ci-4081.3.10--26dcfdec5d\" could not be reached\n        cluster.go:125: \t[WARNING Hostname]: hostname \"ci-4081.3.10--26dcfdec5d\": lookup ci-4081.3.10--26dcfdec5d on 168.63.129.16:53: no such host\n        cluster.go:125: \t[WARNING Service-kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'\n        cluster.go:125: [preflight] Pulling images required for setting up a Kubernetes cluster\n        cluster.go:125: [preflight] This might take a minute or two, depending on the speed of your internet connection\n        cluster.go:125: [preflight] You can also perform this action beforehand using 'kubeadm config images pull'\n        cluster.go:125: W1016 23:53:59.454202    2623 checks.go:907] detected that the sandbox image \"registry.k8s.io/pause:3.8\" of the container runtime is inconsistent with that used by kubeadm. It is recommended to use \"registry.k8s.io/pause:3.10.2\" as the CRI sandbox image.\n        cluster.go:125: [certs] Using certificateDir folder \"/etc/kubernetes/pki\"\n        cluster.go:125: [certs] Generating \"ca\" certificate and key\n        cluster.go:125: [certs] Generating \"apiserver\" certificate and key\n        cluster.go:125: [certs] apiserver serving cert is signed for DNS names [ci-4081.3.10--26dcfdec5d kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 10.0.0.25]\n        cluster.go:125: [certs] Generating \"apiserver-kubelet-client\" certificate and key\n        cluster.go:125: [certs] Generating \"front-proxy-ca\" certificate and key\n        cluster.go:125: [certs] Generating \"front-proxy-client\" certificate and key\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/ca certificate authority generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/server certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/peer certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/healthcheck-client certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping apiserver-etcd-client certificate generation\n        cluster.go:125: [certs] Generating \"sa\" key and public key\n        cluster.go:125: [kubeconfig] Using kubeconfig folder \"/etc/kubernetes\"\n        cluster.go:125: [kubeconfig] Writing \"admin.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"super-admin.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"kubelet.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"controller-manager.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"scheduler.conf\" kubeconfig file\n        cluster.go:125: [control-plane] Using manifest folder \"/etc/kubernetes/manifests\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-apiserver\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-controller-manager\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-scheduler\"\n        cluster.go:125: [kubelet-start] Writing kubelet environment file with flags to file \"/var/lib/kubelet/kubeadm-flags.env\"\n        cluster.go:125: [kubelet-start] Writing kubelet configuration to file \"/var/lib/kubelet/instance-config.yaml\"\n        cluster.go:125: [patches] Applied patch of type \"application/strategic-merge-patch+json\" to target \"kubeletconfiguration\"\n        cluster.go:125: [kubelet-start] Writing kubelet configuration to file \"/var/lib/kubelet/config.yaml\"\n        cluster.go:125: [kubelet-start] Starting the kubelet\n        cluster.go:125: [wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \"/etc/kubernetes/manifests\"\n        cluster.go:125: [kubelet-check] Waiting for a healthy kubelet at http://127.0.0.1:10248/healthz. This can take up to 4m0s\n        cluster.go:125: [kubelet-check] The kubelet is healthy after 2.767639ms\n        cluster.go:125: [control-plane-check] Waiting for healthy control plane components. This can take up to 30m0s\n        cluster.go:125: [control-plane-check] Checking kube-apiserver at https://10.0.0.25:6443/livez\n        cluster.go:125: [control-plane-check] Checking kube-controller-manager at https://127.0.0.1:10257/healthz\n        cluster.go:125: [control-plane-check] Checking kube-scheduler at https://127.0.0.1:10259/livez\n        cluster.go:125: [control-plane-check] kube-controller-manager is healthy after 10.221245ms\n        cluster.go:125: [control-plane-check] kube-scheduler is healthy after 15.020013ms\n        cluster.go:125: [control-plane-check] kube-apiserver is healthy after 2.003294567s\n        cluster.go:125: [upload-config] Storing the configuration used in ConfigMap \"kubeadm-config\" in the \"kube-system\" Namespace\n        cluster.go:125: [kubelet] Creating a ConfigMap \"kubelet-config\" in namespace kube-system with the configuration for the kubelets in the cluster\n        cluster.go:125: [upload-certs] Skipping phase. Please see --upload-certs\n        cluster.go:125: [mark-control-plane] Marking the node ci-4081.3.10--26dcfdec5d as control-plane by adding the labels: [node-role.kubernetes.io/control-plane node.kubernetes.io/exclude-from-external-load-balancers]\n        cluster.go:125: [mark-control-plane] Marking the node ci-4081.3.10--26dcfdec5d as control-plane by adding the taints [node-role.kubernetes.io/control-plane:NoSchedule]\n        cluster.go:125: [bootstrap-token] Using token: 6e0tf8.4ou0ib9j9ylb4mno\n        cluster.go:125: [bootstrap-token] Configuring bootstrap tokens, cluster-info ConfigMap, RBAC Roles\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to get nodes\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow certificate rotation for all node client certificates in the cluster\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow the API server kubelet client certificate to access the kubelet API\n        cluster.go:125: [bootstrap-token] Creating the \"cluster-info\" ConfigMap in the \"kube-public\" namespace\n        cluster.go:125: [kubelet-finalize] Updating \"/etc/kubernetes/kubelet.conf\" to point to a rotatable kubelet client certificate and key\n        cluster.go:125: [addons] Applied essential addon: CoreDNS\n        cluster.go:125: [addons] Applied essential addon: kube-proxy\n        cluster.go:125: \n        cluster.go:125: Your Kubernetes control-plane has initialized successfully!\n        cluster.go:125: \n        cluster.go:125: To start using your cluster, you need to run the following as a regular user:\n        cluster.go:125: \n        cluster.go:125:   mkdir -p $HOME/.kube\n        cluster.go:125:   sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\n        cluster.go:125:   sudo chown $(id -u):$(id -g) $HOME/.kube/config\n        cluster.go:125: \n        cluster.go:125: Alternatively, if you are the root user, you can run:\n        cluster.go:125: \n        cluster.go:125:   export KUBECONFIG=/etc/kubernetes/admin.conf\n        cluster.go:125: \n        cluster.go:125: You should now deploy a pod network to the cluster.\n        cluster.go:125: Run \"kubectl apply -f [podnetwork].yaml\" with one of the options listed at:\n        cluster.go:125:   https://kubernetes.io/docs/concepts/cluster-administration/addons/\n        cluster.go:125: \n        cluster.go:125: Then you can join any number of worker nodes by running the following on each as root:\n        cluster.go:125: \n        cluster.go:125: kubeadm join 10.0.0.25:6443 --token 6e0tf8.4ou0ib9j9ylb4mno \\\n        cluster.go:125: \t--discovery-token-ca-cert-hash sha256:ed4101c3267a5dc01f3b760739aa62b04f45e2e0eeb1b7b07e9f0aa4af7eee1c \n        cluster.go:125: namespace/tigera-operator created\n        cluster.go:125: serviceaccount/tigera-operator created\n        cluster.go:125: clusterrole.rbac.authorization.k8s.io/tigera-operator-secrets created\n        cluster.go:125: clusterrole.rbac.authorization.k8s.io/tigera-operator created\n        cluster.go:125: clusterrolebinding.rbac.authorization.k8s.io/tigera-operator created\n        cluster.go:125: rolebinding.rbac.authorization.k8s.io/tigera-operator-secrets created\n        cluster.go:125: deployment.apps/tigera-operator created\n        cluster.go:125: customresourcedefinition.apiextensions.k8s.io/installations.operator.tigera.io condition met\n        cluster.go:125: customresourcedefinition.apiextensions.k8s.io/installations.operator.tigera.io condition met\n        cluster.go:125: customresourcedefinition.apiextensions.k8s.io/apiservers.operator.tigera.io condition met\n        cluster.go:125: customresourcedefinition.apiextensions.k8s.io/apiservers.operator.tigera.io condition met\n        cluster.go:125: installation.operator.tigera.io/default created\n        cluster.go:125: apiserver.operator.tigera.io/default created\n        cluster.go:125: goldmane.operator.tigera.io/default created\n        cluster.go:125: whisker.operator.tigera.io/default created\n        kubeadm.go:197: unable to setup cluster: unable to create worker node: PollUntilDone(ci-4081.3.10--bcb065bfa6): GET https://management.azure.com/subscriptions/0e46bd28-a80f-4d3a-8200-d9eb8d80cb2e/providers/Microsoft.Compute/locations/northeurope/operations/e1eeb79f-cbfc-4a12-b649-7143c419660f\n--------------------------------------------------------------------------------\nRESPONSE 200: 200 OK\nERROR CODE: OperationPreempted\n--------------------------------------------------------------------------------\n{\n  \"startTime\": \"2026-10-16T23:54:28.9729325+00:00\",\n  \"endTime\": \"2026-10-16T23:54:59.953029+00:00\",\n  \"status\": \"Canceled\",\n  \"error\": {\n    \"code\": \"OperationPreempted\",\n    \"message\": \"Operation execution has been preempted by a more recent operation.\"\n  },\n  \"name\": \"e1eeb79f-cbfc-4a12-b649-7143c419660f\"\n}\n--------------------------------------------------------------------------------\n"},{"name":"kubeadm.v1.37.0.calico.base","result":"FAIL","duration":257958594015,"output":"        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-apiserver:v1.37.1\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-controller-manager:v1.37.1\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-scheduler:v1.37.1\n        cluster.go:125: [config/images] Pulled registry.k8s.io/kube-proxy:v1.37.1\n        cluster.go:125: [config/images] Pulled registry.k8s.io/coredns/coredns:v1.14.6\n        cluster.go:125: [config/images] Pulled registry.k8s.io/pause:3.10.2\n        cluster.go:125: [config/images] Pulled registry.k8s.io/etcd:3.7.0-0\n        cluster.go:125: [init] Using Kubernetes version: v1.37.1\n        cluster.go:125: [preflight] Running pre-flight checks\n        cluster.go:125: E1016 23:53:58.848155    2583 remote_runtime.go:1359] \"RuntimeConfig from runtime service failed\" err=\"rpc error: code = Unimplemented desc = unknown method RuntimeConfig for service runtime.v1.RuntimeService\"\n        cluster.go:125: \t[WARNING ContainerRuntimeVersion]: You must update your container runtime to a version that supports the CRI method RuntimeConfig. Falling back to using cgroupDriver from kubelet config will be removed in 1.38. For more information, see https://git.k8s.io/enhancements/keps/sig-node/4033-group-driver-detection-over-cri\n        cluster.go:125: \t[WARNING Hostname]: hostname \"ci-4081.3.10--0104bd7b01\" could not be reached\n        cluster.go:125: \t[WARNING Hostname]: hostname \"ci-4081.3.10--0104bd7b01\": lookup ci-4081.3.10--0104bd7b01 on 168.63.129.16:53: no such host\n        cluster.go:125: \t[WARNING Service-kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'\n        cluster.go:125: [preflight] Pulling images required for setting up a Kubernetes cluster\n        cluster.go:125: [preflight] This might take a minute or two, depending on the speed of your internet connection\n        cluster.go:125: [preflight] You can also perform this action beforehand using 'kubeadm config images pull'\n        cluster.go:125: W1016 23:53:58.976167    2583 checks.go:920] detected that the sandbox image \"registry.k8s.io/pause:3.8\" of the container runtime is inconsistent with that used by kubeadm. It is recommended to use \"registry.k8s.io/pause:3.10.2\" as the CRI sandbox image.\n        cluster.go:125: [certs] Using certificateDir folder \"/etc/kubernetes/pki\"\n        cluster.go:125: [certs] Generating \"ca\" certificate and key\n        cluster.go:125: [certs] Generating \"apiserver\" certificate and key\n        cluster.go:125: [certs] apiserver serving cert is signed for DNS names [ci-4081.3.10--0104bd7b01 kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 10.0.0.26]\n        cluster.go:125: [certs] Generating \"apiserver-kubelet-client\" certificate and key\n        cluster.go:125: [certs] Generating \"front-proxy-ca\" certificate and key\n        cluster.go:125: [certs] Generating \"front-proxy-client\" certificate and key\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/ca certificate authority generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/server certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/peer certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping etcd/healthcheck-client certificate generation\n        cluster.go:125: [certs] External etcd mode: Skipping apiserver-etcd-client certificate generation\n        cluster.go:125: [certs] Generating \"sa\" key and public key\n        cluster.go:125: [kubeconfig] Using kubeconfig folder \"/etc/kubernetes\"\n        cluster.go:125: [kubeconfig] Writing \"admin.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"super-admin.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"kubelet.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"controller-manager.conf\" kubeconfig file\n        cluster.go:125: [kubeconfig] Writing \"scheduler.conf\" kubeconfig file\n        cluster.go:125: [control-plane] Using manifest folder \"/etc/kubernetes/manifests\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-apiserver\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-controller-manager\"\n        cluster.go:125: [control-plane] Creating static Pod manifest for \"kube-scheduler\"\n        cluster.go:125: [kubelet-start] Writing kubelet environment file with flags to file \"/var/lib/kubelet/kubeadm-flags.env\"\n        cluster.go:125: [kubelet-start] Writing kubelet configuration to file \"/var/lib/kubelet/instance-config.yaml\"\n        cluster.go:125: [patches] Applied patch of type \"application/strategic-merge-patch+json\" to target \"kubeletconfiguration\"\n        cluster.go:125: [kubelet-start] Writing kubelet configuration to file \"/var/lib/kubelet/config.yaml\"\n        cluster.go:125: [kubelet-start] Starting the kubelet\n        cluster.go:125: [wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory \"/etc/kubernetes/manifests\"\n        cluster.go:125: [kubelet-check] Waiting for a healthy kubelet at http://127.0.0.1:10248/healthz. This can take up to 4m0s\n        cluster.go:125: [kubelet-check] The kubelet is healthy after 2.648729ms\n        cluster.go:125: [control-plane-check] Waiting for healthy control plane components. This can take up to 30m0s\n        cluster.go:125: [control-plane-check] Checking kube-apiserver at https://10.0.0.26:6443/livez\n        cluster.go:125: [control-plane-check] Checking kube-controller-manager at https://127.0.0.1:10257/healthz\n        cluster.go:125: [control-plane-check] Checking kube-scheduler at https://127.0.0.1:10259/livez\n        cluster.go:125: [control-plane-check] kube-controller-manager is healthy after 6.177667ms\n        cluster.go:125: [control-plane-check] kube-scheduler is healthy after 12.821739ms\n        cluster.go:125: [control-plane-check] kube-apiserver is healthy after 2.002767373s\n        cluster.go:125: [upload-config] Storing the configuration used in ConfigMap \"kubeadm-config\" in the \"kube-system\" Namespace\n        cluster.go:125: [kubelet] Creating a ConfigMap \"kubelet-config\" in namespace kube-system with the configuration for the kubelets in the cluster\n        cluster.go:125: [upload-certs] Skipping phase. Please see --upload-certs\n        cluster.go:125: [mark-control-plane] Marking the node ci-4081.3.10--0104bd7b01 as control-plane by adding the labels: [node-role.kubernetes.io/control-plane node.kubernetes.io/exclude-from-external-load-balancers]\n        cluster.go:125: [mark-control-plane] Marking the node ci-4081.3.10--0104bd7b01 as control-plane by adding the taints [node-role.kubernetes.io/control-plane:NoSchedule]\n        cluster.go:125: [bootstrap-token] Using token: ap0hx4.kjfqkzgpjwyw0srd\n        cluster.go:125: [bootstrap-token] Configuring bootstrap tokens, cluster-info ConfigMap, RBAC Roles\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to get nodes\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow Node Bootstrap tokens to post CSRs in order for nodes to get long term certificate credentials\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow the csrapprover controller automatically approve CSRs from a Node Bootstrap Token\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow certificate rotation for all node client certificates in the cluster\n        cluster.go:125: [bootstrap-token] Configured RBAC rules to allow the API server kubelet client certificate to access the kubelet API\n        cluster.go:125: [bootstrap-token] Creating the \"cluster-info\" ConfigMap in the \"kube-public\" namespace\n        cluster.go:125: [kubelet-finalize] Updating \"/etc/kubernetes/kubelet.conf\" to point to a rotatable kubelet client certificate and key\n        cluster.go:125: [addons] Applied essential addon: CoreDNS\n        cluster.go:125: [addons] Applied essential addon: kube-proxy\n        cluster.go:125: \n        cluster.go:125: Your Kubernetes control-plane has initialized successfully!\n        cluster.go:125: \n        cluster.go:125: To start using your cluster, you need to run the following as a regular user:\n        cluster.go:125: \n        cluster.go:125:   mkdir -p $HOME/.kube\n        cluster.go:125:   sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\n        cluster.go:125:   sudo chown $(id -u):$(id -g) $HOME/.kube/config\n        cluster.go:125: \n        cluster.go:125: Alternatively, if you are the root user, you can run:\n        cluster.go:125: \n        cluster.go:125:   export KUBECONFIG=/etc/kubernetes/admin.conf\n        cluster.go:125: \n        cluster.go:125: You should now deploy a pod network to the cluster.\n        cluster.go:125: Run \"kubectl apply -f [podnetwork].yaml\" with one of the options listed at:\n        cluster.go:125:   https://kubernetes.io/docs/concepts/cluster-administration/addons/\n        cluster.go:125: \n        cluster.go:125: Then you can join any number of worker nodes by running the following on each as root:\n        cluster.go:125: \n        cluster.go:125: kubeadm join 10.0.0.26:6443 --token ap0hx4.kjfqkzgpjwyw0srd \\\n        cluster.go:125: \t--discovery-token-ca-cert-hash sha256:b854f62f1ab4fa303c47706bb0ffa0d8bd5b341e370171a825f980379f3a3247 \n        cluster.go:125: namespace/tigera-operator created\n        cluster.go:125: serviceaccount/tigera-operator created\n        cluster.go:125: clusterrole.rbac.authorization.k8s.io/tigera-operator-secrets created\n        cluster.go:125: clusterrole.rbac.authorization.k8s.io/tigera-operator created\n        cluster.go:125: clusterrolebinding.rbac.authorization.k8s.io/tigera-operator created\n        cluster.go:125: rolebinding.rbac.authorization.k8s.io/tigera-operator-secrets created\n        cluster.go:125: deployment.apps/tigera-operator created\n        cluster.go:125: customresourcedefinition.apiextensions.k8s.io/installations.operator.tigera.io condition met\n        cluster.go:125: customresourcedefinition.apiextensions.k8s.io/installations.operator.tigera.io condition met\n        cluster.go:125: customresourcedefinition.apiextensions.k8s.io/apiservers.operator.tigera.io condition met\n        cluster.go:125: customresourcedefinition.apiextensions.k8s.io/apiservers.operator.tigera.io condition met\n        cluster.go:125: installation.operator.tigera.io/default created\n        cluster.go:125: apiserver.operator.tigera.io/default created\n        cluster.go:125: goldmane.operator.tigera.io/default created\n        cluster.go:125: whisker.operator.tigera.io/default created\n        kubeadm.go:197: unable to setup cluster: unable to create worker node: PollUntilDone(ci-4081.3.10--5e03c64c69): GET https://management.azure.com/subscriptions/0e46bd28-a80f-4d3a-8200-d9eb8d80cb2e/providers/Microsoft.Compute/locations/northeurope/operations/2fbc288c-119f-4a50-aff2-45930bdc3d89\n--------------------------------------------------------------------------------\nRESPONSE 200: 200 OK\nERROR CODE: OperationPreempted\n--------------------------------------------------------------------------------\n{\n  \"startTime\": \"2026-10-16T23:54:29.7574439+00:00\",\n  \"endTime\": \"2026-10-16T23:54:59.953029+00:00\",\n  \"status\": \"Canceled\",\n  \"error\": {\n    \"code\": \"OperationPreempted\",\n    \"message\": \"Operation execution has been preempted by a more recent operation.\"\n  },\n  \"name\": \"2fbc288c-119f-4a50-aff2-45930bdc3d89\"\n}\n--------------------------------------------------------------------------------\n"},{"name":"cl.update.badverity","result":"FAIL","duration":5250252756792,"output":"        update.go:168: ssh unreachable or system not ready: failure checking if machine is running: systemctl is-system-running returned stdout: \"\", stderr: \"\", err: dial tcp 20.107.184.225:22: i/o timeout, systemctl list-jobs returned stdout: \"\", stderr: \"\", err: dial tcp 20.107.184.225:22: i/o timeout\n"}],"result":"FAIL","platform":"azure","version":"4081.3.10"}
