Describe the bug Trying to use spring cloud config server with s3 as backend and using proxy credentials to connect to AWS s3. And got this exception when I have .credentials file in /.aws/ directory. I have embedded config server in one application.
bootstrap.yml
spring:
profiles:
active: awss3
cloud:
config:
server:
awss3:
region: us-east-1
bucket: sample-bucket
default-label: sample-config
default-profile: test
default-application-name: awss3-demo
bootstrap: true
application.yml
server:
port: 8080
Sample Got below exception in AwsS3EnvironmentRepository.java class when finding the config file in s3 with the default credentials eYaml = {SdkClientException@5620)com.amazonaws.SdkClientException: Unable to execute HTTP request: Connection reset
Any Help will be great. Thank you.
Comment From: spencergibb
please only put one issue per github issue
Comment From: spencergibb
is there a full stack trace anywhere?
Comment From: srikanth550
I have this stack trace for now...will find some more info soon
org.springframework.cloud.config.server.environment.NoSuchRepositoryException: No such repository: (bucket: Sample-bucket, key: sample-config/application-awss3(.properties | .yml | .json), versionId: null)
at org.springframework.cloud.config.server.environment.AwsS3EnvironmentRepository.findOne(AwsS3EnvironmentRepository.java:92) ~[spring-cloud-config-server-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.cloud.config.server.environment.EnvironmentRepository.findOne(EnvironmentRepository.java:31) ~[spring-cloud-config-server-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.cloud.config.server.environment.EnvironmentRepositoryPropertySourceLocator.locate(EnvironmentRepositoryPropertySourceLocator.java:55) ~[spring-cloud-config-server-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration.initialize(PropertySourceBootstrapConfiguration.java:98) ~[spring-cloud-context-2.2.0.RELEASE.jar:2.2.0.RELEASE]
at org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:626) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:370) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.6.RELEASE.jar:2.2.6.RELEASE]
at com.example.demo.DemoClientApplication.main(DemoClientApplication.java:11) [classes/:na]
Comment From: spencergibb
Please learn how to properly format code and logs.
That looks like the exception for #1633 not "Connection reset"
Comment From: srikanth550
Thanks for the Info.
But before looking for that file, application is not able to access Aws s3 bucket. Getting this exception when I debug eYaml = {SdkClientException@5620)com.amazonaws.SdkClientException: Unable to execute HTTP request: Connection reset
Comment From: spencergibb
I see you commented on https://github.com/aws/aws-sdk-java/issues/2064 I don't see how I can help when it sounds like a networking issue.
Comment From: srikanth550
How to set specific amazon profile in bootstrap.yml when using s3Client?
Comment From: srikanth550
@spencergibb This is the stacktrace when connecting to aws s3 bucket to get application config
Here is the stack trace
stackTrace = {StackTraceElement[25]@5621}
0 = {StackTraceElement@5624} "com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleRetryableException(AmazonHttpClient.java:1136)"
1 = {StackTraceElement@5625} "com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1082)"
2 = {StackTraceElement@5626} "com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:745)"
3 = {StackTraceElement@5627} "com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:719)"
4 = {StackTraceElement@5628} "com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:701)"
5 = {StackTraceElement@5629} "com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:669)"
6 = {StackTraceElement@5630} "com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:651)"
7 = {StackTraceElement@5631} "com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:515)"
8 = {StackTraceElement@5632} "com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4443)"
9 = {StackTraceElement@5633} "com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4390)"
10 = {StackTraceElement@5634} "com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1427)"
11 = {StackTraceElement@5635} "org.springframework.cloud.config.server.environment.AwsS3EnvironmentRepository.getS3ConfigFile(AwsS3EnvironmentRepository.java:139)"
12 = {StackTraceElement@5636} "org.springframework.cloud.config.server.environment.AwsS3EnvironmentRepository.getS3ConfigFile(AwsS3EnvironmentRepository.java:120)"
13 = {StackTraceElement@5637} "org.springframework.cloud.config.server.environment.AwsS3EnvironmentRepository.findOne(AwsS3EnvironmentRepository.java:87)"
14 = {StackTraceElement@5638} "org.springframework.cloud.config.server.environment.EnvironmentRepository.findOne(EnvironmentRepository.java:31)"
15 = {StackTraceElement@5639} "org.springframework.cloud.config.server.environment.EnvironmentRepositoryPropertySourceLocator.locate(EnvironmentRepositoryPropertySourceLocator.java:55)"
16 = {StackTraceElement@5640} "org.springframework.cloud.bootstrap.config.PropertySourceLocator.locateCollection(PropertySourceLocator.java:52)"
17 = {StackTraceElement@5641} "org.springframework.cloud.bootstrap.config.PropertySourceLocator.locateCollection(PropertySourceLocator.java:47)"
18 = {StackTraceElement@5642} "org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfiguration.initialize(PropertySourceBootstrapConfiguration.java:98)"
19 = {StackTraceElement@5643} "org.springframework.boot.SpringApplication.applyInitializers(SpringApplication.java:626)"
20 = {StackTraceElement@5644} "org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:370)"
21 = {StackTraceElement@5645} "org.springframework.boot.SpringApplication.run(SpringApplication.java:314)"
22 = {StackTraceElement@5646} "org.springframework.boot.SpringApplication.run(SpringApplication.java:1226)"
23 = {StackTraceElement@5647} "org.springframework.boot.SpringApplication.run(SpringApplication.java:1215)"
24 = {StackTraceElement@5648} "com.example.demo.DemoClientApplication.main(DemoClientApplication.java:11)"
do you know how to set proxy config for aws type in composite config?
Comment From: spencergibb
I doesn't look like you can set proxy config directly for the client.