Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added scenario 3
  • Loading branch information
z103cb committed Jun 12, 2023
commit 930d8b6ae342ff2dfa496c87ffe226bd29dce80a
4 changes: 2 additions & 2 deletions hack/run-e2e-kind.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export IMAGE_MCAD="${IMAGE_REPOSITORY_MCAD}:${IMAGE_TAG_MCAD}"
CLUSTER_STARTED="false"
export KUTTL_VERSION=0.15.0
export KUTTL_OPTIONS=${TEST_KUTTL_OPTIONS}
export KUTTL_TEST_SUITES=("${ROOT_DIR}/test/kuttl-test-deployment-01.yaml" "${ROOT_DIR}/test/kuttl-test.yaml")
export KUTTL_TEST_SUITES=("${ROOT_DIR}/test/kuttl-test-deployment-01.yaml" "${ROOT_DIR}/test/kuttl-test-deployment-02.yaml" "${ROOT_DIR}/test/kuttl-test-deployment-03.yaml" "${ROOT_DIR}/test/kuttl-test.yaml")

function update_test_host {

Expand Down Expand Up @@ -387,9 +387,9 @@ function kuttl-tests {
undeploy_mcad_helm
exit 1
fi
rm -f kubeconfig
undeploy_mcad_helm
done
rm -f kubeconfig
}

trap cleanup EXIT
Expand Down
44 changes: 44 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/00-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Verify CRDs existence
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: appwrappers.mcad.ibm.com
status:
acceptedNames:
kind: AppWrapper
listKind: AppWrapperList
plural: appwrappers
singular: appwrapper
storedVersions:
- v1beta1
---
# Verify test namespace existence
apiVersion: v1
kind: Namespace
metadata:
name: start-up-03
---
# Verify subtree creations
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: context-root
namespace: kube-system
labels:
tree: quota_context
---
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: service-root
namespace: kube-system
labels:
tree: quota_service
---
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: context-root-children
namespace: kube-system
labels:
tree: quota_context
4 changes: 4 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/00-install.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: start-up-03
8 changes: 8 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/01-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#Verify AppWrappers finished successfully
apiVersion: mcad.ibm.com/v1beta1
kind: AppWrapper
metadata:
name: bronze-quota-job-01
namespace: start-up-03
status:
state: Running
63 changes: 63 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/01-install.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
apiVersion: mcad.ibm.com/v1beta1
kind: AppWrapper
metadata:
name: bronze-quota-job-01
namespace: start-up-03
labels:
quota_context: bronze
quota_service: service-root
spec:
schedulingSpec:
minAvailable: 1
resources:
GenericItems:
- replicas: 1
completionstatus: Complete
custompodresources:
- replicas: 1
requests:
cpu: 300m
nvidia.com/gpu: 0
memory: 300Mi
limits:
cpu: 300m
nvidia.com/gpu: 0
memory: 300Mi
generictemplate:
apiVersion: batch/v1
kind: Job
metadata:
name: bronze-quota-job-01
namespace: start-up-03
labels:
appwrapper.mcad.ibm.com: bronze-quota-job-01
spec:
parallelism: 1
completions: 1
template:
metadata:
name: bronze-quota-job-01
namespace: start-up-03
labels:
appwrapper.mcad.ibm.com: bronze-quota-job-01
spec:
terminationGracePeriodSeconds: 1
restartPolicy: Never
containers:
- name: ubuntu
image: ubuntu:latest
imagePullPolicy: IfNotPresent
command:
- sh
- -c
- |
sleep infinity
resources:
requests:
cpu: 300m
nvidia.com/gpu: 0
memory: 300Mi
limits:
cpu: 300m
nvidia.com/gpu: 0
memory: 300Mi
25 changes: 25 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/02-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Verify AppWrapper was dispatched and pod was created
apiVersion: mcad.ibm.com/v1beta1
kind: AppWrapper
metadata:
name: no-quota-deployment-02
namespace: start-up-03
status:
# state: Running
state: Pending
#---
#apiVersion: apps/v1
#kind: Deployment
#metadata:
# name: no-quota-deployment-02
# namespace: start-up-03
# labels:
# app: no-quota-deployment-01
# appwrapper.mcad.ibm.com: no-quota-deployment-02
# resourceName: no-quota-deployment-02
#status:
# availableReplicas: 1
# observedGeneration: 1
# readyReplicas: 1
# replicas: 1
# updatedReplicas: 1
39 changes: 39 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/02-install.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
apiVersion: mcad.ibm.com/v1beta1
kind: AppWrapper
metadata:
name: no-quota-deployment-02
namespace: start-up-03
spec:
resources:
GenericItems:
- replicas: 1
generictemplate:
apiVersion: apps/v1
kind: Deployment
metadata:
name: no-quota-deployment-02
namespace: start-up-03
labels:
app: no-quota-deployment-02
spec:
selector:
matchLabels:
app: no-quota-deployment-02
replicas: 1
template:
metadata:
labels:
app: deployment-echoserver-01
spec:
containers:
- name: no-quota-deployment-01
image: kicbase/echo-server:1.0
ports:
- containerPort: 80
resources:
requests:
cpu: 300m
memory: 32Mi
limits:
cpu: 300m
memory: 32Mi
47 changes: 47 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/03-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: actinides-root
namespace: kube-system
labels:
tree: quota_actinides
spec:
children:
- name: actinides-root
---
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: actinides-children
namespace: kube-system
labels:
tree: quota_actinides
spec:
parent: actinides-root
children:
- name: plutonium
- name: lawrencium
---
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: context-root
namespace: kube-system
labels:
tree: quota_context
---
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: service-root
namespace: kube-system
labels:
tree: quota_service
---
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: context-root-children
namespace: kube-system
labels:
tree: quota_context
36 changes: 36 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/03-install-new-quota-node.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: actinides-root
namespace: kube-system
labels:
tree: quota_actinides
spec:
children:
- name: actinides-root
quotas:
requests:
cpu: 1075m
memory: 1045Mi
---
apiVersion: ibm.com/v1
kind: QuotaSubtree
metadata:
name: actinides-children
namespace: kube-system
labels:
tree: quota_actinides
spec:
parent: actinides-root
children:
- name: plutonium
quotas:
requests:
cpu: 1075m
memory: 1045Mi
- name: lawrencium
quotas:
hardLimit: true
requests:
cpu: 1075m
memory: 1045Mi
8 changes: 8 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/04-assert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#Verify AppWrappers finished successfully
apiVersion: mcad.ibm.com/v1beta1
kind: AppWrapper
metadata:
name: bronze-quota-job-04
namespace: start-up-03
status:
state: Completed
65 changes: 65 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/04-install.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
apiVersion: mcad.ibm.com/v1beta1
kind: AppWrapper
metadata:
name: gold-quota-job-04
namespace: start-up-03
labels:
quota_context: gold
#why do we need to refer to other trees in the quota forest ?
#quota_service: service-root
#quota_actinides: actinides-root
spec:
schedulingSpec:
minAvailable: 1
resources:
GenericItems:
- replicas: 1
completionstatus: Complete
custompodresources:
- replicas: 1
requests:
cpu: 300m
nvidia.com/gpu: 0
memory: 30Mi
limits:
cpu: 300m
nvidia.com/gpu: 0
memory: 30Mi
generictemplate:
apiVersion: batch/v1
kind: Job
metadata:
name: gold-quota-job-04
namespace: start-up-03
labels:
appwrapper.mcad.ibm.com: gold-quota-job-04
spec:
parallelism: 1
completions: 1
template:
metadata:
name: gold-quota-job-04
namespace: start-up-03
labels:
appwrapper.mcad.ibm.com: gold-quota-job-04
spec:
terminationGracePeriodSeconds: 1
restartPolicy: Never
containers:
- name: ubuntu
image: ubuntu:latest
imagePullPolicy: IfNotPresent
command:
- sh
- -c
- |
sleep 5
resources:
requests:
cpu: 300m
nvidia.com/gpu: 0
memory: 30Mi
limits:
cpu: 300m
nvidia.com/gpu: 0
memory: 30Mi
12 changes: 12 additions & 0 deletions test/e2e-kuttl-deployment-03/steps/99-cleanup.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: kuttl.dev/v1beta1
kind: TestStep
apply: []
assert: []
error: []
unitTest: false
delete: []
commands:
- command: kubectl delete appwrappers -n start-up-03 --all --wait
- command: kubectl delete deployments,pods,jobs -n start-up-03 --all --wait
- command: kubectl delete namespace start-up-03 --wait
- command: kubectl delete quotasubtrees -n kube-system --all --wait
10 changes: 10 additions & 0 deletions test/kuttl-test-deployment-03.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: kuttl.dev/v1beta1
kind: TestSuite
testDirs:
- test/e2e-kuttl-deployment-03/
timeout: 240
crdDir: config/crd/bases
artifactsDir: _output/logs
commands:
- script: kubectl apply -f ${ROOT_DIR}/test/e2e-kuttl/install-quota-subtree.yaml
- script: helm upgrade --install mcad-controller deployment/mcad-controller --skip-crds --namespace kube-system --wait --set loglevel=${LOG_LEVEL} --set resources.requests.cpu=1000m --set resources.requests.memory=1024Mi --set resources.limits.cpu=4000m --set resources.limits.memory=4096Mi --set image.repository=$IMAGE_REPOSITORY_MCAD --set image.tag=$IMAGE_TAG_MCAD --set image.pullPolicy=$MCAD_IMAGE_PULL_POLICY --set configMap.quotaEnabled='"true"' --set quotaManagement.rbac.apiGroup=ibm.com --set quotaManagement.rbac.resource=quotasubtrees --set configMap.name=mcad-controller-configmap --set configMap.preemptionEnabled='"true"'
Loading