Skip to content

Commit a9292ed

Browse files
committed
impl
Signed-off-by: Attila Mészáros <[email protected]>
1 parent 579e8c2 commit a9292ed

File tree

4 files changed

+12
-3
lines changed

4 files changed

+12
-3
lines changed

sample-operators/controller-namespace-deletion/k8s/operator.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ apiVersion: v1
22
kind: ServiceAccount
33
metadata:
44
name: operator
5+
finalizers:
6+
- controller.deletion/finalizer
57

68
---
79
apiVersion: v1

sample-operators/controller-namespace-deletion/src/main/java/io/javaoperatorsdk/operator/sample/ControllerNamespaceDeletionOperator.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,12 @@ public static void main(String[] args) {
3333
private static boolean waitUntilResourcesDeleted() {
3434
try (var client = new KubernetesClientBuilder().build()) {
3535
var startTime = LocalTime.now();
36-
while (startTime.until(LocalTime.now(), SECONDS) < 30) {
36+
while (startTime.until(LocalTime.now(), SECONDS) < 20) {
3737
var items =
38-
client.resources(ControllerNamespaceDeletionCustomResource.class).list().getItems();
38+
client.resources(ControllerNamespaceDeletionCustomResource.class)
39+
.inNamespace(client.getConfiguration().getNamespace())
40+
.list().getItems();
41+
log.info("Custom resource in namespace: {}", items);
3942
if (items.isEmpty()) {
4043
return true;
4144
}

sample-operators/controller-namespace-deletion/src/main/java/io/javaoperatorsdk/operator/sample/ControllerNamespaceDeletionReconciler.java

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ private ControllerNamespaceDeletionCustomResource createResponseResource(
4848
@Override
4949
public DeleteControl cleanup(ControllerNamespaceDeletionCustomResource resource,
5050
Context<ControllerNamespaceDeletionCustomResource> context) {
51+
log.info("Cleaning up resource");
5152
try {
5253
Thread.sleep(CLEANUP_DELAY.toMillis());
5354
return DeleteControl.defaultDelete();

sample-operators/controller-namespace-deletion/src/test/java/io/javaoperatorsdk/operator/sample/ControllerNamespaceDeletionE2E.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ void customResourceCleanedUpOnNamespaceDeletion() {
6363
log.info("Removing finalizers from role and role bing");
6464
removeRoleAndRoleBindingFinalizers();
6565

66-
await().untilAsserted(() -> {
66+
await().timeout(Duration.ofSeconds(20)).untilAsserted(() -> {
6767
var ns = client.namespaces().withName(namespace).get();
6868
assertThat(ns).isNull();
6969
});
@@ -79,6 +79,9 @@ private void removeRoleAndRoleBindingFinalizers() {
7979
role.getFinalizers().clear();
8080
client.resource(role).update();
8181

82+
var sa = client.serviceAccounts().inNamespace(namespace).withName(RESOURCE_NAME).get();
83+
sa.getMetadata().getFinalizers().clear();
84+
client.resource(sa).update();
8285
}
8386

8487
ControllerNamespaceDeletionCustomResource testResource() {

0 commit comments

Comments
 (0)