JetBrains / teamcity-aws-codedeploy-plugin

Build runner for deploying application to AWS EC2 and on-premise instances using AWS CodeDeploy
https://confluence.jetbrains.com/display/TW/AWS+CodeDeploy+Runner
Apache License 2.0
11 stars 7 forks source link

Having Issues after updating to new Detached Build Status handler #24

Open grispin opened 3 years ago

grispin commented 3 years ago

The CodeDeploy deployment is created successfully but the monitoring of the deployment fails immediately upon first check. A the exception from the log is included below.

Have tried multiple different credential passing methods and all generate the similar results. The same credentials were tested from the same system using the aws-cli and worked.

Teamcity 2021.1 (build 92597) AWS CodeDeploy Plugin - SNAPSHOT-202105281112

[2021-06-08 22:51:47,786] DEBUG - jetbrains.buildServer.SERVER - Added build problem BuildProblemData{myIdentity=TC_DETACHED_BUILD_STATUS_UPDATE_FAILURE-756661216, myType='TC_DETACHED_BUILD_STATUS_UPDATE_FAILURE', myDescription='Exception while updating build status with AWS CodeDeploy'} for build promotion 408 [2021-06-08 22:51:47,796] WARN - .impl.DetachedBuildTrackerImpl - Exception while updating detached build #100123 {build id=408, buildTypeId=T4bi_Libraries_T4pa_DeployAuw2p1} with AWS CodeDeploy, build will finish: com.amazonaws.services.codedeploy.model.AmazonCodeDeployException: The security token included in the request is invalid. (Service: AmazonCodeDeploy; Status Code: 400; Error Code: UnrecognizedClientException; Request ID: f998ee58-968a-414c-ac30-00e5887fb5a9; Proxy: null) [2021-06-08 22:51:47,797] DEBUG - .impl.DetachedBuildTrackerImpl - Exception while updating detached build #100123 {build id=408, buildTypeId=T4bi_Libraries_T4pa_DeployAuw2p1} with AWS CodeDeploy, build will finish com.amazonaws.services.codedeploy.model.AmazonCodeDeployException: The security token included in the request is invalid. (Service: AmazonCodeDeploy; Status Code: 400; Error Code: UnrecognizedClientException; Request ID: f998ee58-968a-414c-ac30-00e5887fb5a9; Proxy: null) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1828) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleServiceErrorResponse(AmazonHttpClient.java:1412) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1374) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1145) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:802) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:770) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:744) at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:704) at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:686) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:550) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:530) at com.amazonaws.services.codedeploy.AmazonCodeDeployClient.doInvoke(AmazonCodeDeployClient.java:4294) at com.amazonaws.services.codedeploy.AmazonCodeDeployClient.invoke(AmazonCodeDeployClient.java:4261) at com.amazonaws.services.codedeploy.AmazonCodeDeployClient.invoke(AmazonCodeDeployClient.java:4250) at com.amazonaws.services.codedeploy.AmazonCodeDeployClient.executeGetDeployment(AmazonCodeDeployClient.java:2371) at com.amazonaws.services.codedeploy.AmazonCodeDeployClient.getDeployment(AmazonCodeDeployClient.java:2341) at jetbrains.buildServer.runner.codedeploy.AWSClient.checkDeploymentStatus(AWSClient.java:152) at jetbrains.buildServer.runner.codedeploy.CodeDeployDeploymentStatusProvider.lambda$updateBuild$0(CodeDeployDeploymentStatusProvider.java:106) at jetbrains.buildServer.util.amazon.AWSCommonParams.withAWSClients(AWSCommonParams.java:349) at jetbrains.buildServer.runner.codedeploy.CodeDeployDeploymentStatusProvider.updateBuild(CodeDeployDeploymentStatusProvider.java:60) at jetbrains.buildServer.serverSide.impl.DetachedBuildTrackerImpl.pollDetachedBuilds(DetachedBuildTrackerImpl.java:91) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) at jetbrains.buildServer.util.executors.TeamCityScheduledThreadPoolExecutor$RunnableScheduledFutureWrapper.run(TeamCityScheduledThreadPoolExecutor.java:88) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)

grispin commented 3 years ago

The issue occurs when using parameter references in the the aws credential fields.

AdamWillden commented 3 years ago

@grispin thank you for raising this here - I encountered the same issue having raised a support ticket. I referenced this which is now on their main tracker: https://youtrack.jetbrains.com/issue/TW-72245

We also found a second issue where the build hangs if the code deploy step is not set to deploy (e.g. only upload/register): https://youtrack.jetbrains.com/issue/TW-72248

We had to revert to the previous version of the plugin.