Skip to content

Commit ecb13dd

Browse files
authored
fix: e2e tests (#331)
Signed-off-by: Attila Mészáros <[email protected]>
1 parent 5c82e09 commit ecb13dd

File tree

3 files changed

+40
-14
lines changed

3 files changed

+40
-14
lines changed

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/Utils.java

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,25 @@
99
import java.util.function.UnaryOperator;
1010
import java.util.stream.Collectors;
1111

12+
import org.slf4j.Logger;
13+
import org.slf4j.LoggerFactory;
14+
15+
import io.fabric8.kubernetes.api.model.Event;
1216
import io.fabric8.kubernetes.api.model.HasMetadata;
1317
import io.fabric8.kubernetes.api.model.apiextensions.v1.*;
1418
import io.fabric8.kubernetes.api.model.networking.v1.*;
1519
import io.fabric8.kubernetes.client.KubernetesClient;
20+
import io.fabric8.kubernetes.client.KubernetesClientTimeoutException;
21+
import io.fabric8.kubernetes.client.utils.KubernetesSerialization;
1622

1723
import static io.javaoperatorsdk.webhook.sample.commons.AdmissionControllers.VALIDATION_TARGET_LABEL;
1824
import static io.javaoperatorsdk.webhook.sample.commons.ConversionControllers.CONVERSION_PATH;
1925

2026
public class Utils {
2127

22-
public static final int SPIN_UP_GRACE_PERIOD = 120;
28+
private static final Logger log = LoggerFactory.getLogger(Utils.class);
2329

30+
public static final int SPIN_UP_GRACE_PERIOD = 180;
2431

2532
public static void applyAndWait(KubernetesClient client, String path) {
2633
applyAndWait(client, path, null);
@@ -41,11 +48,25 @@ public static void applyAndWait(KubernetesClient client, InputStream is) {
4148

4249
public static void applyAndWait(KubernetesClient client, List<HasMetadata> resources,
4350
UnaryOperator<HasMetadata> transformer) {
44-
if (transformer != null) {
45-
resources = resources.stream().map(transformer).collect(Collectors.toList());
51+
try {
52+
if (transformer != null) {
53+
resources = resources.stream().map(transformer).collect(Collectors.toList());
54+
}
55+
client.resourceList(resources).createOrReplace();
56+
client.resourceList(resources).waitUntilReady(5, TimeUnit.MINUTES);
57+
} catch (KubernetesClientTimeoutException e) {
58+
log.info("Timed out resource list: {}", client.resourceList(resources).get());
59+
var deployment = client.resourceList(resources).get().stream()
60+
.filter(r -> r.getKind().equals("Deployment")).findFirst().orElseThrow();
61+
log.info("Deployment:\n {} \n",
62+
new KubernetesSerialization().asYaml(deployment));
63+
64+
client.v1().events().inNamespace(deployment.getMetadata().getNamespace()).list().getItems()
65+
.stream()
66+
.map(Event::getMessage)
67+
.forEach(ev -> log.info("Event: {}", new KubernetesSerialization().asYaml(ev)));
68+
throw e;
4669
}
47-
client.resourceList(resources).createOrReplace();
48-
client.resourceList(resources).waitUntilReady(3, TimeUnit.MINUTES);
4970
}
5071

5172
public static void applyAndWait(KubernetesClient client, InputStream is,

samples/spring-boot/k8s/kubernetes.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@ metadata:
66
app.dekorate.io/vcs-url: <<unknown>>
77
labels:
88
app.kubernetes.io/name: spring-boot-sample
9-
app.kubernetes.io/version: 1.1.7-SNAPSHOT
9+
app.kubernetes.io/version: 0.1.0
1010
name: spring-boot-sample
1111
spec:
1212
replicas: 1
1313
selector:
1414
matchLabels:
1515
app.kubernetes.io/name: spring-boot-sample
16-
app.kubernetes.io/version: 1.1.7-SNAPSHOT
16+
app.kubernetes.io/version: 0.1.0
1717
template:
1818
metadata:
1919
annotations:
2020
app.dekorate.io/vcs-url: <<unknown>>
2121
labels:
2222
app.kubernetes.io/name: spring-boot-sample
23-
app.kubernetes.io/version: 1.1.7-SNAPSHOT
23+
app.kubernetes.io/version: 0.1.0
2424
spec:
2525
containers:
2626
- env:
@@ -35,7 +35,7 @@ spec:
3535
secretKeyRef:
3636
key: password
3737
name: pkcs12-pass
38-
image: test/spring-boot-sample:1.1.7-SNAPSHOT
38+
image: test/spring-boot-sample:0.1.0
3939
imagePullPolicy: IfNotPresent
4040
name: spring-boot-sample
4141
ports:
@@ -67,7 +67,7 @@ metadata:
6767
app.dekorate.io/vcs-url: <<unknown>>
6868
labels:
6969
app.kubernetes.io/name: spring-boot-sample
70-
app.kubernetes.io/version: 1.1.7-SNAPSHOT
70+
app.kubernetes.io/version: 0.1.0
7171
name: spring-boot-sample
7272
spec:
7373
selfSigned: {}
@@ -79,7 +79,7 @@ metadata:
7979
app.dekorate.io/vcs-url: <<unknown>>
8080
labels:
8181
app.kubernetes.io/name: spring-boot-sample
82-
app.kubernetes.io/version: 1.1.7-SNAPSHOT
82+
app.kubernetes.io/version: 0.1.0
8383
name: spring-boot-sample
8484
spec:
8585
ports:
@@ -89,7 +89,7 @@ spec:
8989
targetPort: 443
9090
selector:
9191
app.kubernetes.io/name: spring-boot-sample
92-
app.kubernetes.io/version: 1.1.7-SNAPSHOT
92+
app.kubernetes.io/version: 0.1.0
9393
type: ClusterIP
9494
---
9595
apiVersion: cert-manager.io/v1
@@ -99,7 +99,7 @@ metadata:
9999
app.dekorate.io/vcs-url: <<unknown>>
100100
labels:
101101
app.kubernetes.io/name: spring-boot-sample
102-
app.kubernetes.io/version: 1.1.7-SNAPSHOT
102+
app.kubernetes.io/version: 0.1.0
103103
name: spring-boot-sample
104104
spec:
105105
dnsNames:

samples/spring-boot/pom.xml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@
7272
<groupId>org.awaitility</groupId>
7373
<artifactId>awaitility</artifactId>
7474
</dependency>
75+
<dependency>
76+
<groupId>org.slf4j</groupId>
77+
<artifactId>slf4j-simple</artifactId>
78+
<version>${slf4j.version}</version>
79+
</dependency>
7580
<dependency>
7681
<groupId>io.javaoperatorsdk.admissioncontroller.sample</groupId>
7782
<artifactId>sample-commons</artifactId>
@@ -92,7 +97,7 @@
9297
<image>eclipse-temurin:17-jre</image>
9398
</from>
9499
<to>
95-
<image>test/spring-boot-sample:${project.version}</image>
100+
<image>test/spring-boot-sample:0.1.0</image>
96101
</to>
97102
</configuration>
98103
</plugin>

0 commit comments

Comments
 (0)