What happened?
I'm using this action to automate deployments in a few projects. In recent days I've started seeing inconsistent failures when pulumi tries to install plugins (especially the synced-folder plugin, but I'm unsure if it's specific to that).
The error looks like this, apparently caused by a 403 when trying to download the plugin:
error: could not load plugin for synced-folder provider 'urn:pulumi:staging::auth0-test::pulumi:providers:synced-folder::default_0_0_9': Could not automatically download and install resource plugin 'pulumi-resource-synced-folder' at version v0.0.9, install the plugin using `pulumi plugin install resource synced-folder v0.0.9`.
Underlying error: error downloading plugin synced-folder to file: failed to download plugin: synced-folder-0.0.9: 403 HTTP error fetching plugin from https://get.pulumi.com/releases/plugins/pulumi-resource-synced-folder-v0.0.9-linux-amd64.tar.gz
However, the behaviour is inconsistent, and a re-run of the workflow usually fixes it.
Steps to reproduce
It doesn't happen all the time so it may be difficult to provide a reproducible example – though I'm happy to try to create a simplified app if it's helpful – but it is happening pretty regularly. You can see an example here:
https://github.com/jbrunton/auth0-test/actions/runs/3802920177/jobs/6468891986
You can also see that attempt #2 was successful:
https://github.com/jbrunton/auth0-test/actions/runs/3802920177/jobs/6468979717
That is, the code works as is – it just occasional fails.
Given the nondeterminism, I'm wondering if I might be encountering rate limiting? That's just a guess, however.
Expected Behavior
For the app to be provisioned.
Actual Behavior
The provisioning fails and I have to re-run the workflow.
Output of pulumi about
CLI
Version 3.50.2
Go Version go1.19.4
Go Compiler gc
Plugins
NAME VERSION
aws 5.24.0
docker 3.6.1
nodejs unknown
random 4.8.2
synced-folder 0.0.9
Host
OS darwin
Version 13.1
Arch arm64
This project is written in nodejs: executable='/Users/john/.nvm/versions/node/v16.19.0/bin/node' version='v16.19.0'
Current Stack: jbrunton/auth0-test/dev
TYPE URN
pulumi:pulumi:Stack urn:pulumi:dev::auth0-test::pulumi:pulumi:Stack::auth0-test-dev
pulumi:providers:pulumi urn:pulumi:dev::auth0-test::pulumi:providers:pulumi::default
pulumi:providers:aws urn:pulumi:dev::auth0-test::pulumi:providers:aws::aws
pulumi:pulumi:StackReference urn:pulumi:dev::auth0-test::pulumi:pulumi:StackReference::jbrunton/jbrunton-aws.com-infra/prod
pulumi:providers:aws urn:pulumi:dev::auth0-test::pulumi:providers:aws::default_5_24_0
aws:ecs/cluster:Cluster urn:pulumi:dev::auth0-test::aws:ecs/cluster:Cluster::auth0-test-dev
aws:cloudwatch/logGroup:LogGroup urn:pulumi:dev::auth0-test::aws:cloudwatch/logGroup:LogGroup::/ecs/auth0-test-dev
aws:ec2/securityGroup:SecurityGroup urn:pulumi:dev::auth0-test::aws:ec2/securityGroup:SecurityGroup::auth0-test-dev
aws:dynamodb/table:Table urn:pulumi:dev::auth0-test::aws:dynamodb/table:Table::auth0-test-dev
aws:lb/targetGroup:TargetGroup urn:pulumi:dev::auth0-test::aws:lb/targetGroup:TargetGroup::auth0-test-dev
aws:lb/listenerRule:ListenerRule urn:pulumi:dev::auth0-test::aws:lb/listenerRule:ListenerRule::auth0-test-dev
aws:route53/record:Record urn:pulumi:dev::auth0-test::aws:route53/record:Record::auth0-test-dev
aws:iam/role:Role urn:pulumi:dev::auth0-test::aws:iam/role:Role::auth0-test-dev-exec-role
aws:iam/role:Role urn:pulumi:dev::auth0-test::aws:iam/role:Role::auth0-test-dev-role
aws:iam/rolePolicyAttachment:RolePolicyAttachment urn:pulumi:dev::auth0-test::aws:iam/rolePolicyAttachment:RolePolicyAttachment::auth0-test-dev-exec-role-attachment
aws:iam/rolePolicy:RolePolicy urn:pulumi:dev::auth0-test::aws:iam/rolePolicy:RolePolicy::auth0-test-dev-get-params
aws:s3/bucket:Bucket urn:pulumi:dev::auth0-test::aws:s3/bucket:Bucket::auth0-test-dev-bucket
aws:iam/rolePolicy:RolePolicy urn:pulumi:dev::auth0-test::aws:iam/rolePolicy:RolePolicy::auth0-test-dev-dynamo-db
aws:ecs/taskDefinition:TaskDefinition urn:pulumi:dev::auth0-test::aws:ecs/taskDefinition:TaskDefinition::auth0-test-dev
aws:iam/rolePolicyAttachment:RolePolicyAttachment urn:pulumi:dev::auth0-test::aws:iam/rolePolicyAttachment:RolePolicyAttachment::auth0-test-dev-role-attachment
pulumi:providers:synced-folder urn:pulumi:dev::auth0-test::pulumi:providers:synced-folder::default_0_0_9
synced-folder:index:S3BucketFolder urn:pulumi:dev::auth0-test::synced-folder:index:S3BucketFolder::auth0-test-dev-folder
pulumi:providers:aws urn:pulumi:dev::auth0-test::pulumi:providers:aws::default_5_23_0
aws:ecs/service:Service urn:pulumi:dev::auth0-test::aws:ecs/service:Service::auth0-test-dev
aws:s3/bucketObject:BucketObject urn:pulumi:dev::auth0-test::synced-folder:index:S3BucketFolder$aws:s3/bucketObject:BucketObject::assets/index-3fce1f81.css
aws:s3/bucketObject:BucketObject urn:pulumi:dev::auth0-test::synced-folder:index:S3BucketFolder$aws:s3/bucketObject:BucketObject::assets/react-35ef61ed.svg
aws:s3/bucketObject:BucketObject urn:pulumi:dev::auth0-test::synced-folder:index:S3BucketFolder$aws:s3/bucketObject:BucketObject::index.html
aws:s3/bucketObject:BucketObject urn:pulumi:dev::auth0-test::synced-folder:index:S3BucketFolder$aws:s3/bucketObject:BucketObject::vite.svg
aws:s3/bucketObject:BucketObject urn:pulumi:dev::auth0-test::synced-folder:index:S3BucketFolder$aws:s3/bucketObject:BucketObject::assets/index-32c211af.js
aws:cloudfront/distribution:Distribution urn:pulumi:dev::auth0-test::aws:cloudfront/distribution:Distribution::auth0-test-dev-cdn
aws:route53/record:Record urn:pulumi:dev::auth0-test::aws:route53/record:Record::auth0-test-dev.dev.jbrunton-aws.com
Found no pending operations associated with dev
Backend
Name pulumi.com
URL https://app.pulumi.com/jbrunton
User jbrunton
Organizations jbrunton
Dependencies:
NAME VERSION
eslint 8.30.0
prettier 2.8.1
ts-node 10.9.1
@pulumi/aws 5.24.0
@pulumi/pulumi 3.49.0
@pulumi/random 4.8.2
@typescript-eslint/parser 5.46.1
eslint-config-prettier 8.5.0
date-fns 2.29.3
jest-mock-extended 3.0.1
@pulumi/awsx 0.40.1
@types/jest 29.2.4
@types/node 16.18.10
jest 29.3.1
tsconfig-paths 4.1.1
@pulumi/synced-folder 0.0.9
@typescript-eslint/eslint-plugin 5.46.1
eslint-plugin-prettier 4.2.1
ts-jest 29.0.3
Additional context
I noticed a couple of open issues related to plugins, but I think the error I'm seeing is different?
EDIT: See also my comment below regarding the open PRs related to this issue.
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).
What happened?
I'm using this action to automate deployments in a few projects. In recent days I've started seeing inconsistent failures when pulumi tries to install plugins (especially the
synced-folderplugin, but I'm unsure if it's specific to that).The error looks like this, apparently caused by a 403 when trying to download the plugin:
However, the behaviour is inconsistent, and a re-run of the workflow usually fixes it.
Steps to reproduce
It doesn't happen all the time so it may be difficult to provide a reproducible example – though I'm happy to try to create a simplified app if it's helpful – but it is happening pretty regularly. You can see an example here:
https://github.com/jbrunton/auth0-test/actions/runs/3802920177/jobs/6468891986
You can also see that attempt #2 was successful:
https://github.com/jbrunton/auth0-test/actions/runs/3802920177/jobs/6468979717
That is, the code works as is – it just occasional fails.
Given the nondeterminism, I'm wondering if I might be encountering rate limiting? That's just a guess, however.
Expected Behavior
For the app to be provisioned.
Actual Behavior
The provisioning fails and I have to re-run the workflow.
Output of
pulumi aboutAdditional context
I noticed a couple of open issues related to plugins, but I think the error I'm seeing is different?
EDIT: See also my comment below regarding the open PRs related to this issue.
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).