Skip to content

Commit 3540f8b

Browse files
committed
Use prebuilt image to reduce start time of setup pod
1 parent b41c2e4 commit 3540f8b

14 files changed

Lines changed: 71 additions & 118 deletions

File tree

internal/controllers/limit/tests/limit-create-full/00-setup-cleanup.yaml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,9 @@ spec:
1616
spec:
1717
containers:
1818
- name: setup-teardown
19-
image: golang:alpine
19+
image: ghcr.io/chenwng/orc-helper:latest
2020
command:
21-
- sh
22-
- -c
23-
- |
24-
mkdir /test-helper &&
25-
cp /app/* /test-helper &&
26-
cd /test-helper;
27-
go mod init test-helper &&
28-
go mod tidy &&
29-
go build -o ./test-helper . &&
30-
exec ./test-helper
21+
- /orc-helper
3122
volumeMounts:
3223
- name: openstack-clouds
3324
mountPath: /etc/openstack

internal/controllers/limit/tests/limit-create-minimal/00-setup-cleanup.yaml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,9 @@ spec:
1616
spec:
1717
containers:
1818
- name: setup-teardown
19-
image: golang:alpine
19+
image: ghcr.io/chenwng/orc-helper:latest
2020
command:
21-
- sh
22-
- -c
23-
- |
24-
mkdir /test-helper &&
25-
cp /app/* /test-helper &&
26-
cd /test-helper;
27-
go mod init test-helper &&
28-
go mod tidy &&
29-
go build -o ./test-helper . &&
30-
exec ./test-helper
21+
- /orc-helper
3122
volumeMounts:
3223
- name: openstack-clouds
3324
mountPath: /etc/openstack

internal/controllers/limit/tests/limit-dependency/01-setup-cleanup.yaml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,9 @@ spec:
1616
spec:
1717
containers:
1818
- name: setup-teardown
19-
image: golang:alpine
19+
image: ghcr.io/chenwng/orc-helper:latest
2020
command:
21-
- sh
22-
- -c
23-
- |
24-
mkdir /test-helper &&
25-
cp /app/* /test-helper &&
26-
cd /test-helper;
27-
go mod init test-helper &&
28-
go mod tidy &&
29-
go build -o ./test-helper . &&
30-
exec ./test-helper
21+
- /orc-helper
3122
volumeMounts:
3223
- name: openstack-clouds
3324
mountPath: /etc/openstack
Lines changed: 7 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,8 @@
11
---
2-
apiVersion: kuttl.dev/v1beta1
3-
kind: TestAssert
4-
resourceRefs:
5-
- apiVersion: openstack.k-orc.cloud/v1alpha1
6-
kind: Service
7-
name: service-limit-dependency
8-
ref: service
9-
- apiVersion: openstack.k-orc.cloud/v1alpha1
10-
kind: Project
11-
name: project-limit-dependency
12-
ref: project
13-
- apiVersion: openstack.k-orc.cloud/v1alpha1
14-
kind: Domain
15-
name: domain-limit-dependency
16-
ref: domain
17-
- apiVersion: v1
18-
kind: Secret
19-
name: limit-dependency
20-
ref: secret
21-
assertAll:
22-
- celExpr: "service.metadata.deletionTimestamp != 0"
23-
- celExpr: "'openstack.k-orc.cloud/limit' in service.metadata.finalizers"
24-
- celExpr: "project.metadata.deletionTimestamp != 0"
25-
- celExpr: "'openstack.k-orc.cloud/limit' in project.metadata.finalizers"
26-
- celExpr: "domain.metadata.deletionTimestamp != 0"
27-
- celExpr: "'openstack.k-orc.cloud/limit' in domain.metadata.finalizers"
28-
- celExpr: "secret.metadata.deletionTimestamp != 0"
29-
- celExpr: "'openstack.k-orc.cloud/limit' in secret.metadata.finalizers"
2+
apiVersion: openstack.k-orc.cloud/v1alpha1
3+
kind: Domain
4+
metadata:
5+
name: domain-limit-dependency
6+
status:
7+
resource:
8+
enabled: false
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
apiVersion: kuttl.dev/v1beta1
3+
kind: TestStep
4+
commands:
5+
- command: kubectl patch domain domain-limit-dependency -p '{"spec":{"resource":{"enabled":false}}}' --type=merge
6+
namespaced: true
Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,29 @@
11
---
22
apiVersion: kuttl.dev/v1beta1
33
kind: TestAssert
4-
commands:
5-
# Dependencies that were prevented deletion before should now be gone
6-
- script: "! kubectl get service.openstack.k-orc.cloud service-limit-dependency --namespace $NAMESPACE"
7-
skipLogOutput: true
8-
- script: "! kubectl get project.openstack.k-orc.cloud project-limit-dependency --namespace $NAMESPACE"
9-
skipLogOutput: true
10-
- script: "! kubectl get domain.openstack.k-orc.cloud domain-limit-dependency --namespace $NAMESPACE"
11-
skipLogOutput: true
12-
- script: "! kubectl get secret limit-dependency --namespace $NAMESPACE"
13-
skipLogOutput: true
4+
resourceRefs:
5+
- apiVersion: openstack.k-orc.cloud/v1alpha1
6+
kind: Service
7+
name: service-limit-dependency
8+
ref: service
9+
- apiVersion: openstack.k-orc.cloud/v1alpha1
10+
kind: Project
11+
name: project-limit-dependency
12+
ref: project
13+
- apiVersion: openstack.k-orc.cloud/v1alpha1
14+
kind: Domain
15+
name: domain-limit-dependency
16+
ref: domain
17+
- apiVersion: v1
18+
kind: Secret
19+
name: limit-dependency
20+
ref: secret
21+
assertAll:
22+
- celExpr: "service.metadata.deletionTimestamp != 0"
23+
- celExpr: "'openstack.k-orc.cloud/limit' in service.metadata.finalizers"
24+
- celExpr: "project.metadata.deletionTimestamp != 0"
25+
- celExpr: "'openstack.k-orc.cloud/limit' in project.metadata.finalizers"
26+
- celExpr: "domain.metadata.deletionTimestamp != 0"
27+
- celExpr: "'openstack.k-orc.cloud/limit' in domain.metadata.finalizers"
28+
- celExpr: "secret.metadata.deletionTimestamp != 0"
29+
- celExpr: "'openstack.k-orc.cloud/limit' in secret.metadata.finalizers"

internal/controllers/limit/tests/limit-dependency/02-delete-dependencies.yaml renamed to internal/controllers/limit/tests/limit-dependency/03-delete-dependencies.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22
apiVersion: kuttl.dev/v1beta1
33
kind: TestStep
44
commands:
5-
# Sleep 1 sec to avoid race condition that the controller only reconciles on the deletion operation due to the async processing and cache
6-
- script: kubectl patch domain domain-limit-dependency -p '{"spec":{"resource":{"enabled":false}}}' --type=merge -n $NAMESPACE && sleep 1
75
# We expect the deletion to hang due to the finalizer, so use --wait=false
86
- command: kubectl delete service.openstack.k-orc.cloud,project,domain -l test-case=limit-dependency --wait=false
97
namespaced: true
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
apiVersion: kuttl.dev/v1beta1
3+
kind: TestAssert
4+
commands:
5+
# Dependencies that were prevented deletion before should now be gone
6+
- script: "! kubectl get service.openstack.k-orc.cloud service-limit-dependency --namespace $NAMESPACE"
7+
skipLogOutput: true
8+
- script: "! kubectl get project.openstack.k-orc.cloud project-limit-dependency --namespace $NAMESPACE"
9+
skipLogOutput: true
10+
- script: "! kubectl get domain.openstack.k-orc.cloud domain-limit-dependency --namespace $NAMESPACE"
11+
skipLogOutput: true
12+
- script: "! kubectl get secret limit-dependency --namespace $NAMESPACE"
13+
skipLogOutput: true

internal/controllers/limit/tests/limit-dependency/03-delete-resources.yaml renamed to internal/controllers/limit/tests/limit-dependency/04-delete-resources.yaml

File renamed without changes.

internal/controllers/limit/tests/limit-dependency/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ Create the missing dependencies and verify all the Limits are available.
1010

1111
## Step 02
1212

13-
Delete all the dependencies and check that ORC prevents deletion since there is still a resource that depends on them.
13+
Disable domain to facilitate the deletion.
1414

1515
## Step 03
1616

17+
Delete all the dependencies and check that ORC prevents deletion since there is still a resource that depends on them.
18+
19+
## Step 04
20+
1721
Delete the Limits and validate that all resources are gone.

0 commit comments

Comments
 (0)