diff --git a/src/KubeOps.KubernetesClient/KubernetesClient.cs b/src/KubeOps.KubernetesClient/KubernetesClient.cs index 55e3d0be..c170c13b 100644 --- a/src/KubeOps.KubernetesClient/KubernetesClient.cs +++ b/src/KubeOps.KubernetesClient/KubernetesClient.cs @@ -59,17 +59,9 @@ public KubernetesClient(KubernetesClientConfiguration clientConfig, IKubernetes /// public Uri BaseUri => _client.BaseUri; - [DebuggerHidden] - private void ThrowIfDisposed() - { - if (!_disposed) - { - return; - } - - throw new ObjectDisposedException(nameof(KubernetesClient)); - } - + /// + /// Clears the metadata cache. + /// public static void ClearMetadataCache() => MetadataCache.Clear(); /// @@ -382,7 +374,7 @@ public TEntity UpdateStatus(TEntity entity) timeoutSeconds: timeout switch { null => null, - _ => (int?)timeout.Value.TotalSeconds, + _ => (int?)timeout.Value.TotalSeconds, }, watch: true, cancellationToken: cancellationToken), @@ -456,6 +448,17 @@ private static EntityMetadata GetMetadata() return MetadataCache.GetOrAdd(type, t => Entities.ToEntityMetadata(t).Metadata); } + [DebuggerHidden] + private void ThrowIfDisposed() + { + if (!_disposed) + { + return; + } + + throw new ObjectDisposedException(nameof(KubernetesClient)); + } + private GenericClient CreateGenericClient() { ThrowIfDisposed(); diff --git a/src/KubeOps.Operator/Events/KubeOpsEventPublisherFactory.cs b/src/KubeOps.Operator/Events/KubeOpsEventPublisherFactory.cs index 3f7a1f6a..20ef9278 100644 --- a/src/KubeOps.Operator/Events/KubeOpsEventPublisherFactory.cs +++ b/src/KubeOps.Operator/Events/KubeOpsEventPublisherFactory.cs @@ -18,8 +18,6 @@ internal sealed class KubeOpsEventPublisherFactory( OperatorSettings settings, ILogger logger) : IEventPublisherFactory { - public void Dispose() => client.Dispose(); - public EventPublisher Create() => async (entity, reason, message, type, token) => { var @namespace = entity.Namespace() ?? "default"; diff --git a/src/KubeOps.Operator/LeaderElection/KubernetesLeaderElectorFactory.cs b/src/KubeOps.Operator/LeaderElection/KubernetesLeaderElectorFactory.cs index 94aecb77..a0cf3520 100644 --- a/src/KubeOps.Operator/LeaderElection/KubernetesLeaderElectorFactory.cs +++ b/src/KubeOps.Operator/LeaderElection/KubernetesLeaderElectorFactory.cs @@ -13,10 +13,6 @@ internal sealed class KubernetesLeaderElectorFactory( OperatorSettings settings) : ILeaderElectorFactory { - public void Dispose() - { - } - public LeaderElector CreateElector() => new(new LeaderElectionConfig(new LeaseLock( kubernetes, client.GetCurrentNamespace(), diff --git a/test/KubeOps.Operator.Test/Events/EventPublisher.Integration.Test.cs b/test/KubeOps.Operator.Test/Events/EventPublisher.Integration.Test.cs index 226fef1e..26bc1eb4 100644 --- a/test/KubeOps.Operator.Test/Events/EventPublisher.Integration.Test.cs +++ b/test/KubeOps.Operator.Test/Events/EventPublisher.Integration.Test.cs @@ -88,7 +88,7 @@ private class TestController( { public async Task ReconcileAsync(V1OperatorIntegrationTestEntity entity, CancellationToken cancellationToken) { - await eventPublisher(entity, "REASON", "message"); + await eventPublisher(entity, "REASON", "message", cancellationToken: cancellationToken); svc.Invocation(entity); if (svc.Invocations.Count < svc.TargetInvocationCount)