[CKS] script to generate cks images with cilium as default CNI - #12619
ewerton-silva00 wants to merge 3 commits into
Conversation
|
Congratulations on your first Pull Request and welcome to the Apache CloudStack community! If you have any issues or are unsure about any anything please check our Contribution Guide (https://github.com/apache/cloudstack/blob/main/CONTRIBUTING.md)
|
|
@blueorangutan package |
|
@sureshanaparti a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #12619 +/- ##
============================================
+ Coverage 17.90% 19.03% +1.13%
- Complexity 16094 16154 +60
============================================
Files 5938 5485 -453
Lines 532864 494612 -38252
Branches 65192 58103 -7089
============================================
- Hits 95392 94170 -1222
+ Misses 426793 389890 -36903
+ Partials 10679 10552 -127
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✖️ debian ✔️ suse15. SL-JID 16769 |
There was a problem hiding this comment.
Pull request overview
Adds a new utility script to generate CloudStack Kubernetes Service (CKS) “binaries ISO” images that bundle Kubernetes components plus manifests/images needed to run with Cilium as the default CNI, addressing the requested Cilium support in #9304.
Changes:
- Introduces
create-kubernetes-binaries-iso-with-cilium.shto build an ISO with Kubernetes binaries, CNI/crictl, addons/manifests, and pre-pulled container images. - Generates the Cilium manifest via Helm with a set of default Cilium configuration values.
- Updates image collection/pulling logic to include images referenced by generated Cilium and Dashboard manifests.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| sudo $PKG_MGR --assumeyes remove docker-common docker container-selinux docker-selinux docker-engine | ||
| sudo $PKG_MGR --assumeyes install lvm2 device-mapper device-mapper-persistent-data device-mapper-event device-mapper-libs device-mapper-event-libs | ||
| sudo $PKG_MGR --assumeyes install http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm | ||
| sudo $PKG_MGR --assumeyes install containerd.io | ||
| elif [ -f /etc/debian_version ] || command -v apt-get > /dev/null 2>&1; then |
There was a problem hiding this comment.
RedHat install path downloads a container-selinux RPM from a CentOS 7 x86_64 URL. This will fail (and possibly install an incompatible package) on aarch64/arm64, even though the script advertises arm support. Consider selecting the correct arch/repo or using distro-provided packages/repos instead of a hard-coded x86_64 RPM URL.
shwstppr
left a comment
There was a problem hiding this comment.
@ewerton-silva00 can you please check comments from Copilot and look into failing pre-commit GHA?
|
@shwstppr, yes. I am reviewing the points reported by Copilot. I will make the necessary adjustments, test, and submit the changes. |
* etcd download: use arch variable instead of hard-coded amd64 Replace hard-coded linux-amd64 in etcd tarball download URL and output filename with linux- to support both amd64 and arm64 architectures. * container-selinux: install from distro repos instead of CentOS 7 mirror Remove hard-coded CentOS 7 x86_64 RPM URL for container-selinux and install directly from the system's configured repositories, which handles architecture and version automatically. * build_name: fix dead-code fallback default Check whether parameter is empty before constructing build_name, so the fallback default setup--.iso is actually reachable. * CNI download: fail on HTTP errors for both URL attempts Use curl -f on both primary and legacy CNI download URLs and exit with a clear error if neither succeeds, instead of only checking for 404 on the first attempt. * temp directory: use mktemp and trap for cleanup Replace fixed /tmp/iso with mktemp -d to avoid collisions between concurrent runs, and register a trap EXIT to ensure cleanup on failure or early exit.
|
@shwstppr and @DaanHoogland, could you please review this Pull Request again? |
| echo "Downloading etcd ${ETCD_VERSION}..." | ||
| curl -sS -L "https://github.com/etcd-io/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-${ARCH}.tar.gz" -o "${etcd_dir}/etcd-linux-${ARCH}.tar.gz" | ||
|
|
||
| mkisofs -o "${output_dir}/${build_name}" -J -R -l "${iso_dir}" |
There was a problem hiding this comment.
| mkisofs -o "${output_dir}/${build_name}" -J -R -l "${iso_dir}" | |
| mkisofs -o "${output_dir}/${build_name}" -J -R -l "${iso_dir}" | |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ested by Copilot. cks: harden ISO build script with pipefail, --fail, and strict mode: - Replace 'set -e' with 'set -o errexit', 'set -o nounset', 'set -o pipefail'; - Add TRACE env var support for debug with 'set -o xtrace'; - Add --fail (-f) flag to curl commands in pipelines to prevent silent; - Add --fail and tar.gz integrity validation for etcd download; - Fix ARCH validation error message to list all accepted values (x86_64, amd64, aarch64, arm64). cks: fix semver comparison using sort -V instead of awk: - Replace awk numeric comparison with a sort -V based version_lt() function. The previous approach treated '1.9.0' as 1.9 and '1.18.0' as 1.18, making 1.9 > 1.18 and selecting the wrong source for kubelet.service and 10-kubeadm.conf. cks: vendor kubelet.service and 10-kubeadm.conf to reduce supply-chain risk: - Vendor kubelet.service and 10-kubeadm.conf from shapeblue/cloudstack-nonoss into the repository instead of fetching them at build time from a mutable remote branch. These files are executed with root privileges as systemd units, and pinning to a mutable branch without checksum verification posed a supply-chain risk. cks: only add Cilium Helm repo if not already configured: - Replace 'helm repo add ... || true' with an explicit check via 'helm repo list'. The previous approach suppressed all failures (including network/DNS errors), which could cause a later, less-clear failure during 'helm template'. cks: move Cilium ISO script to scripts/util/cks/ and add download progress: - Move create-kubernetes-binaries-iso-with-cilium.sh to scripts/util/cks/ alongside vendored kubelet.service and 10-kubeadm.conf; - Download kubeadm, kubelet, kubectl individually with --progress-bar for visibility during long downloads.
|
@DaanHoogland, could you please review this Pull Request again? |
@ewerton-silva00 , sorry for the late reply.
other then this it looks fine. @shwstppr @sureshanaparti @Pearl1594 @weizhouapache , can you concur? |
shwstppr
left a comment
There was a problem hiding this comment.
Largely looks good. My understanding:
- We may test k8s cluster lifecycle with the new ISO
- This adds file with cilium name, can this be generalised or merged with the existing ISO script? (in case a different CNI plugin)
- Directory structure is script/util/cks. Maybe it can be script/util/kubernetes
There was a problem hiding this comment.
LGTM, tested manually
Executed the script to create a cilium iso
sudo mkdir -p /var/www/html
cd scripts/util/cks
./create-kubernetes-binaries-iso-with-cilium.sh /var/www/html 1.36.0 1.9.1 1.36.0 cks-v1.36.0-cilium amd64 3.5.17 1.20.1
┌─────┬────────────────────┬────────────────────┬────────────────────────────────────────────────────────────────┐
│ # │ Value │ Name │ What it drives │
├─────┼────────────────────┼────────────────────┼────────────────────────────────────────────────────────────────┤
│ 1 │ /var/www/html │ OUTPUT_PATH │ Where the finished ISO is written │
├─────┼────────────────────┼────────────────────┼────────────────────────────────────────────────────────────────┤
│ 2 │ 1.36.0 │ KUBERNETES_VERSION │ kubeadm/kubelet/kubectl + which control-plane images get baked │
├─────┼────────────────────┼────────────────────┼────────────────────────────────────────────────────────────────┤
│ 3 │ 1.9.1 │ CNI_VERSION │ containernetworking/plugins (bridge, portmap, host-local…) │
├─────┼────────────────────┼────────────────────┼────────────────────────────────────────────────────────────────┤
│ 4 │ 1.36.0 │ CRICTL_VERSION │ cri-tools (crictl) │
├─────┼────────────────────┼────────────────────┼────────────────────────────────────────────────────────────────┤
│ 5 │ cks-v1.36.0-cilium │ BUILD_NAME │ ISO filename stem │
├─────┼────────────────────┼────────────────────┼────────────────────────────────────────────────────────────────┤
│ 6 │ amd64 │ ARCH │ Download arch + filename suffix │
├─────┼────────────────────┼────────────────────┼────────────────────────────────────────────────────────────────┤
│ 7 │ 3.5.17 │ ETCD_VERSION │ etcd tarball (for external-etcd clusters) │
├─────┼────────────────────┼────────────────────┼────────────────────────────────────────────────────────────────┤
│ 8 │ 1.20.1 │ CILIUM_VERSION │ Cilium Helm chart version │
└─────┴────────────────────┴────────────────────┴────────────────────────────────────────────────────────────────┘
Output lands at /var/www/html/cks-v1.36.0-cilium-x86_64.iso — from build_name="${5}-${ARCH_SUFFIX}.iso".
mkdir -p /mnt/iso && sudo mount -o loop cks-v1.35.0-x86_64.iso /mnt/iso
ls -R /mnt/iso | head -50
ls -la /mnt/iso/docker/ # baked image tarballs
grep -c "image:" /mnt/iso/network.yaml
head -30 /mnt/iso/network.yaml # confirm it's a Cilium manifest, not empty
[root@ref-trl-12352-k-Mol8-kiran-chavala-mgmt1 html]# head -30 /mnt/iso/network.yaml # confirm it's a Cilium manifest, not empty
---
# Source: cilium/templates/cilium-secrets-namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: "cilium-secrets"
labels:
app.kubernetes.io/part-of: cilium
helm.sh/chart: cilium-1.20.1
annotations:
---
# Source: cilium/templates/cilium-agent/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: "cilium"
namespace: kube-system
---
# Source: cilium/templates/cilium-envoy/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: "cilium-envoy"
namespace: kube-system
---
# Source: cilium/templates/cilium-operator/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: "cilium-operator"
Launced a cks cluster with cilium cni successfully and able to deploy workloads
Able to scale the cks cluster and also add a external node to the cks cluster
cmk add kubernetessupportedversion name=cks-cilium-1.36.0 semanticversion=1.35.0 \
url=http://<host>/cks-v1.35.0-x86_64.iso zoneid=<zone> mincpunumber=2 minmemory=2048
cmk create kubernetescluster name=cilium-test zoneid=<zone> \
kubernetesversionid=<id> serviceofferingid=<id> size=1 noderootdisksize=20
kubectl get nodes -o wide # Ready => CNI is working
kubectl -n kube-system get pods -l k8s-app=cilium
kubectl -n kube-system get ds
kubectl -n kube-system exec ds/cilium -- cilium-dbg status
kubectl get nodes
NAME STATUS ROLES AGE VERSION
test-cilium-control-1a0a564aa49 Ready control-plane 96s v1.36.0
test-cilium-node-1a0a564e957 Ready <none> 83s v1.36.0
╰─ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system cilium-89697 1/1 Running 0 93s
kube-system cilium-envoy-d74kw 1/1 Running 0 93s
kube-system cilium-envoy-w94bk 1/1 Running 0 89s
kube-system cilium-gqgb7 1/1 Running 0 89s
kube-system cilium-operator-7b76dc94dd-kddpt 1/1 Running 0 93s
kube-system cilium-operator-7b76dc94dd-t5sdb 1/1 Running 0 93s
kube-system cloud-controller-manager-8648c8d5f-7jzmq 1/1 Running 0 47s
kube-system coredns-589f44dc88-k82v6 1/1 Running 0 93s
kube-system coredns-589f44dc88-rcn2n 1/1 Running 0 93s
kube-system etcd-test-cilium-control-1a0a564aa49 1/1 Running 0 98s
kube-system kube-apiserver-test-cilium-control-1a0a564aa49 1/1 Running 0 99s
kube-system kube-controller-manager-test-cilium-control-1a0a564aa49 1/1 Running 0 98s
kube-system kube-proxy-bqzfn 1/1 Running 0 89s
kube-system kube-proxy-czlrs 1/1 Running 0 93s
kube-system kube-scheduler-test-cilium-control-1a0a564aa49 1/1 Running 0 99s
kubernetes-dashboard dashboard-metrics-scraper-6c78786c6f-r9s64 1/1 Running 0 93s
kubernetes-dashboard kubernetes-dashboard-57db5448b5-kht64 1/1 Running 0 93s
kubectl -n kube-system get ds
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
cilium 2 2 2 2 2 kubernetes.io/os=linux 2m8s
cilium-envoy 2 2 2 2 2 kubernetes.io/os=linux 2m8s
kube-proxy 2 2 2 2 2 kubernetes.io/os=linux 2m10s
kubectl -n kube-system exec ds/cilium -- cilium-dbg status
KVStore: Disabled
Kubernetes: Ok 1.36 (v1.36.0) [linux/amd64]
Kubernetes APIs: ["cilium/v2::CiliumCIDRGroup", "cilium/v2::CiliumClusterwideNetworkPolicy", "cilium/v2::CiliumEndpoint", "cilium/v2::CiliumNetworkPolicy", "cilium/v2::CiliumNode", "core/v1::Pods", "networking.k8s.io/v1::NetworkPolicy"]
KubeProxyReplacement: True [eth0 10.1.1.55 (Direct Routing)]
Host firewall: Disabled
SRv6: Disabled
CNI Chaining: portmap
CNI Config file: successfully wrote CNI configuration file to /host/etc/cni/net.d/05-cilium.conflist
Cilium: Ok 1.20.1 (v1.20.1-7d68cfb3)
NodeMonitor: Listening for events on 2 CPUs with 64x4096 of shared memory
Cilium health daemon: Ok
IPAM: IPv4: 2/254 allocated from 10.168.1.0/24,
IPv4 BIG TCP: Disabled
IPv6 BIG TCP: Disabled
BandwidthManager: Disabled
Routing: Network: Tunnel [vxlan] Host: Legacy
Attach Mode: Legacy TC
Device Mode: veth
Masquerading: IPTables [IPv4: Enabled, IPv6: Disabled]
Controller Status: 13/13 healthy
Proxy Status: OK, ip 10.168.1.110, 0 redirects active on ports 10000-20000, Envoy: external
Global Identity Range: min 256, max 65535
Hubble: Ok Current/Max Flows: 557/4095 (13.60%), Flows/s: 4.49 Metrics: Disabled
Encryption: Wireguard [NodeEncryption: OptedOut, cilium_wg0 (Pubkey: 4HjOjBKWcBlrZ5dZB1syyzNtBvsLqtMT8PkDD9dnrGs=, Port: 51871, Peers: 1)]
Cluster health: 2/2 reachable (2026-09-15T14:10:27Z) (Probe interval: 1m36.566274746s)
Name IP Node Endpoints
Modules Health: Stopped(0) Degraded(0) OK(90)
─ k get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5m42s
nginx-deployment3 LoadBalancer 10.102.24.109 10.0.62.224 80:30636/TCP 2m6s
k apply -f nginx.yaml
deployment.apps/nginx-deployment3 created
scaling
(localcloud) 🐱 > scale kubernetescluster id=878aff61-eeb8-48eb-bd0f-abab7f5b4331 size=2
{
"kubernetescluster": {
"account": "admin",
"associatednetworkname": "test-cilium-network",
"autoscalingenabled": false,
"clustertype": "CloudManaged",
"controlnodes": 1,
"cpunumber": "6",
"created": "2026-09-15T14:06:24+0000",
"csienabled": false,
"description": "test-cilium",
"domain": "ROOT",
"domainid": "d9a69d95-aced-11f1-82f5-1e001e0003bb",
"domainpath": "ROOT",
"endpoint": "https://10.0.62.223:6443/",
"etcdips": {},
"etcdnodes": 0,
"hasannotations": false,
"id": "878aff61-eeb8-48eb-bd0f-abab7f5b4331",
"ipaddress": "10.0.62.223",
"ipaddressid": "00926cc2-3b7b-46dc-8159-a2fffec2bba8",
"kubernetesversionid": "34055ade-5a80-4bdc-a686-19323315d352",
"kubernetesversionname": "cks-cilium",
"masternodes": 1,
"memory": "6144",
"name": "test-cilium",
"networkid": "a839d034-c8b6-4317-a722-f9687e936204",
"serviceofferingid": "6f49e621-597f-4464-81a1-bc95a28dbe4e",
"serviceofferingname": "cks",
"size": 2,
"state": "Running",
"templateid": "d9af8ca0-aced-11f1-82f5-1e001e0003bb",
"templatename": "SystemVM Template (KVM)",
"virtualmachines": [
{
"account": "admin",
"affinitygroup": [],
"arch": "x86_64",
"created": "2026-09-15T14:07:13+0000",
"deleteprotection": false,
"details": {
"controlNodeLoginUser": "cloud",
"cpuOvercommitRatio": "2.0",
"rootdisksize": "8"
},
"displayname": "test-cilium-control-1a0a564aa49",
"displayvm": true,
"domain": "ROOT",
"domainid": "d9a69d95-aced-11f1-82f5-1e001e0003bb",
"guestosid": "896d3b57-4ef5-412a-ae28-2e3562080a6c",
"haenable": false,
"hostcontrolstate": "Enabled",
"hostid": "5f1ef38f-6d22-4901-a26b-eb6b03345c63",
"hostname": "ref-trl-12352-k-Mol8-kiran-chavala-kvm1",
"hypervisor": "KVM",
"id": "b7521fd3-d953-4bd7-b022-0976f181c6a9",
"instancename": "i-2-7-VM",
"isdynamicallyscalable": false,
"isetcdnode": false,
"isexternalnode": false,
"kubernetesnodeversion": "1.36.0",
"lastupdated": "2026-09-15T14:07:29+0000",
"name": "test-cilium-control-1a0a564aa49",
"nic": [
{
"broadcasturi": "vlan://3661",
"deviceid": "0",
"extradhcpoption": [],
"gateway": "10.1.1.1",
"id": "df633388-4781-40aa-a052-7b260f02d596",
"ipaddress": "10.1.1.55",
"isdefault": true,
"isolationuri": "vlan://3661",
"macaddress": "02:01:00:cd:00:02",
"netmask": "255.255.255.0",
"networkid": "a839d034-c8b6-4317-a722-f9687e936204",
"networkname": "test-cilium-network",
"secondaryip": [],
"traffictype": "Guest",
"type": "Isolated"
}
],
"osdisplayname": "Debian GNU/Linux 12 (64-bit)",
"ostypeid": "896d3b57-4ef5-412a-ae28-2e3562080a6c",
"pooltype": "NetworkFilesystem",
"receivedbytes": 0,
"securitygroup": [],
"sentbytes": 0,
"state": "Running",
"tags": [],
"userid": "4e42522a-acee-11f1-82f5-1e001e0003bb",
"username": "admin",
"vmtype": "cksnode",
"zoneid": "851c7ca9-32c9-4927-8e6c-a80bb214c05b",
"zonename": "ref-trl-12352-k-Mol8-kiran-chavala"
},
{
"account": "admin",
"affinitygroup": [],
"arch": "x86_64",
"created": "2026-09-15T14:07:29+0000",
"deleteprotection": false,
"details": {
"controlNodeLoginUser": "cloud",
"cpuOvercommitRatio": "2.0",
"rootdisksize": "8"
},
"displayname": "test-cilium-node-1a0a564e957",
"displayvm": true,
"domain": "ROOT",
"domainid": "d9a69d95-aced-11f1-82f5-1e001e0003bb",
"guestosid": "896d3b57-4ef5-412a-ae28-2e3562080a6c",
"haenable": false,
"hostcontrolstate": "Enabled",
"hostid": "5f1ef38f-6d22-4901-a26b-eb6b03345c63",
"hostname": "ref-trl-12352-k-Mol8-kiran-chavala-kvm1",
"hypervisor": "KVM",
"id": "1c23c246-8180-4154-a28b-8869aeaa2719",
"instancename": "i-2-8-VM",
"isdynamicallyscalable": false,
"isetcdnode": false,
"isexternalnode": false,
"kubernetesnodeversion": "1.36.0",
"lastupdated": "2026-09-15T14:07:46+0000",
"name": "test-cilium-node-1a0a564e957",
"nic": [
{
"broadcasturi": "vlan://3661",
"deviceid": "0",
"extradhcpoption": [],
"gateway": "10.1.1.1",
"id": "f9007302-9a0e-47be-8d4a-50d6c4a93380",
"ipaddress": "10.1.1.198",
"isdefault": true,
"isolationuri": "vlan://3661",
"macaddress": "02:01:00:cd:00:03",
"netmask": "255.255.255.0",
"networkid": "a839d034-c8b6-4317-a722-f9687e936204",
"networkname": "test-cilium-network",
"secondaryip": [],
"traffictype": "Guest",
"type": "Isolated"
}
],
"osdisplayname": "Debian GNU/Linux 12 (64-bit)",
"ostypeid": "896d3b57-4ef5-412a-ae28-2e3562080a6c",
"pooltype": "NetworkFilesystem",
"receivedbytes": 0,
"securitygroup": [],
"sentbytes": 0,
"state": "Running",
"tags": [],
"userid": "4e42522a-acee-11f1-82f5-1e001e0003bb",
"username": "admin",
"vmtype": "cksnode",
"zoneid": "851c7ca9-32c9-4927-8e6c-a80bb214c05b",
"zonename": "ref-trl-12352-k-Mol8-kiran-chavala"
},
{
"account": "admin",
"affinitygroup": [],
"arch": "x86_64",
"created": "2026-09-16T04:41:48+0000",
"deleteprotection": false,
"details": {
"controlNodeLoginUser": "cloud",
"cpuOvercommitRatio": "2.0",
"rootdisksize": "8"
},
"displayname": "test-cilium-node-1a0a88561bc",
"displayvm": true,
"domain": "ROOT",
"domainid": "d9a69d95-aced-11f1-82f5-1e001e0003bb",
"guestosid": "896d3b57-4ef5-412a-ae28-2e3562080a6c",
"haenable": false,
"hostcontrolstate": "Enabled",
"hostid": "6c954a0e-cae3-4ab6-b171-18a9247db707",
"hostname": "ref-trl-12352-k-Mol8-kiran-chavala-kvm2",
"hypervisor": "KVM",
"id": "6df28b21-d74e-4795-8fe2-676ab3eb9d17",
"instancename": "i-2-9-VM",
"isdynamicallyscalable": false,
"isetcdnode": false,
"isexternalnode": false,
"kubernetesnodeversion": "1.36.0",
"lastupdated": "2026-09-16T04:42:03+0000",
"name": "test-cilium-node-1a0a88561bc",
"nic": [
{
"broadcasturi": "vlan://3661",
"deviceid": "0",
"extradhcpoption": [],
"gateway": "10.1.1.1",
"id": "0c4bf81e-bae6-4c5b-843c-0d9989608a65",
"ipaddress": "10.1.1.232",
"isdefault": true,
"isolationuri": "vlan://3661",
"macaddress": "02:01:00:cd:00:04",
"netmask": "255.255.255.0",
"networkid": "a839d034-c8b6-4317-a722-f9687e936204",
"networkname": "test-cilium-network",
"secondaryip": [],
"traffictype": "Guest",
"type": "Isolated"
}
],
"osdisplayname": "Debian GNU/Linux 12 (64-bit)",
"ostypeid": "896d3b57-4ef5-412a-ae28-2e3562080a6c",
"pooltype": "NetworkFilesystem",
"receivedbytes": 0,
"securitygroup": [],
"sentbytes": 0,
"state": "Running",
"tags": [],
"userid": "4e42522a-acee-11f1-82f5-1e001e0003bb",
"username": "admin",
"vmtype": "cksnode",
"zoneid": "851c7ca9-32c9-4927-8e6c-a80bb214c05b",
"zonename": "ref-trl-12352-k-Mol8-kiran-chavala"
}
],
"zoneid": "851c7ca9-32c9-4927-8e6c-a80bb214c05b",
"zonename": "ref-trl-12352-k-Mol8-kiran-chavala"
}
}
|
@blueorangutan test |
|
@kiranchavala a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests |
|
[SF] Trillian test result (tid-16992)
|
…a default CNI
Description
This PR fixes #9304.
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
The script in question generates CloudStack Kubernetes Service (CKS) images using Cilium as the default CNI.
Additionally, the other components are up-to-date.
You can also use ready-made images from my repository.. See: https://download.suanuvem.io/cks/