New S3 failure after upgrades

I have been using localstack locally for over 2 years to emulate AWS S3 locally, and since today all my S3 API calls are failing with this error:

2024-11-26T11:52:01.993 DEBUG --- [et.reactor-0] l.a.p.service_router       : building service catalog index cache file /var/lib/localstack/cache/service-catalog-4_0_2-1_35_63.pickle
2024-11-26T11:56:59.214 ERROR --- [et.reactor-0] l.aws.handlers.logging     : exception during call chain
Traceback (most recent call last):
  File "/opt/code/localstack/.venv/lib/python3.11/site-packages/rolo/gateway/chain.py", line 166, in handle
    handler(self, self.context, response)
  File "/opt/code/localstack/localstack-core/localstack/aws/handlers/service_plugin.py", line 36, in __call__
    return self.require_service(chain, context, response)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/code/localstack/localstack-core/localstack/aws/handlers/service_plugin.py", line 47, in require_service
    raise NotImplementedError
NotImplementedError
2024-11-26T11:56:59.216  INFO --- [et.reactor-0] l.aws.handlers.service     : API for service 's3' not yet implemented or pro feature - please check https://docs.localstack.cloud/references/coverage/ for further information
2024-11-26T11:56:59.219  INFO --- [et.reactor-0] localstack.request.aws     : AWS s3.HeadBucket => 501 (InternalFailure)

I had been using :latest until today, I tried localstack:localstack:4.0.2 and the error is the same.

The version are:

$ mvn dependency:tree | grep aws
[INFO] +- software.amazon.awssdk:apache-client:jar:2.20.97:compile
...
[INFO] +- software.amazon.awssdk:s3:jar:2.20.101:compile
...
 LocalStack version: 4.0.2
 LocalStack build date: 2024-11-23
 LocalStack build git hash: 5f457e592

The only thing that changed, that I can think of, is some host names / DNS setup on the calling side (a Quarkus app) because I am putting all my local services behind an nginx reverse proxy. localstack is still running in its docker container, exposed at localhost:

jpn790n5msb5   easypass_s3                 global    1/1        localstack/localstack:4.0.2   *:4510-4559->4510-4559/tcp, *:4566->4566/tcp

Any idea on what could be causing this?

Thanks!
Franck

On the Java/Quarkus side the exception is:

Caused by: software.amazon.awssdk.services.s3.model.S3Exception: null (Service: S3, Status Code: 501, Request ID: 33d4f274-72dc-4140-8955-c354ef5a4d71, Extended Request ID: s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=)
	at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handleErrorResponse(AwsXmlPredicatedResponseHandler.java:156)
	at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handleResponse(AwsXmlPredicatedResponseHandler.java:108)
	at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handle(AwsXmlPredicatedResponseHandler.java:85)
	at software.amazon.awssdk.protocols.xml.internal.unmarshall.AwsXmlPredicatedResponseHandler.handle(AwsXmlPredicatedResponseHandler.java:43)
	at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler$Crc32ValidationResponseHandler.handle(AwsSyncClientHandler.java:95)
	at software.amazon.awssdk.core.internal.handler.BaseClientHandler.lambda$successTransformationResponseHandler$7(BaseClientHandler.java:270)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:40)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.HandleResponseStage.execute(HandleResponseStage.java:30)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:72)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:42)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:78)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:40)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:52)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:37)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:81)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:36)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:56)
	at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:36)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:48)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:31)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
	at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
	at software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:193)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:171)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:82)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:179)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:76)
	at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
	at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:56)
	at software.amazon.awssdk.services.s3.DefaultS3Client.headBucket(DefaultS3Client.java:5256)
	at com.easypass.core.service.S3Store._bucketExists(S3Store.java:218)
	at com.easypass.core.service.S3Store.lambda$_getBucketName$2(S3Store.java:202)

I have changed my startup configuration to explicitly use S3 and to load plugins on startup; and yet I don’t see amy S3 plugin being loaded (full log included below).
I also deleted the volume just in case, none of this helped…

s3:
    image: localstack/localstack:4.0.2
    ports:
      - 4566:4566            # LocalStack Gateway
      - 4510-4559:4510-4559  # external services port range
    networks:
      internal:
    deploy:
      mode: global
    environment:
      - DEBUG=1
      - DOCKER_HOST=unix:///var/run/docker.sock
      - PROVIDER_OVERRIDE_S3=v3
      - EAGER_SERVICE_LOADING=1
      - SERVICES=s3
    volumes:
      - "s3-buckets:/var/lib/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"

Full server log - any pointer would be greatly appreciated… thanks!
Franck

easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | LocalStack supervisor: starting
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | LocalStack supervisor: localstack process (PID 13) starting
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.082 DEBUG --- [  MainThread] l.utils.docker_utils       : Using SdkDockerClient. LEGACY_DOCKER_CLIENT: False, SDK installed: True
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.198  WARN --- [  MainThread] l.services.internal        : Enabling diagnose endpoint, please be aware that this can expose sensitive information via your network.
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.204 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.runtime.components.aws = <class 'localstack.aws.components.AwsComponents'>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.204 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.runtime.components:aws
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | LocalStack version: 4.0.2
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | LocalStack build date: 2024-11-23
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | LocalStack build git hash: 5f457e592
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.204 DEBUG --- [  MainThread] localstack.utils.run       : Executing command: rm -rf "/tmp/localstack"
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start._patch_botocore_endpoint_in_memory = <function _patch_botocore_endpoint_in_memory at 0xffff9d97f240>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : plugin localstack.hooks.on_infra_start:_patch_botocore_endpoint_in_memory is disabled, reason: Load condition for plugin was false
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start._patch_botocore_json_parser = <function _patch_botocore_json_parser at 0xffff9d97ee80>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:_patch_botocore_json_parser
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start._patch_cbor2 = <function _patch_cbor2 at 0xffff9d97efc0>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:_patch_cbor2
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start._publish_config_as_analytics_event = <function _publish_config_as_analytics_event at 0xffff9c7b1760>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:_publish_config_as_analytics_event
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start._publish_container_info = <function _publish_container_info at 0xffff9c7b1b20>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:_publish_container_info
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start._run_init_scripts_on_start = <function _run_init_scripts_on_start at 0xffff9c74b600>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:_run_init_scripts_on_start
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.apply_aws_runtime_patches = <function apply_aws_runtime_patches at 0xffff9c7b1e40>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:apply_aws_runtime_patches
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.apply_runtime_patches = <function apply_runtime_patches at 0xffff9c7b2200>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:apply_runtime_patches
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.conditionally_enable_debugger = <function conditionally_enable_debugger at 0xffff9c7b2660>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:conditionally_enable_debugger
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.delete_cached_certificate = <function delete_cached_certificate at 0xffff9c7b2a20>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : plugin localstack.hooks.on_infra_start:delete_cached_certificate is disabled, reason: Load condition for plugin was false
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.deprecation_warnings = <function deprecation_warnings at 0xffff9c7b2840>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:deprecation_warnings
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.register_cloudformation_deploy_ui = <function register_cloudformation_deploy_ui at 0xffff9c7b2de0>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:register_cloudformation_deploy_ui
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.register_custom_endpoints = <function register_custom_endpoints at 0xffff9c653060>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:register_custom_endpoints
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.register_swagger_endpoints = <function register_swagger_endpoints at 0xffff9c558680>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:register_swagger_endpoints
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.setup_dns_configuration_on_host = <function setup_dns_configuration_on_host at 0xffff9c5589a0>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:setup_dns_configuration_on_host
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.start_dns_server = <function start_dns_server at 0xffff9c558860>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:start_dns_server
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_start.validate_configuration = <function validate_configuration at 0xffff9c652f20>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.220 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_start:validate_configuration
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.251 DEBUG --- [  MainThread] localstack.dns.server      : Determined fallback dns: 127.0.0.11
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.251 DEBUG --- [  MainThread] localstack.dns.server      : Starting DNS servers (tcp/udp port 53 on 0.0.0.0)...
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.251 DEBUG --- [  MainThread] localstack.dns.server      : Adding host .*localhost.localstack.cloud pointing to LocalStack
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.251 DEBUG --- [  MainThread] localstack.dns.server      : Adding host .*localhost.localstack.cloud with record DynamicRecord(record_type=<RecordType.A: 1>, record_id=None)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.251 DEBUG --- [  MainThread] localstack.dns.server      : Adding host .*localhost.localstack.cloud with record DynamicRecord(record_type=<RecordType.AAAA: 2>, record_id=None)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:22.252 DEBUG --- [-functhread1] localstack.dns.server      : DNS Server started
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.268 DEBUG --- [  MainThread] localstack.dns.server      : DNS server startup finished.
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.275 DEBUG --- [  MainThread] localstack.runtime.init    : Init scripts discovered: {BOOT: [], START: [], READY: [], SHUTDOWN: []}
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.275 DEBUG --- [  MainThread] localstack.plugins         : Checking for the usage of deprecated community features and configs...
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.322 DEBUG --- [  MainThread] localstack.dns.server      : Overwriting container DNS server to point to localhost
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.323 DEBUG --- [  MainThread] localstack.utils.ssl       : Attempting to download local SSL certificate file
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.398 DEBUG --- [  MainThread] localstack.utils.ssl       : SSL certificate downloaded successfully
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.399 DEBUG --- [  MainThread] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.runtime.server.twisted = <class 'localstack.runtime.server.plugins.TwistedRuntimeServerPlugin'>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.399 DEBUG --- [  MainThread] plux.runtime.manager       : loading plugin localstack.runtime.server:twisted
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.459 DEBUG --- [ady_monitor)] plux.runtime.manager       : instantiating plugin PluginSpec(localstack.hooks.on_infra_ready._run_init_scripts_on_ready = <function _run_init_scripts_on_ready at 0xffff9c74b740>)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:23.459 DEBUG --- [ady_monitor)] plux.runtime.manager       : loading plugin localstack.hooks.on_infra_ready:_run_init_scripts_on_ready
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | Ready.
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T14:59:32.043 DEBUG --- [et.reactor-0] l.a.p.service_router       : building service catalog index cache file /var/lib/localstack/cache/service-catalog-4_0_2-1_35_63.pickle
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T15:01:57.988 ERROR --- [et.reactor-0] l.aws.handlers.logging     : exception during call chain
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | Traceback (most recent call last):
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |   File "/opt/code/localstack/.venv/lib/python3.11/site-packages/rolo/gateway/chain.py", line 166, in handle
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |     handler(self, self.context, response)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |   File "/opt/code/localstack/localstack-core/localstack/aws/handlers/service_plugin.py", line 36, in __call__
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |     return self.require_service(chain, context, response)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |   File "/opt/code/localstack/localstack-core/localstack/aws/handlers/service_plugin.py", line 47, in require_service
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |     raise NotImplementedError
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | NotImplementedError
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T15:01:57.990  INFO --- [et.reactor-0] l.aws.handlers.service     : API for service 's3' not yet implemented or pro feature - please check https://docs.localstack.cloud/references/coverage/ for further information
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T15:01:57.992  INFO --- [et.reactor-0] localstack.request.aws     : AWS s3.HeadBucket => 501 (InternalFailure)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T15:01:58.285 ERROR --- [et.reactor-0] l.aws.handlers.logging     : exception during call chain
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | Traceback (most recent call last):
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |   File "/opt/code/localstack/.venv/lib/python3.11/site-packages/rolo/gateway/chain.py", line 166, in handle
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |     handler(self, self.context, response)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |   File "/opt/code/localstack/localstack-core/localstack/aws/handlers/service_plugin.py", line 36, in __call__
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |     return self.require_service(chain, context, response)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |   File "/opt/code/localstack/localstack-core/localstack/aws/handlers/service_plugin.py", line 47, in require_service
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |     raise NotImplementedError
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | NotImplementedError
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T15:01:58.285  INFO --- [et.reactor-0] l.aws.handlers.service     : API for service 's3' not yet implemented or pro feature - please check https://docs.localstack.cloud/references/coverage/ for further information
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T15:01:58.286  INFO --- [et.reactor-0] localstack.request.aws     : AWS s3.HeadBucket => 501 (InternalFailure)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T15:02:57.263 ERROR --- [et.reactor-0] l.aws.handlers.logging     : exception during call chain
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | Traceback (most recent call last):
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |   File "/opt/code/localstack/.venv/lib/python3.11/site-packages/rolo/gateway/chain.py", line 166, in handle
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |     handler(self, self.context, response)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |   File "/opt/code/localstack/localstack-core/localstack/aws/handlers/service_plugin.py", line 36, in __call__
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |     return self.require_service(chain, context, response)
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |   File "/opt/code/localstack/localstack-core/localstack/aws/handlers/service_plugin.py", line 47, in require_service
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    |     raise NotImplementedError
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | NotImplementedError
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T15:02:57.266  INFO --- [et.reactor-0] l.aws.handlers.service     : API for service 's3' not yet implemented or pro feature - please check https://docs.localstack.cloud/references/coverage/ for further information
easypass_s3.0.ym4uc8gjfmnh@docker-desktop    | 2024-11-26T15:02:57.269  INFO --- [et.reactor-0] localstack.request.aws     : AWS s3.HeadBucket => 501 (InternalFailure)

Hello @franck102 and thanks for your report!

With LocalStack 4.0, we’ve removed the legacy S3 implementation, and with that, ways to select it. Could you please remove PROVIDER_OVERRIDE_S3=v3 from your configuration? This will fix the issue for you. (You will still use the same implementation as before, v3 has been the default since LocalStack 3.0).

You can also remove the SERVICES and EAGER_SERVICE_LOADING if you’d like.

Thank you!

That did the trick, thanks a lot!

Franck

1 Like