mirror of
https://github.com/cozystack/cozystack.git
synced 2026-10-23 11:37:29 +09:00
Nightly and the rc gate still booted the management nodes as QEMU guests, the substrate the merge-gating lanes left behind. On it the tenant Kubernetes suites have missed their node-join deadline on most nights since 2026-10-02, each failure spends the whole deadline, and the job reaches its timeout before the alphabetically later suites run. Over the same days those suites passed on every PR run that selected them, where the nodes are Talos containers and a tenant worker sits one virtualization level shallower. Both lanes now use the PR lanes' container substrate. Nightly's e2e no longer waits for the nocloud disk, which it does not boot; the disk is still built and published. A manual e2e-tag dispatch against a tag that predates the container lane fails early and names the ref to dispatch from instead. DRBD, the replicated StorageClass and the Cozystack Talos node image lose their last e2e coverage with this. The docs and comments that pointed at nightly and the rc gate as that coverage now say so. Assisted-by: LLM Signed-off-by: Aleksei Sviridkin <f@lex.la>
128 lines
3.9 KiB
Bash
Executable File
128 lines
3.9 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
api_server_endpoint=${COZY_APISERVER_ENDPOINT:-https://192.168.123.10:6443}
|
|
linstor_drbd_enabled=${COZY_LINSTOR_DRBD_ENABLED:-true}
|
|
|
|
# Container-mode Talos shares the runner kernel and cannot load DRBD. Keep the
|
|
# normal package graph for QEMU, and let that lane replace two Packages instead:
|
|
# LINSTOR, otherwise identical with its logger sidecar disabled, and kubevirt-cdi,
|
|
# which is NOT identical -- it raises the importer memory limit from CDI's 600M
|
|
# to 4Gi and the request from 60M to 256Mi, for the reason stated above that
|
|
# override below.
|
|
#
|
|
# The consequence is worth stating where it is made, and it applies to both:
|
|
# the merge-gating lane exercises neither the shipped CDI default nor
|
|
# `drbd.enabled: true`. Every e2e lane runs on containers, so whether a
|
|
# tenant worker disk imports at 600M, and whether the DRBD path works at all,
|
|
# is answered by no CI lane.
|
|
case "$linstor_drbd_enabled" in
|
|
true|false) ;;
|
|
*)
|
|
echo "COZY_LINSTOR_DRBD_ENABLED must be true or false, got: $linstor_drbd_enabled" >&2
|
|
exit 2
|
|
;;
|
|
esac
|
|
|
|
# Packages left out of this install. The container lane always drops the two it
|
|
# replaces below; COZY_DISABLED_PACKAGES adds the complement computed by
|
|
# hack/select-install.sh for the selected suites. Both land under one
|
|
# disabledPackages key, so the list is merged here rather than emitted twice.
|
|
disabled=""
|
|
if [ "$linstor_drbd_enabled" = false ]; then
|
|
disabled="cozystack.linstor cozystack.kubevirt-cdi"
|
|
fi
|
|
for pkg in ${COZY_DISABLED_PACKAGES:-}; do
|
|
case "$pkg" in
|
|
cozystack.*[!a-z0-9.-]* | cozystack.)
|
|
echo "COZY_DISABLED_PACKAGES: invalid package name: $pkg" >&2
|
|
exit 2
|
|
;;
|
|
cozystack.?*) ;;
|
|
*)
|
|
echo "COZY_DISABLED_PACKAGES: invalid package name: $pkg" >&2
|
|
exit 2
|
|
;;
|
|
esac
|
|
case " $disabled " in
|
|
*" $pkg "*) ;;
|
|
*) disabled="${disabled:+$disabled }$pkg" ;;
|
|
esac
|
|
done
|
|
|
|
cat <<EOF
|
|
apiVersion: cozystack.io/v1alpha1
|
|
kind: Package
|
|
metadata:
|
|
name: cozystack.cozystack-platform
|
|
spec:
|
|
variant: isp-full
|
|
components:
|
|
platform:
|
|
values:
|
|
networking:
|
|
podCIDR: "10.244.0.0/16"
|
|
podGateway: "10.244.0.1"
|
|
serviceCIDR: "10.96.0.0/16"
|
|
joinCIDR: "100.64.0.0/16"
|
|
publishing:
|
|
host: "example.org"
|
|
apiServerEndpoint: "$api_server_endpoint"
|
|
# Must match Tenant/root spec.monitoring, which the install sets to
|
|
# false. Left true, cozystack-basics renders Services into
|
|
# cozy-monitoring, which a narrow suite selection never creates.
|
|
monitoring:
|
|
rootEnabled: false
|
|
bundles:
|
|
enabledPackages:
|
|
- cozystack.external-dns-application
|
|
EOF
|
|
|
|
if [ -n "$disabled" ]; then
|
|
echo " disabledPackages:"
|
|
for pkg in $disabled; do
|
|
echo " - $pkg"
|
|
done
|
|
fi
|
|
|
|
if [ "$linstor_drbd_enabled" = false ]; then
|
|
cat <<'EOF'
|
|
---
|
|
apiVersion: cozystack.io/v1alpha1
|
|
kind: Package
|
|
metadata:
|
|
name: cozystack.linstor
|
|
spec:
|
|
variant: default
|
|
components:
|
|
linstor:
|
|
values:
|
|
drbd:
|
|
enabled: false
|
|
---
|
|
# CDI's own 600M ceiling was seen to OOM the decompress+convert of a tenant
|
|
# worker disk near 100% on this lane, after which CDI retries from scratch and
|
|
# the DataVolume cycles forever instead of failing. It is an override here and
|
|
# not a chart default because the same import completes at 600M on a QEMU-node
|
|
# cluster, so what has been shown to need the headroom is this substrate, not
|
|
# the product. Move it into packages/system/kubevirt-cdi/values.yaml the day it
|
|
# reproduces somewhere that is not a container lane.
|
|
apiVersion: cozystack.io/v1alpha1
|
|
kind: Package
|
|
metadata:
|
|
name: cozystack.kubevirt-cdi
|
|
spec:
|
|
variant: default
|
|
components:
|
|
kubevirt-cdi:
|
|
values:
|
|
importerResources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
limits:
|
|
cpu: 750m
|
|
memory: 4Gi
|
|
EOF
|
|
fi
|