rudder icon indicating copy to clipboard operation
rudder copied to clipboard

lint cannot find out syntax error of "command" in release yaml

Open liwandaniel opened this issue 6 years ago • 0 comments

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

What happened:

I'm using lint function to check release yaml syntax

lint returned no error, but cannot be applied by release-controller

Here is the wrong part of yaml below:

  controllers:
  - containers:
    - env:
      - name: CLUSTER_NAME
        from:
          type: Config
          name: cluster-info
          key: name
    - command:
      - /eventer
      - --v=3
      image: 'xxx:v0.1.3'
      imagePullPolicy: IfNotPresent
      mounts:

And the logs of release-controller returns error:

Can't apply release kube-system/xxx: Deployment.apps "xxx-v1-0" is invalid: spec.template.spec.containers[0].image: Required value, retry

What you expected to happen:

The reason of this error is because error syntax of [containers.command] in release grammar, but it totally correct for yaml grammar

the correct yaml:

  controllers:
  - containers:
    - env:
      - name: CLUSTER_NAME
        from:
          type: Config
          name: cluster-info
          key: name
      command:    # no "-"
        - /eventer
        - --v=3
      image: 'xxx:v0.1.3'
      imagePullPolicy: IfNotPresent
      mounts:

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know?:

/cc @supereagle @caitong93

liwandaniel avatar Dec 18 '18 02:12 liwandaniel