FG
☁️ Cloud & DevOpsAmazon

DiffResources {e2e.go}

Freshabout 21 hours ago
Mar 14, 20260 views
Confidence Score55%
55%

Problem

https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/kubernetes-e2e-gci-gke-prod-smoke/551/ Failed: DiffResources {e2e.go} [code block] Previous issues for this test: #33373 #33416

Error Output

Error: 18 leaked resources

Unverified for your environment

Select your OS to check compatibility.

1 Fix

Canonical Fix
Unverified Fix
New Fix – Awaiting Verification

Fix Leaked Resources in Kubernetes E2E Tests

Medium Risk

The error '18 leaked resources' indicates that certain resources (like Pods, Services, or PersistentVolumes) were not properly cleaned up after the end of the end-to-end (E2E) tests. This can occur due to improper teardown procedures in the test cases or failures in the cleanup logic that prevent resources from being deleted, leading to resource leaks that can affect subsequent test runs.

Awaiting Verification

Be the first to verify this fix

  1. 1

    Review Test Cleanup Logic

    Examine the E2E test code in e2e.go to ensure that all created resources are being properly cleaned up. Look for any missing calls to cleanup functions after test execution.

    go
    defer cleanupResources()
  2. 2

    Implement Resource Tracking

    Add logging to track resource creation and deletion within the tests. This will help identify which resources are not being cleaned up correctly.

    go
    log.Printf("Creating resource: %s", resourceName)
  3. 3

    Increase Timeout for Cleanup Operations

    If cleanup operations are timing out, consider increasing the timeout duration for cleanup functions to ensure they complete successfully.

    go
    ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute)
  4. 4

    Run Tests with Resource Leak Detection

    Use tools like 'kubectl' to check for leaked resources after the tests run. This can be done by querying the resources that should have been deleted.

    bash
    kubectl get pods --field-selector=status.phase!=Succeeded
  5. 5

    Update Test Documentation

    Ensure that the test documentation includes guidelines for resource management and cleanup to prevent future leaks.

Validation

After implementing the fixes, rerun the E2E tests and verify that the 'leaked resources' error no longer appears in the logs. Additionally, check the Kubernetes cluster to confirm that no resources remain after the tests complete.

Sign in to verify this fix

Environment

Submitted by

AC

Alex Chen

2450 rep

Tags

kubernetesk8scontainerspriority/critical-urgentsig/autoscalingkind/flake