=== RUN TestNewCircuitBreaker === RUN TestNewCircuitBreaker/with_default_config === RUN TestNewCircuitBreaker/with_custom_config --- PASS: TestNewCircuitBreaker (0.00s) --- PASS: TestNewCircuitBreaker/with_default_config (0.00s) --- PASS: TestNewCircuitBreaker/with_custom_config (0.00s) === RUN TestDisabledCircuitBreaker --- PASS: TestDisabledCircuitBreaker (0.00s) === RUN TestCircuitBreaker_CanProvision_RateLimit --- PASS: TestCircuitBreaker_CanProvision_RateLimit (0.00s) === RUN TestCircuitBreaker_CanProvision_ConcurrencyLimit --- PASS: TestCircuitBreaker_CanProvision_ConcurrencyLimit (0.00s) === RUN TestCircuitBreaker_FailureThreshold --- PASS: TestCircuitBreaker_FailureThreshold (0.00s) === RUN TestCircuitBreaker_RecoveryFlow --- PASS: TestCircuitBreaker_RecoveryFlow (0.10s) === RUN TestCircuitBreaker_HalfOpenFailureReturnsToOpen --- PASS: TestCircuitBreaker_HalfOpenFailureReturnsToOpen (0.10s) === RUN TestCircuitBreaker_ResetCountersAfterTime --- PASS: TestCircuitBreaker_ResetCountersAfterTime (0.00s) === RUN TestCircuitBreaker_RecordSuccessDecrementsConcurrency --- PASS: TestCircuitBreaker_RecordSuccessDecrementsConcurrency (0.00s) === RUN TestCircuitBreaker_RecordFailureDecrementsConcurrency --- PASS: TestCircuitBreaker_RecordFailureDecrementsConcurrency (0.00s) === RUN TestCircuitBreaker_GetState --- PASS: TestCircuitBreaker_GetState (0.00s) === RUN TestCircuitBreaker_CleanOldFailures --- PASS: TestCircuitBreaker_CleanOldFailures (0.11s) === RUN TestCircuitBreaker_ErrorTypes === RUN TestCircuitBreaker_ErrorTypes/CircuitBreakerError === RUN TestCircuitBreaker_ErrorTypes/RateLimitError === RUN TestCircuitBreaker_ErrorTypes/ConcurrencyLimitError --- PASS: TestCircuitBreaker_ErrorTypes (0.00s) --- PASS: TestCircuitBreaker_ErrorTypes/CircuitBreakerError (0.00s) --- PASS: TestCircuitBreaker_ErrorTypes/RateLimitError (0.00s) --- PASS: TestCircuitBreaker_ErrorTypes/ConcurrencyLimitError (0.00s) === RUN TestCircuitBreaker_ConcurrentAccess --- PASS: TestCircuitBreaker_ConcurrentAccess (0.00s) === RUN TestDefaultCircuitBreakerConfig --- PASS: TestDefaultCircuitBreakerConfig (0.00s) === RUN TestCircuitBreaker_IntegrationWithCloudProvider --- PASS: TestCircuitBreaker_IntegrationWithCloudProvider (0.00s) === RUN TestCircuitBreaker_ScaleUpStormPrevention circuitbreaker_test.go:629: Protection Summary: 2 successful, 8 rate limited, 0 circuit blocked --- PASS: TestCircuitBreaker_ScaleUpStormPrevention (0.00s) === RUN TestCircuitBreaker_EnhancedLogging === RUN TestCircuitBreaker_EnhancedLogging/single_timeout_error === RUN TestCircuitBreaker_EnhancedLogging/multiple_similar_errors === RUN TestCircuitBreaker_EnhancedLogging/mixed_error_types === RUN TestCircuitBreaker_EnhancedLogging/quota_limit_errors === RUN TestCircuitBreaker_EnhancedLogging/network_errors --- PASS: TestCircuitBreaker_EnhancedLogging (0.00s) --- PASS: TestCircuitBreaker_EnhancedLogging/single_timeout_error (0.00s) --- PASS: TestCircuitBreaker_EnhancedLogging/multiple_similar_errors (0.00s) --- PASS: TestCircuitBreaker_EnhancedLogging/mixed_error_types (0.00s) --- PASS: TestCircuitBreaker_EnhancedLogging/quota_limit_errors (0.00s) --- PASS: TestCircuitBreaker_EnhancedLogging/network_errors (0.00s) === RUN TestCircuitBreaker_SimplifyError === RUN TestCircuitBreaker_SimplifyError/timeout_error === RUN TestCircuitBreaker_SimplifyError/subnet_not_found === RUN TestCircuitBreaker_SimplifyError/security_group_not_found === RUN TestCircuitBreaker_SimplifyError/image_not_found === RUN TestCircuitBreaker_SimplifyError/quota_exceeded === RUN TestCircuitBreaker_SimplifyError/unauthorized === RUN TestCircuitBreaker_SimplifyError/insufficient_capacity === RUN TestCircuitBreaker_SimplifyError/invalid_configuration === RUN TestCircuitBreaker_SimplifyError/network_error === RUN TestCircuitBreaker_SimplifyError/long_error_truncated === RUN TestCircuitBreaker_SimplifyError/short_specific_error === RUN TestCircuitBreaker_SimplifyError/colon_separated_error --- PASS: TestCircuitBreaker_SimplifyError (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/timeout_error (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/subnet_not_found (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/security_group_not_found (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/image_not_found (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/quota_exceeded (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/unauthorized (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/insufficient_capacity (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/invalid_configuration (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/network_error (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/long_error_truncated (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/short_specific_error (0.00s) --- PASS: TestCircuitBreaker_SimplifyError/colon_separated_error (0.00s) === RUN TestCircuitBreaker_GetRecentFailuresSummary === RUN TestCircuitBreaker_GetRecentFailuresSummary/empty_failures === RUN TestCircuitBreaker_GetRecentFailuresSummary/single_failure === RUN TestCircuitBreaker_GetRecentFailuresSummary/multiple_same_failures === RUN TestCircuitBreaker_GetRecentFailuresSummary/mixed_failures === RUN TestCircuitBreaker_GetRecentFailuresSummary/too_many_failures_truncated === RUN TestCircuitBreaker_GetRecentFailuresSummary/old_failures_excluded --- PASS: TestCircuitBreaker_GetRecentFailuresSummary (0.00s) --- PASS: TestCircuitBreaker_GetRecentFailuresSummary/empty_failures (0.00s) --- PASS: TestCircuitBreaker_GetRecentFailuresSummary/single_failure (0.00s) --- PASS: TestCircuitBreaker_GetRecentFailuresSummary/multiple_same_failures (0.00s) --- PASS: TestCircuitBreaker_GetRecentFailuresSummary/mixed_failures (0.00s) --- PASS: TestCircuitBreaker_GetRecentFailuresSummary/too_many_failures_truncated (0.00s) --- PASS: TestCircuitBreaker_GetRecentFailuresSummary/old_failures_excluded (0.00s) === RUN TestCircuitBreaker_GetTimestampFromExample === RUN TestCircuitBreaker_GetTimestampFromExample/valid_timestamp === RUN TestCircuitBreaker_GetTimestampFromExample/invalid_format === RUN TestCircuitBreaker_GetTimestampFromExample/empty_string --- PASS: TestCircuitBreaker_GetTimestampFromExample (0.00s) --- PASS: TestCircuitBreaker_GetTimestampFromExample/valid_timestamp (0.00s) --- PASS: TestCircuitBreaker_GetTimestampFromExample/invalid_format (0.00s) --- PASS: TestCircuitBreaker_GetTimestampFromExample/empty_string (0.00s) === RUN TestCircuitBreaker_EnhancedErrorMessage --- PASS: TestCircuitBreaker_EnhancedErrorMessage (0.00s) === RUN TestCloudProvider_Create === RUN TestCloudProvider_Create/provider_factory_error_with_nil_client === RUN TestCloudProvider_Create/nodeclass_not_found === RUN TestCloudProvider_Create/instance_creation_failure_due_to_nil_client === RUN TestCloudProvider_Create/no_matching_instance_types --- PASS: TestCloudProvider_Create (0.70s) --- PASS: TestCloudProvider_Create/provider_factory_error_with_nil_client (0.68s) --- PASS: TestCloudProvider_Create/nodeclass_not_found (0.01s) --- PASS: TestCloudProvider_Create/instance_creation_failure_due_to_nil_client (0.01s) --- PASS: TestCloudProvider_Create/no_matching_instance_types (0.01s) === RUN TestCloudProvider_Create_CircuitBreakerEventPublishing --- PASS: TestCloudProvider_Create_CircuitBreakerEventPublishing (0.01s) === RUN TestCloudProvider_Create_EnhancedCircuitBreakerLogging --- PASS: TestCloudProvider_Create_EnhancedCircuitBreakerLogging (0.01s) === RUN TestCloudProvider_Create_NodeClaimLabelPopulation --- PASS: TestCloudProvider_Create_NodeClaimLabelPopulation (0.00s) === RUN TestCloudProvider_Delete === RUN TestCloudProvider_Delete/node_deletion_fails_due_to_nil_client === RUN TestCloudProvider_Delete/node_not_found_-_fails_due_to_nil_client === RUN TestCloudProvider_Delete/instance_deletion_failure --- PASS: TestCloudProvider_Delete (0.03s) --- PASS: TestCloudProvider_Delete/node_deletion_fails_due_to_nil_client (0.01s) --- PASS: TestCloudProvider_Delete/node_not_found_-_fails_due_to_nil_client (0.01s) --- PASS: TestCloudProvider_Delete/instance_deletion_failure (0.01s) === RUN TestCloudProvider_GetInstanceTypes === RUN TestCloudProvider_GetInstanceTypes/successful_get_instance_types === RUN TestCloudProvider_GetInstanceTypes/provider_error === RUN TestCloudProvider_GetInstanceTypes/empty_instance_types --- PASS: TestCloudProvider_GetInstanceTypes (0.02s) --- PASS: TestCloudProvider_GetInstanceTypes/successful_get_instance_types (0.01s) --- PASS: TestCloudProvider_GetInstanceTypes/provider_error (0.01s) --- PASS: TestCloudProvider_GetInstanceTypes/empty_instance_types (0.01s) === RUN TestCloudProvider_IsDrifted === RUN TestCloudProvider_IsDrifted/no_drift === RUN TestCloudProvider_IsDrifted/nodeclaim_with_hash_drift === RUN TestCloudProvider_IsDrifted/image_drift_when_image_differs --- PASS: TestCloudProvider_IsDrifted (0.02s) --- PASS: TestCloudProvider_IsDrifted/no_drift (0.01s) --- PASS: TestCloudProvider_IsDrifted/nodeclaim_with_hash_drift (0.01s) --- PASS: TestCloudProvider_IsDrifted/image_drift_when_image_differs (0.01s) === RUN TestCloudProvider_IsDrifted_SubnetDrift_WhenStoredSubnetNotSelected --- PASS: TestCloudProvider_IsDrifted_SubnetDrift_WhenStoredSubnetNotSelected (0.01s) === RUN TestCloudProvider_IsDrifted_NoSubnetDrift_WhenStoredSubnetStillSelected --- PASS: TestCloudProvider_IsDrifted_NoSubnetDrift_WhenStoredSubnetStillSelected (0.01s) === RUN TestCloudProvider_IsDrifted_SubnetCheck_SkipsWhenNoSubnetsDiscovered --- PASS: TestCloudProvider_IsDrifted_SubnetCheck_SkipsWhenNoSubnetsDiscovered (0.01s) === RUN TestCloudProvider_IsDrifted_NoSubnetDrift_WhenExplicitSubnetMatches --- PASS: TestCloudProvider_IsDrifted_NoSubnetDrift_WhenExplicitSubnetMatches (0.01s) === RUN TestCloudProvider_IsDrifted_SubnetDrift_WhenExplicitSubnetChanged --- PASS: TestCloudProvider_IsDrifted_SubnetDrift_WhenExplicitSubnetChanged (0.01s) === RUN TestCloudProvider_IsDrifted_SecurityGroupDrift_WhenSGsDoNotMatch --- PASS: TestCloudProvider_IsDrifted_SecurityGroupDrift_WhenSGsDoNotMatch (0.01s) === RUN TestCloudProvider_IsDrifted_NoSecurityGroupDrift_WhenSGsMatch --- PASS: TestCloudProvider_IsDrifted_NoSecurityGroupDrift_WhenSGsMatch (0.01s) === RUN TestCloudProvider_IsDrifted_SecurityGroupCheck_SkipsWhenNoAnnotation --- PASS: TestCloudProvider_IsDrifted_SecurityGroupCheck_SkipsWhenNoAnnotation (0.01s) === RUN TestCloudProvider_IsDrifted_RecordsMetrics === RUN TestCloudProvider_IsDrifted_RecordsMetrics/no_drift_-_duration_recorded,_counter_not_incremented === RUN TestCloudProvider_IsDrifted_RecordsMetrics/hash_drift_-_counter_incremented === RUN TestCloudProvider_IsDrifted_RecordsMetrics/image_drift_-_counter_incremented --- PASS: TestCloudProvider_IsDrifted_RecordsMetrics (0.02s) --- PASS: TestCloudProvider_IsDrifted_RecordsMetrics/no_drift_-_duration_recorded,_counter_not_incremented (0.01s) --- PASS: TestCloudProvider_IsDrifted_RecordsMetrics/hash_drift_-_counter_incremented (0.01s) --- PASS: TestCloudProvider_IsDrifted_RecordsMetrics/image_drift_-_counter_incremented (0.01s) === RUN TestCloudProvider_Get === RUN TestCloudProvider_Get/get_fails_due_to_nil_client === RUN TestCloudProvider_Get/node_not_found === RUN TestCloudProvider_Get/instance_provider_error --- PASS: TestCloudProvider_Get (0.04s) --- PASS: TestCloudProvider_Get/get_fails_due_to_nil_client (0.01s) --- PASS: TestCloudProvider_Get/node_not_found (0.01s) --- PASS: TestCloudProvider_Get/instance_provider_error (0.01s) === RUN TestCloudProvider_RepairPolicies --- PASS: TestCloudProvider_RepairPolicies (0.00s) === RUN TestCloudProvider_Name --- PASS: TestCloudProvider_Name (0.00s) === RUN TestCloudProvider_GetSupportedNodeClasses --- PASS: TestCloudProvider_GetSupportedNodeClasses (0.00s) === RUN TestCloudProvider_List === RUN TestCloudProvider_List/list_nodes_with_karpenter_label === RUN TestCloudProvider_List/no_nodes --- PASS: TestCloudProvider_List (0.02s) --- PASS: TestCloudProvider_List/list_nodes_with_karpenter_label (0.01s) --- PASS: TestCloudProvider_List/no_nodes (0.01s) === RUN TestNodeClassCircuitBreakerManager Running Suite: NodeClassCircuitBreakerManager Suite - /home/josie/development/kubernetes/karpenter-ibm/pkg/cloudprovider ======================================================================================================================== Random Seed: