Skip to content

unable to upgrade a Backend Service from 1.19 to 1.21 #3931

@codekitchen

Description

@codekitchen

We have one backend service that we are trying to upgrade from copilot 1.19 to copilot 1.21 and we consistently get an error during deploy. I've already used env show --manifest to create the env manifest, and env deploy to make sure all the env updates are deployed. But svc deploy fails in cloudformation with:

✔ Proposing infrastructure changes for stack xxx-xxx-xxx
- Updating the infrastructure for stack xxx-xxx-xxx               [update rollback complete]  [60.5s]
  The following resource(s) failed to create: [LoadBalancerInternalDNSAl                                               
  ias]. The following resource(s) failed to update: [ExecutionRole, HTTP                                               
  RulePriorityAction].                                                                                                 
  - Update your environment's shared resources                                             [not started]                
  - An IAM Role for the Fargate agent to make AWS API calls on your behalf                 [update complete]           [21.7s]
    Resource update cancelled                                                                                          
  - A HTTP listener rule for forwarding HTTP traffic                                       [not started]                
  - A custom resource assigning priority for HTTP listener rules                           [update complete]           [1.7s]
    Resource update cancelled                                                                                          
  - Alias for xxx.xxx.xxx.internal to the internal load balancer  [delete complete]           [0.0s]
    CustomResource attribute error: Vendor response doesn't contain Intern                                             
    alWorkloadsHostedZone key in object arn:aws:cloudformation:us-west-2:0                                             
    xxx:stack/xxx-xxx-xxx/a5780ba0-f7d7-1                                             
    1ec-af7f-069360ba28a1|EnvControllerAction|744b47e9-ae0a-427a-904c-1f43                                             
    f0cd494e in S3 bucket cloudformation-custom-resource-storage-uswest2                                               
  - An ECS service to run and maintain your tasks in the environment cluster               [not started]                
  - An ECS task definition to group your containers and run them on ECS                    [not started]                
  - An IAM role to control permissions for the containers in your tasks                    [not started]                
✘ deploy service xxx to environment xxx: deploy service: stack xxx-xxx-xxx did not complete successfully and exited with status UPDATE_ROLLBACK_COMPLETE

This seems possibly related to defining a http alias? Which we aren't doing in this service. The relevant parts of the manifest file are:

name: xxx
type: Backend Service

http:
  path: '/'
  healthcheck:
    path: '/healthcheck'
    interval: 15s
    timeout: 5s
    grace_period: 15s

network:
  vpc:
    placement: private

I tried upgrading to copilot 1.20 first, but that version also gives the same error during deploy.

The generated environment manifest only has network configuration:

name: xxx
type: Environment
network:
    vpc:
        id: vpc-xxx
        subnets:
            public:
                - id: subnet-xxx
                - id: subnet-xxx
                - id: subnet-xxx
            private:
                - id: subnet-xxx
                - id: subnet-xxx
                - id: subnet-xxx

Metadata

Metadata

Assignees

No one assigned

    Labels

    type/bugIssues that are bugs.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions