Skip to content

Commit 326870a

Browse files
committed
[tests] Add tests for tenant Kubernetes cluster
1 parent 4427132 commit 326870a

1 file changed

Lines changed: 89 additions & 0 deletions

File tree

‎hack/e2e.bats‎

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,3 +385,92 @@ EOF
385385
timeout 120 sh -ec 'until kubectl get hr -n cozy-keycloak keycloak keycloak-configure keycloak-operator >/dev/null 2>&1; do sleep 1; done'
386386
kubectl wait hr/keycloak hr/keycloak-configure hr/keycloak-operator -n cozy-keycloak --timeout=10m --for=condition=ready
387387
}
388+
389+
@test "Create tenant with isolated mode enabled" {
390+
kubectl create -f - <<EOF
391+
apiVersion: apps.cozystack.io/v1alpha1
392+
kind: Tenant
393+
metadata:
394+
name: test
395+
namespace: tenant-root
396+
spec:
397+
etcd: false
398+
host: ""
399+
ingress: false
400+
isolated: true
401+
monitoring: false
402+
resourceQuotas: {}
403+
seaweedfs: false
404+
EOF
405+
kubectl wait namespace tenant-test --timeout=20s --for=jsonpath='{.status.phase}'=Active
406+
}
407+
408+
@test "Create a tenant Kubernetes control plane" {
409+
kubectl create -f - <<EOF
410+
apiVersion: apps.cozystack.io/v1alpha1
411+
kind: Kubernetes
412+
metadata:
413+
name: test
414+
namespace: tenant-test
415+
spec:
416+
addons:
417+
certManager:
418+
enabled: false
419+
valuesOverride: {}
420+
cilium:
421+
valuesOverride: {}
422+
fluxcd:
423+
enabled: false
424+
valuesOverride: {}
425+
gatewayAPI:
426+
enabled: false
427+
gpuOperator:
428+
enabled: false
429+
valuesOverride: {}
430+
ingressNginx:
431+
enabled: true
432+
hosts: []
433+
valuesOverride: {}
434+
monitoringAgents:
435+
enabled: false
436+
valuesOverride: {}
437+
verticalPodAutoscaler:
438+
valuesOverride: {}
439+
controlPlane:
440+
apiServer:
441+
resources: {}
442+
resourcesPreset: small
443+
controllerManager:
444+
resources: {}
445+
resourcesPreset: micro
446+
konnectivity:
447+
server:
448+
resources: {}
449+
resourcesPreset: micro
450+
replicas: 2
451+
scheduler:
452+
resources: {}
453+
resourcesPreset: micro
454+
host: ""
455+
nodeGroups:
456+
md0:
457+
ephemeralStorage: 20Gi
458+
gpus: []
459+
instanceType: u1.medium
460+
maxReplicas: 10
461+
minReplicas: 0
462+
resources:
463+
cpu: ""
464+
memory: ""
465+
roles:
466+
- ingress-nginx
467+
storageClass: replicated
468+
EOF
469+
kubectl wait namespace tenant-test --timeout=20s --for=jsonpath='{.status.phase}'=Active
470+
timeout 10 sh -ec 'until kubectl get kamajicontrolplane -n tenant-test kubernetes-test; do sleep 1; done'
471+
kubectl wait --for=condition=TenantControlPlaneCreated kamajicontrolplane -n tenant-test kubernetes-test --timeout=4m
472+
kubectl wait tcp -n tenant-test kubernetes-test --timeout=20s --for=jsonpath='{.status.kubernetesResources.version.status}'=Ready --timeout=2m
473+
kubectl wait deploy --timeout=4m --for=condition=available -n tenant-test kubernetes-test kubernetes-test-cluster-autoscaler kubernetes-test-kccm kubernetes-test-kcsi-controller
474+
kubectl wait machinedeployment kubernetes-test-md0 -n tenant-test --timeout=20s --for=jsonpath='{.status.replicas}'=2 --timeout=1m
475+
kubectl wait machinedeployment kubernetes-test-md0 -n tenant-test --timeout=20s --for=jsonpath='{.status.v1beta2.readyReplicas}'=2 --timeout=2m
476+
}

0 commit comments

Comments
 (0)