Giter Site home page Giter Site logo

crossplane-ecs-service-bug's Introduction

Updates to Crossplane's ECS Service managed resource do not trigger a new deployment

What happened?

After creating an ECS Service, I am unable to change the initially set desiredCount in the provisioned resource.

It appears changes to desiredCount field do not trigger a new deployment or alter the existing deployment.

Initial Service:

apiVersion: ecs.aws.crossplane.io/v1alpha1
kind: Service
metadata:
  labels:
    testing.upbound.io/example-name: sample-app-service
  name: sample-app-service
spec:
  forProvider:
    desiredCount: 1
    deploymentController:
      type_: ECS
    deploymentConfiguration:
      maximumPercent: 200
      minimumHealthyPercent: 0
    launchType: FARGATE
    region: us-east-1
    schedulingStrategy: REPLICA
    platformVersion: 1.4.0 
    clusterSelector:
      matchLabels:
        testing.upbound.io/example-name: sample-app-cluster
    loadBalancers:
    - containerName: sample-app-container
      containerPort: 80
      targetGroupARNSelector:
        matchLabels:
          testing.upbound.io/example-name: sample-app-target-group
    networkConfiguration:
      awsvpcConfiguration:
        assignPublicIP: ENABLED
        securityGroupSelector:
          matchLabels:
            testing.upbound.io/example-name: sg-us-east-1
        subnetSelector:
          matchLabels:
            all-subnets: included
    taskDefinitionSelector:
      matchLabels:
        testing.upbound.io/example-name: sample-app-task

Once this is up and running, I change desiredCount to 2 and apply.

I can see the change reflected in the object's Spec section on the cluster:

image

But the object's Status section shows that no new deployment has been rolled out and displays the old deployment's config:

image

The object's events section clearly shows only 1 deployment has ever been attempted:

image

At this point, to get another deployment, I have to delete the service and create a new one...

How can I redeploy a service with a new desiredCount value without deleting and re-creating it?

In the console, there is a "force new deployment" option that allows this when you hit "Update Service" :

image

Is this functionality available in Crossplane?

How can we reproduce it?

You can apply all yaml in this repo to lay down a network, ALB, and ECS Fargate cluster, task, service, and role.
When you change desiredCount to 2 and apply, you will see no new deployment occuring.

What environment did it happen in?

Crossplane version: v1.11.0
Kubectl client version: v1.25.0
Kubectl server version: v1.25.3
OS: Pop!_OS 22.04 LTS
KinD: 0.17.0

crossplane-ecs-service-bug's People

Watchers

Martin Fleming avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.