Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS Native provider makes very slow progress on some resources #13

Closed
EvanBoyle opened this issue Apr 13, 2023 · 1 comment
Closed

AWS Native provider makes very slow progress on some resources #13

EvanBoyle opened this issue Apr 13, 2023 · 1 comment
Assignees
Labels
kind/enhancement Improvements or new features resolution/wont-fix This issue won't be fixed
Milestone

Comments

@EvanBoyle
Copy link
Contributor

Sometimes the AWS Cloud Import program tries to call ReadResource on a block of resources that will consistently fail for one reason or another. For instance, some AWS APIs incorrectly return a retriable 500 where they should be returning a 404:

aws-native:codepipeline:CustomActionType (CodePipelineCustomActionTypeSourceECR1)
    error: operation error CloudControl: GetResource, exceeded maximum number of attempts, 25, https response error StatusCode: 500, RequestID: 187e2ae7-e806-4a1e-b066-a8a2d0df02ec, HandlerInternalFailureException: AWS::CodePipeline::CustomActionType Handler returned status FAILED: Service returned error code ResourceNotFoundException (Service: CodePipeline, Status Code: 400, Request ID: 7db95f1e-459a-4e10-b72a-1202226c2d82) (HandlerErrorCode: InternalFailure, RequestToken: 06f24548-b1fd-4773-bf6d-b4df00dd480e)

These errors are retried 25 times (necessary due to aggressive rate limiting of the Cloud Control API) which can take quite a long time with exponential backoff, and can cause the program to appear hung even though the pulumi engine is just tied up working on a block of resource reads that will never succeed.

Part of this fix for this might be pulumi/pulumi-aws-native#876

Until then we maintain a map specifying resources that are not safe to process due to buggy behavior:

var resourcesToSkip = map[string]bool{
// 'Account is not registered as a publisher' error
"aws-native:cloudformation:PublicTypeVersion": true,
// error: resource 'AwsDataCatalog' does not exist
"aws-native:athena:DataCatalog": true,
// error: resource 'LOCKE' does not exist
"aws-native:appflow:Connector": true,
// name collison Duplicate resource URN 'efs:FileSystem::EFSFileSystemfs0dce0ba5'; try giving it a unique name
"aws-native:efs:FileSystem": true,
// FAILED: [RSLVR-00903] Cannot tag Auto Defined Rule.
"aws-native:route53resolver:ResolverRule": true,
// parameter ParameterGroupName is not a valid identifier. Identifiers must begin with a letter; must contain only ASCII letters
"aws-native:memorydb:ParameterGroup": true,
// robomaker has been shut down
"aws-native:robomaker:Fleet": true,
"aws-native:robomaker:Robot": true,
"aws-native:robomaker:RobotApplication": true,
"aws-native:robomaker:RobotApplicationVersion": true,
"aws-native:robomaker:SimulationApplication": true,
"aws-native:robomaker:SimulationApplicationVersion": true,
"aws-native:robomaker:SimulationJob": true,
// returns 500 instead of 404
"aws-native:codepipeline:CustomActionType": true,
// returns consistent 500s
"aws-native:ec2:PrefixList": true,
// consistent 500s
"aws-native:codepipeline:CustomActionType": true,
// consistent 500s
"aws-native:scheduler:ScheduleGroup": true,
// consistent 500s
"aws-native:scheduler:ScheduleGroup": true,
}

When we encounter more resources that cause these slow updates due to exhaustive retries, we should add them to this list.

Related issue to make the list above configurable: #8

@EvanBoyle EvanBoyle added the kind/bug Some behavior is incorrect or out of spec label Apr 13, 2023
@EvanBoyle
Copy link
Contributor Author

#12 would be very helpful in debugging this

@tyler-dunkel tyler-dunkel added this to the 0.111 milestone Sep 30, 2024
@aacotroneo aacotroneo added kind/enhancement Improvements or new features and removed kind/bug Some behavior is incorrect or out of spec labels Oct 23, 2024
@komalali komalali modified the milestones: 0.111, 0.112 Oct 30, 2024
@tyler-dunkel tyler-dunkel added the resolution/wont-fix This issue won't be fixed label Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Improvements or new features resolution/wont-fix This issue won't be fixed
Projects
None yet
Development

No branches or pull requests

4 participants