aws / aws/aws-toolkit-azure-devops

Services should output what call failed when they have errors

Open
#285 7 comments 0 reactions 0 assignees View on GitHub
feature-request
Dominant language
TypeScript
Stars
258
Forks
114
PR merge metrics
No merged PRs in 30d

Description

The S3 calls after the upload of a new application in the Elastic Beanstalk Deploy need additional debugging details to trouble-shoot on permission failures.

For example, I have the following in my logs:
```
##[debug]...event poll sleep for 5s
##[debug]AWS describeEnvironments request ID: db6a159f-REDACTED-aea2653af01f
##[debug]AWS describeEvents request ID: 83d317df-REDACTED-087608e5da80
Tue Aug 13 2019 14:56:50 GMT+0000 (Coordinated Universal Time) INFO Environment update is starting.
Tue Aug 13 2019 14:56:58 GMT+0000 (Coordinated Universal Time) ERROR Service:Amazon S3, Message:Access Denied
Tue Aug 13 2019 14:56:58 GMT+0000 (Coordinated Universal Time) ERROR Failed to deploy application.
##[debug]...event poll sleep for 5s
##[debug]AWS describeEnvironments request ID: de53b0f8-REDACTED-61a2fbfa8d9d
##[debug]AWS describeEvents request ID: db6653d1-REDACTED-bc667361cd94
```
As you can see there are absolutely no details as to which call triggered the "ERROR Service:Amazon S3, Message:Access Denied".

To trouble-shoot I've enabled S3 logging and have been slowly working through those logs, but that logging is often delayed and I've had to fix 3-4 permission errors so far and its still not working. This is making it take several hours to trouble-shoot trying to figure out what S3 call failed, and therefore what additional permissions I need to add.

If the debugging output listed what call was being made first, and then gave the error message; it would be absolutely clear in the logs what failed and this could be fixed much, much faster.

Better yet, it would be great if before everything started it gave a list of all the calls that would be made, or all the S3 permissions needed. Many of the other permissions are listed at the beginning of the output (But not all of the permissions listed).

Contributor guide

Open the contributing guide

Research direction

Start at the Elastic Beanstalk Deploy flow after the application upload and trace the S3 calls that produce the permission-failure output. Reproduce an S3 Access Denied failure and verify that the logs identify the failed call before the error message, making the required permission easier to determine.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
cloud, devops
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.