pipe-cd/pipecd

PipeCD Control Plane displayed unknown field error when config `recreate` for ECSApplication

minhquang4334 opened this issue · 3 comments

What happened:
PipeCD Control Plane displayed an error message Failed to load application config: json: unknown field "recreate" when our ECSApplication was configured with "recreate: true" on quickSync.
https://pipecd.dev/docs-v0.47.x/user-guide/configuration-reference/#ecs-application

What you expected to happen:
recreate is an expected field, so the above error should not occur.

How to reproduce it:
Our ECSApp config

apiVersion: pipecd.dev/v1beta1
kind: ECSApp
spec:
  name: dev-myapp
  labels:
    env: dev
    layer: backend
  input:
    serviceDefinitionFile: servicedef.yaml
    taskDefinitionFile: taskdef.yaml
  attachment:
    sources:
      config: app-config.yaml
    targets:
      - taskdef.yaml
  description: |
    desc-myapp
  quickSync:
    recreate: true

Environment:

  • piped version: v0.47.0
  • control-plane version:
  • Others:

@minhquang4334
Thank you for reporting.

I'm sorry but I could not reproduce the problem.
I used piped v0.47.0 and my app.pipecd.yaml was:

apiVersion: pipecd.dev/v1beta1
kind: ECSApp
spec:
  name: ecs-4909-recreate
  input:
    serviceDefinitionFile: servicedef.yaml
    taskDefinitionFile: taskdef.yaml
    targetGroups:
      primary:
        targetGroupArn: <MASKED>
        containerName: web
        containerPort: 80
  description: |
    desc-example
  quickSync:
    recreate: true

Would you please re-confirm your yaml's indents?

BTW, when I used the following wrong yaml, the same error occured.

spec:
  ...
  quickSync:
  recreate: true. # NOT INDENTED

image

@t-kikuc Thank you for investigating.
There are no invalid indents in our yaml file.
But when I use the same config with other apps, the error did not occur.
Additionally, I added a test to the pipeCD yaml parser, but it did not produce any problem.

@minhquang4334
I got it.
Then I close this issue.