Skip to content

Commit c4b5139

Browse files
committed
chore: Add smoke kuttl test
1 parent 76aebb1 commit c4b5139

19 files changed

Lines changed: 854 additions & 0 deletions

scripts/run-tests

Lines changed: 409 additions & 0 deletions
Large diffs are not rendered by default.

scripts/run_tests.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/usr/bin/env bash
2+
3+
./scripts/run-tests "$@"

tests/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_work/

tests/kuttl-test.yaml.jinja2

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
apiVersion: kuttl.dev/v1beta1
3+
kind: TestSuite
4+
testDirs:
5+
{% for testcase in testinput.tests %}
6+
- ./tests/{{ testcase.name }}
7+
{% endfor %}
8+
9+
startKIND: false
10+
suppress: ["events"]
11+
parallel: 2
12+
13+
# The timeout (in seconds) is used when namespaces are created or
14+
# deleted, and, if not overridden, in TestSteps, TestAsserts, and
15+
# Commands. If not set, the timeout is 30 seconds by default.
16+
#
17+
# The deletion of a namespace can take a while until all resources,
18+
# especially PersistentVolumeClaims, are gracefully shut down. If the
19+
# timeout is reached in the meantime, even a successful test case is
20+
# considered a failure.
21+
#
22+
# For instance, the termination grace period of the Vector aggregator in
23+
# the logging tests is set to 60 seconds. If there are logs entries
24+
# which could not be forwarded yet to the external aggregator defined in
25+
# the VECTOR_AGGREGATOR environment variable, then the test aggregator
26+
# uses this period of time by trying to forward the events. In this
27+
# case, deleting a namespace with several Pods takes about 90 seconds.
28+
timeout: 300

tests/release.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Contains all operators required to run the test suite.
2+
---
3+
releases:
4+
# Do not change the name of the release as it's referenced from run-tests
5+
tests:
6+
releaseDate: 1970-01-01
7+
description: Integration test
8+
products:
9+
commons:
10+
operatorVersion: 0.0.0-dev
11+
secret:
12+
operatorVersion: 0.0.0-dev
13+
listener:
14+
operatorVersion: 0.0.0-dev
15+
trino:
16+
operatorVersion: 0.0.0-dev
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
apiVersion: kuttl.dev/v1beta1
3+
kind: TestAssert
4+
{% if lookup('env', 'VECTOR_AGGREGATOR') %}
5+
---
6+
apiVersion: v1
7+
kind: ConfigMap
8+
metadata:
9+
name: vector-aggregator-discovery
10+
{% endif %}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{% if lookup('env', 'VECTOR_AGGREGATOR') %}
2+
---
3+
apiVersion: v1
4+
kind: ConfigMap
5+
metadata:
6+
name: vector-aggregator-discovery
7+
data:
8+
ADDRESS: {{ lookup('env', 'VECTOR_AGGREGATOR') }}
9+
{% endif %}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{% if test_scenario['values']['openshift'] == 'true' %}
2+
# see https://github.com/stackabletech/issues/issues/566
3+
---
4+
apiVersion: kuttl.dev/v1beta1
5+
kind: TestStep
6+
commands:
7+
- script: kubectl patch namespace $NAMESPACE -p '{"metadata":{"labels":{"pod-security.kubernetes.io/enforce":"privileged"}}}'
8+
timeout: 120
9+
{% endif %}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
apiVersion: v1
2+
kind: ServiceAccount
3+
metadata:
4+
name: trino-lb
5+
---
6+
kind: RoleBinding
7+
apiVersion: rbac.authorization.k8s.io/v1
8+
metadata:
9+
name: trino-lb
10+
subjects:
11+
- kind: ServiceAccount
12+
name: trino-lb
13+
roleRef:
14+
kind: Role
15+
name: trino-lb
16+
apiGroup: rbac.authorization.k8s.io
17+
---
18+
apiVersion: rbac.authorization.k8s.io/v1
19+
kind: ClusterRole
20+
metadata:
21+
name: trino-lb
22+
labels:
23+
app.kubernetes.io/name: trino-lb
24+
rules:
25+
- apiGroups:
26+
- trino.stackable.tech
27+
resources:
28+
- trinoclusters
29+
verbs:
30+
- get
31+
- list
32+
- watch
33+
- patch
34+
- apiGroups:
35+
- trino.stackable.tech
36+
resources:
37+
- trinoclusters/status
38+
verbs:
39+
- get
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
apiVersion: v1
2+
kind: Secret
3+
metadata:
4+
name: trino-lb-certificates
5+
data:
6+
cert.pem: |
7+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURrekNDQW51Z0F3SUJBZ0lVWFZZa1JDck0v
8+
Z2UwM0RWeW1EdFhDdXlicDdnd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1dURUxNQWtHQTFVRUJoTUNW
9+
Vk14RXpBUkJnTlZCQWdNQ2xOdmJXVXRVM1JoZEdVeElUQWZCZ05WQkFvTQpHRWx1ZEdWeWJtVjBJ
10+
RmRwWkdkcGRITWdVSFI1SUV4MFpERVNNQkFHQTFVRUF3d0piRzlqWVd4b2IzTjBNQjRYCkRUSXhN
11+
RGN6TVRFME1qSXhNbG9YRFRJeU1EY3pNVEUwTWpJeE1sb3dXVEVMTUFrR0ExVUVCaE1DVlZNeEV6
12+
QVIKQmdOVkJBZ01DbE52YldVdFUzUmhkR1V4SVRBZkJnTlZCQW9NR0VsdWRHVnlibVYwSUZkcFpH
13+
ZHBkSE1nVUhSNQpJRXgwWkRFU01CQUdBMVVFQXd3SmJHOWpZV3hvYjNOME1JSUJJakFOQmdrcWhr
14+
aUc5dzBCQVFFRkFBT0NBUThBCk1JSUJDZ0tDQVFFQTAyVjVaam1xTEIvVlF3VGFycnovMzVxc2E4
15+
M0wrRGJBb2EwMDAxK2pWbW1DK0c5TnVmaTAKZGFyb0ZXai9VaWN2MmZaV0VUVThKb1pLVXJYNEJL
16+
OW9nNWNnNXJsbi9DdEJSV0NVWUl3UmdZOVIvQ2RCR1BuNAprcCtYa1NKYUN3NzRaSXlMeS9aZnV4
17+
Nmg4RVMxbTlZUm5CemErczdVK0ltUkJSZjRNUlB0WFEzL21xSnhBWllxCmRPbktudnNzUnlEMnF1
18+
dGdWVEF4d01VdkpXSWl2UmhSWURqN1dPcFM0Q0VFZVF4UDFpSDEvVDVQN0ZkdFRHZFQKYlZCQUJD
19+
QThKaEw5NnVGR1BwT1lIY00vN1I1RUlBM3laNUZOZzkzMVF6b0RJVGp0WEd0UTZ5OS9sL0lZa1dt
20+
NgpKNjdSV2NOMElvVHNaaHowV05VNGdBZXNsVnRKTG9mbjhRSURBUUFCbzFNd1VUQWRCZ05WSFE0
21+
RUZnUVV6Rm5LCk5mUzRMQVl1S2VXd0hiem9vRVIweVowd0h3WURWUjBqQkJnd0ZvQVV6Rm5LTmZT
22+
NExBWXVLZVd3SGJ6b29FUjAKeVowd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBTkJna3Foa2lHOXcw
23+
QkFRc0ZBQU9DQVFFQWs0TytlOWppYTU5Vwpad2V0TjRHVTdPV2NZaG1PZ1NpelJTczZ1N21UZnA2
24+
MkxETXQ5NldLVTNUSGtzT25aNDRIbnFXUXhzU2ZkRlZVClhKRDEydGp2VlU4WjRGV3pRYWpjSGVl
25+
bVVZaUR6ZThFQWg2VG54blVjT3JVOEljd2lLR3hDV1JZLzkwOGpuV2cKK01Nc2NmTUNNWVRSZGVU
26+
UHFEOGZHekFsVUN0bXl6SDZLTEUzczRPby9yNStOUitVdnJ3cGR2Yjd4ZTBNd3dPOQpRL3pSNE44
27+
ZXAvSHdIVkVPYmNhQm9mRTFzc1pMa3NYN1pnQ1A5d01nWFJXcE5BdEM1RVd4TWJ4WWpCZldGSDI0
28+
CmZESmxCTWlHSldnOEhIY3hLN3dRaEZoK2Z1eU56RSt4RVdQc0k5VkwxekRmdGQ5eDgvUXNPYWd5
29+
RU9uWThWeHIKQW9wdlowOXVFUT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
30+
key.pem: |
31+
LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZB
32+
QVNDQktjd2dnU2pBZ0VBQW9JQkFRRFRaWGxtT2Fvc0g5VkQKQk5xdXZQL2ZtcXhyemN2NE5zQ2hy
33+
VFRUWDZOV2FZTDRiMDI1K0xSMXF1Z1ZhUDlTSnkvWjlsWVJOVHdtaGtwUwp0ZmdFcjJpRGx5RG11
34+
V2Y4SzBGRllKUmdqQkdCajFIOEowRVkrZmlTbjVlUklsb0xEdmhrakl2TDlsKzdIcUh3ClJMV2Ix
35+
aEdjSE5yNnp0VDRpWkVGRi9neEUrMWREZithb25FQmxpcDA2Y3FlK3l4SElQYXE2MkJWTURIQXhT
36+
OGwKWWlLOUdGRmdPUHRZNmxMZ0lRUjVERS9XSWZYOVBrL3NWMjFNWjFOdFVFQUVJRHdtRXYzcTRV
37+
WStrNWdkd3ovdApIa1FnRGZKbmtVMkQzZlZET2dNaE9PMWNhMURyTDMrWDhoaVJhYm9ucnRGWncz
38+
UWloT3htSFBSWTFUaUFCNnlWClcwa3VoK2Z4QWdNQkFBRUNnZ0VBRGx0dThrMXFURkxoSmdzWFd4
39+
VEZBQWUrUEJnZkNUMld1YVJNMlNvK3FxakIKMTJPZjBNaWVZUHQ1aGJLNjNIYUMzbmZIZ3FXdDd5
40+
UGh1bHBYZk9INDVDOEljZ01YbDkzTU1nME1KcjU4bGVNSQorMm9qRnJJcmVySFNGbTVSMVR4d0RF
41+
d3JWbS9tTW93ekRXRnRRQ2M2elBKOHdObjVSdVA0OEhLZlRaMy8yZmp3CnpFalN3UE8yd0ZNZm8x
42+
RUpOVGpsSTMwM2xGYmRGQnM2N05hWDZwdWgzME03VG4rZ3puSEt5TzVhN0Y1N3drSXQKZmtnbkV5
43+
L3NnTWVkUWx3WDdiUnBVb0Q2ZjBmWnpWOFF6NGNIRnl3dFlFcmN6WkpoM1ZHaXRKb08vVkNJRGR0
44+
eQpSUFhPQXFWRGQ3RXBQMVVVZWhabEtWV1owT1pNRWZSZ0tiUkNlbDVhYlFLQmdRRHdnd3JJUTUr
45+
QmladjZhMFZUCkVUZVhCK2hSYnZCaW5SeWtOby9SdkxjM2oxZW5SaDkvek8vU2hhZFpJWGdPQWlN
46+
MUpucjVHcDhLa05HY2E2SzEKbXlodGFkN3hZUE9EWXpOWFhwNlQxT1BnWnhIWkxJWXpWVWo2eXBY
47+
ZVY2NFRlNVppRGFKMUQ0OWN6c3ErUHFzUQpYUmNnQkpTTnBGdERGaVhXcGpYV2Z4OFB4d0tCZ1FE
48+
aEFuTFk1U2wyZWVRbyt1ZDBNdmp3ZnRCL21OMnFDekpZCjVBbFFwUkk0VGhXeEpnR1B1SFRSMjl6
49+
VmE1aVdOWXVBNUxXckMxeS93eCt0NUhLVXdxKzVreHZzK25wWXBESkQKWlgvdzBHbGM2czBKYy9t
50+
RnlTa2J3OUIyTGVQZWRMN2xSRjVPaUF5QzZEMTA2U2M5VjJqbEw0SWZsbU96dDRDRApaVE5iTHRD
51+
Nmh3S0JnSGZJekJYeGwvOXNDY011cWRnMU92cDlkYmNaQ2FBVG43QXBmSGQ1QmNjbUhRR3lhdjI3
52+
Cms3WEYyeE1KR0VIaHpxY3FBeFVOclNnVitFOXZUQm9tckh2UnZyZDVFYzdlR1RQcWJCQTBkMG5N
53+
QzVlZUZUaDcKd1YwbWlIMjBMWDZHanQ5RzZ5SmlIWVNiZVY1RzErdk9jVFlCRWZ0NVgvcUpqVTdh
54+
ZVBYYldoMEJBb0dCQUpsVgo1dGdDQ3VodkZsb0s2ZkhZenFadGRUNk8rUGZwVzIwU01Ycmdrdk1G
55+
MjJoMll2Z0RGckR3cUtSVUI0N05mSHpnCjN5QnB4TkgxY2NBNS93OTdRTzh3M2dYM2g2cWljcEpW
56+
T0FQdXN1NmNJQkFDRlpmalJ2MWh5c3pPWnd2dytTb2EKRmo1a0hrcVRZMVlwa1JFUFlTOVYyZElX
57+
MVdqaWMxU1hnWkR3N1ZNL0FvR0FQL2NaM1pIVFNDRFRGbEl0cXk1QwpySXkyQWlZMFdKc3grSzBx
58+
Y3Z0b3NQT093dG5HaldIYjFnZGFWZGZYL0lSa1NzWDRQQU9kbnN5aWROQzUvbC9tCnk4b2ErNVdF
59+
ZUdGY2xXRmhyNGRuVEE3NjZvOEhyTTJVaklnV1dZQkYyVktkcHRHbkh4RmVKV0ZVbWVRQy94ZVcK
60+
dzM3cENTN3lrTCs3Z3A3VjBXU2hZc3c9Ci0tLS0tRU5EIFBSSVZBVEUgS0VZLS0tLS0K

0 commit comments

Comments
 (0)