Skip to content

Seeing sporadic 403s when action tries to install plugins #815

Description

@jbrunton

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/cicdimpact/reliabilitySomething that feels unreliable or flakyimpact/usabilitySomething that impacts users' ability to use the product easily and intuitivelykind/bugSome behavior is incorrect or out of specpulumi/actions

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions