rundeck-plugins / rundeck-s3-log-plugin

Store execution logs in Amazon S3 buckets
Apache License 2.0
32 stars 26 forks source link

Doesn't work with S3 Compatible DELL EMC ECS storage #44

Open ChBerrich opened 3 years ago

ChBerrich commented 3 years ago

Possibly something wrong with my config, but I can't work it out. Any thoughts would be greatly appreciated.

Describe the bug: After many try with different configuration, I not able to have rundeck-s3-log-plugin work with S3 Compatible DELL EMC ECS storage platform

My Rundeck detail: Rundeck version: Community 3.4.3 Install type: Container on Kubernetes

My plugin config: framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.AWSAccessKeyId=abc... framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.AWSSecretKey=xyz... framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.bucket=test-rundeck-logs framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.path=logs/${job.project}/${job.execid}.log framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.region=us-east-1 framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.endpoint=https://mystorage.domain.com framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.pathstyle=false framework.plugin.ExecutionFileStorage.org.rundeck.amazon-s3.forceSigV4=true

Stacktrace: [2021-08-29T21:38:50,186] INFO web.requests "GET /rundeck/execution/ajaxExecState/1" 127.0.0.1 http admin form 88 ? [application/json;charset=utf-8] (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Edg/92.0.902.84) [2021-08-29T21:38:50,377] ERROR plugins.S3LogFileStoragePlugin - The specified bucket does not exist (Service: Amazon S3; Status Code: 404; Error Code: NoSuchBucket; Request ID: 0a582f25:17b6dd11a08:c8e5:436; S3 Extended Request ID: null; Proxy: null) com.amazonaws.services.s3.model.AmazonS3Exception: The specified bucket does not exist (Service: Amazon S3; Status Code: 404; Error Code: NoSuchBucket; Request ID: 0a582f25:17b6dd11a08:c8e5:436; S3 Extended Request ID: null; Proxy: null) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1862) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1415) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1384) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1154) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:811) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:779) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:753) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:713) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:695) ~[?:?] at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:559) ~[?:?] at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:539) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5438) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5385) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.access$300(AmazonS3Client.java:421) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client$PutObjectStrategy.invokeServiceCall(AmazonS3Client.java:6509) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.uploadObject(AmazonS3Client.java:1857) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1817) ~[?:?] at org.rundeck.plugins.S3LogFileStoragePlugin.storePath(S3LogFileStoragePlugin.java:349) ~[?:?] at org.rundeck.plugins.S3LogFileStoragePlugin.store(S3LogFileStoragePlugin.java:323) ~[?:?] at org.rundeck.plugins.S3LogFileStoragePlugin.storeMultiple(S3LogFileStoragePlugin.java:369) ~[?:?] at com.dtolabs.rundeck.core.logging.ExecutionMultiFileStorage$storeMultiple.call(Unknown Source) ~[?:?] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) ~[groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService.storeMultiLogFiles(LogFileStorageService.groovy:1945) ~[classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:58) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:192) ~[groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService.storeLogFiles(LogFileStorageService.groovy:1897) ~[classes!/:?] at rundeck.services.LogFileStorageService.storeLogFiles(LogFileStorageService.groovy) ~[classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:192) ~[groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService$ttrunStorageRequest_closure95.doCall(LogFileStorageService.groovy:298) ~[classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:405) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:421) ~[groovy-2.5.6.jar!/:2.5.6] at org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:297) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:241) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.orm.hibernate.GrailsHibernateTemplate.executeWithNewSession(GrailsHibernateTemplate.java:153) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.orm.hibernate.AbstractHibernateDatastore.withNewSession(AbstractHibernateDatastore.java:360) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.orm.hibernate.AbstractHibernateGormStaticApi.withNewSession(AbstractHibernateGormStaticApi.groovy:82) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.datastore.gorm.GormEntity$Trait$Helper.withNewSession(GormEntity.groovy:1027) [grails-datastore-gorm-7.0.4.RELEASE.jar!/:?] at org.grails.datastore.gorm.GormEntity$Trait$Helper$withNewSession$19.call(Unknown Source) [grails-datastore-gorm-7.0.4.RELEASE.jar!/:?] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135) [groovy-2.5.6.jar!/:2.5.6] at rundeck.LogFileStorageRequest.withNewSession(LogFileStorageRequest.groovy) [classes!/:?] at rundeck.LogFileStorageRequest$withNewSession$3.call(Unknown Source) [classes!/:?] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) [groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService.$tt__runStorageRequest(LogFileStorageService.groovy:292) [classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:1011) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:994) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:97) [groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService$_runStorageRequest_closure16.doCall(LogFileStorageService.groovy) [classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:405) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:421) [groovy-2.5.6.jar!/:2.5.6] at grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94) [grails-datastore-gorm-7.0.4.RELEASE.jar!/:?] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) [spring-tx-5.1.18.RELEASE.jar!/:5.1.18.RELEASE] at grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91) [grails-datastore-gorm-7.0.4.RELEASE.jar!/:?] at rundeck.services.LogFileStorageService.runStorageRequest(LogFileStorageService.groovy) [classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168) [groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService$_afterPropertiesSet_closure1$_closure119.doCall(LogFileStorageService.groovy:159) [classes!/:?] at rundeck.services.LogFileStorageService$_afterPropertiesSet_closure1$_closure119.doCall(LogFileStorageService.groovy) [classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:405) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:399) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.run(Closure.java:486) [groovy-2.5.6.jar!/:2.5.6] at org.springframework.core.task.SimpleAsyncTaskExecutor$ConcurrencyThrottlingRunnable.run(SimpleAsyncTaskExecutor.java:280) [spring-core-5.1.18.RELEASE.jar!/:5.1.18.RELEASE] at java.lang.Thread.run(Thread.java:834) [?:?] [2021-08-29T21:38:50,509] ERROR plugins.S3LogFileStoragePlugin - The specified bucket does not exist (Service: Amazon S3; Status Code: 404; Error Code: NoSuchBucket; Request ID: 0a582f20:17b6f1cdb66:d0f1:d58; S3 Extended Request ID: null; Proxy: null) com.amazonaws.services.s3.model.AmazonS3Exception: The specified bucket does not exist (Service: Amazon S3; Status Code: 404; Error Code: NoSuchBucket; Request ID: 0a582f20:17b6f1cdb66:d0f1:d58; S3 Extended Request ID: null; Proxy: null) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1862) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1415) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1384) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1154) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:811) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:779) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:753) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:713) ~[?:?] at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:695) ~[?:?] at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:559) ~[?:?] at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:539) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5438) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:5385) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.access$300(AmazonS3Client.java:421) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client$PutObjectStrategy.invokeServiceCall(AmazonS3Client.java:6509) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.uploadObject(AmazonS3Client.java:1857) ~[?:?] at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1817) ~[?:?] at org.rundeck.plugins.S3LogFileStoragePlugin.storePath(S3LogFileStoragePlugin.java:349) ~[?:?] at org.rundeck.plugins.S3LogFileStoragePlugin.store(S3LogFileStoragePlugin.java:323) ~[?:?] at org.rundeck.plugins.S3LogFileStoragePlugin.storeMultiple(S3LogFileStoragePlugin.java:369) ~[?:?] at com.dtolabs.rundeck.core.logging.ExecutionMultiFileStorage$storeMultiple.call(Unknown Source) ~[?:?] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) ~[groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService.storeMultiLogFiles(LogFileStorageService.groovy:1945) ~[classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:58) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:192) ~[groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService.storeLogFiles(LogFileStorageService.groovy:1897) ~[classes!/:?] at rundeck.services.LogFileStorageService.storeLogFiles(LogFileStorageService.groovy) ~[classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:192) ~[groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService$ttrunStorageRequest_closure95.doCall(LogFileStorageService.groovy:298) ~[classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) ~[groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:405) ~[groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:421) ~[groovy-2.5.6.jar!/:2.5.6] at org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:297) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:241) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.orm.hibernate.GrailsHibernateTemplate.executeWithNewSession(GrailsHibernateTemplate.java:153) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.orm.hibernate.AbstractHibernateDatastore.withNewSession(AbstractHibernateDatastore.java:360) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.orm.hibernate.AbstractHibernateGormStaticApi.withNewSession(AbstractHibernateGormStaticApi.groovy:82) [grails-datastore-gorm-hibernate5-7.0.3.RELEASE.jar!/:?] at org.grails.datastore.gorm.GormEntity$Trait$Helper.withNewSession(GormEntity.groovy:1027) [grails-datastore-gorm-7.0.4.RELEASE.jar!/:?] at org.grails.datastore.gorm.GormEntity$Trait$Helper$withNewSession$19.call(Unknown Source) [grails-datastore-gorm-7.0.4.RELEASE.jar!/:?] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135) [groovy-2.5.6.jar!/:2.5.6] at rundeck.LogFileStorageRequest.withNewSession(LogFileStorageRequest.groovy) [classes!/:?] at rundeck.LogFileStorageRequest$withNewSession$3.call(Unknown Source) [classes!/:?] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) [groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService.$tt__runStorageRequest(LogFileStorageService.groovy:292) [classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:1011) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:994) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.InvokerHelper.invokeMethodSafe(InvokerHelper.java:97) [groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService$_runStorageRequest_closure16.doCall(LogFileStorageService.groovy) [classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:405) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:421) [groovy-2.5.6.jar!/:2.5.6] at grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94) [grails-datastore-gorm-7.0.4.RELEASE.jar!/:?] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) [spring-tx-5.1.18.RELEASE.jar!/:5.1.18.RELEASE] at grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91) [grails-datastore-gorm-7.0.4.RELEASE.jar!/:?] at rundeck.services.LogFileStorageService.runStorageRequest(LogFileStorageService.groovy) [classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:351) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:64) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:168) [groovy-2.5.6.jar!/:2.5.6] at rundeck.services.LogFileStorageService$_afterPropertiesSet_closure1$_closure119.doCall(LogFileStorageService.groovy:159) [classes!/:?] at rundeck.services.LogFileStorageService$_afterPropertiesSet_closure1$_closure119.doCall(LogFileStorageService.groovy) [classes!/:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) [groovy-2.5.6.jar!/:2.5.6] at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:405) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.call(Closure.java:399) [groovy-2.5.6.jar!/:2.5.6] at groovy.lang.Closure.run(Closure.java:486) [groovy-2.5.6.jar!/:2.5.6] at org.springframework.core.task.SimpleAsyncTaskExecutor$ConcurrencyThrottlingRunnable.run(SimpleAsyncTaskExecutor.java:280) [spring-core-5.1.18.RELEASE.jar!/:5.1.18.RELEASE] at java.lang.Thread.run(Thread.java:834) [?:?]

Additional information: Test with AWS CLI to check my endpoint work : aws s3 ls test-rundeck-logs --endpoint-url="https://mystorage.domain.com"