Skip to content

Commit

Permalink
Added more resources to the mock deletion controller (#9742)
Browse files Browse the repository at this point in the history
Signed-off-by: Paolo Patierno <ppatierno@live.com>
  • Loading branch information
ppatierno committed Feb 26, 2024
1 parent e7cf213 commit d4d38bc
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
8 changes: 8 additions & 0 deletions mockkube/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,14 @@
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client-api</artifactId>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-model-networking</artifactId>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-model-policy</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.api.model.Secret;
import io.fabric8.kubernetes.api.model.Service;
import io.fabric8.kubernetes.api.model.ServiceAccount;
import io.fabric8.kubernetes.api.model.networking.v1.NetworkPolicy;
import io.fabric8.kubernetes.api.model.policy.v1.PodDisruptionBudget;
import io.fabric8.kubernetes.client.KubernetesClient;
import io.fabric8.kubernetes.client.KubernetesClientException;
import io.fabric8.kubernetes.client.Watch;
Expand All @@ -37,6 +40,9 @@
* - Services
* - Pods
* - StrimziPodSet
* - NetworkPolicy
* - ServiceAccount
* - PodDisruptionBudget
*/
public class MockDeletionController extends AbstractMockController {
private static final Logger LOGGER = LogManager.getLogger(MockDeletionController.class);
Expand Down Expand Up @@ -147,6 +153,48 @@ public void onClose(WatcherException e) {
throw e;
}
}

watches.add(client.network().networkPolicies().inAnyNamespace().watch(new Watcher<>() {
@Override
public void eventReceived(Action action, NetworkPolicy networkPolicy) {
if (action == Action.MODIFIED) {
removeFinalizersIfNeeded(client.network().networkPolicies(), networkPolicy);
}
}

@Override
public void onClose(WatcherException e) {
LOGGER.error("Mock NetworkPolicy deletion watch closed", e);
}
}));

watches.add(client.serviceAccounts().inAnyNamespace().watch(new Watcher<>() {
@Override
public void eventReceived(Action action, ServiceAccount serviceAccount) {
if (action == Action.MODIFIED) {
removeFinalizersIfNeeded(client.serviceAccounts(), serviceAccount);
}
}

@Override
public void onClose(WatcherException e) {
LOGGER.error("Mock ServiceAccount deletion watch closed", e);
}
}));

watches.add(client.policy().v1().podDisruptionBudget().inAnyNamespace().watch(new Watcher<>() {
@Override
public void eventReceived(Action action, PodDisruptionBudget podDisruptionBudget) {
if (action == Action.MODIFIED) {
removeFinalizersIfNeeded(client.policy().v1().podDisruptionBudget(), podDisruptionBudget);
}
}

@Override
public void onClose(WatcherException e) {
LOGGER.error("Mock PodDisruptionBudget deletion watch closed", e);
}
}));
}

private <T extends HasMetadata, R extends Resource<T>, L> void removeFinalizersIfNeeded(MixedOperation<T, L, R> op, T resource) {
Expand Down

0 comments on commit d4d38bc

Please sign in to comment.