kubernetes-resource icon indicating copy to clipboard operation
kubernetes-resource copied to clipboard

Quotes used for params kubectl disappear

Open gs11 opened this issue 6 years ago • 4 comments

Is this a BUG REPORT or FEATURE REQUEST?:

  • bug

What happened: Quotes used for a json patch disappear and kubectl fails because unparseable command. kubectl patch --namespace <namespace> statefulset <namespace> --type=json -p=[{op: replace, path: /spec/template/spec/containers/0/image, value:<image>}]

error: unable to parse "[{op:": yaml: line 1: did not find expected node content

What you expected to happen: They'd be preserved in order for kubectl to work

How to reproduce it (as minimally and precisely as possible): Use a kubectl params like: patch --namespace <namespace> statefulset <statefulset> --type=json -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/image", "value":"<image>"}]'

Anything else we need to know?: Tested multiple ways of escaping the line without success

Environment:

  • Concourse CI version: (use fly --version): 3.14.1
  • kubernetes-resource image version: 1.12
  • Others:

gs11 avatar Dec 18 '18 09:12 gs11

Thank you for reporting. I'll check it out.

superbrothers avatar Dec 20 '18 09:12 superbrothers

Anyway, you can use kubectl set image command instead.

superbrothers avatar Dec 20 '18 09:12 superbrothers

Thanks, I didn't actually know that you could use set image for statefulsets. Just need to figure out how to pass the image path & version (from previous tasks) into the params.kubectl.

gs11 avatar Dec 20 '18 18:12 gs11

I was wrong. kubectl set image can not change the image of statefulset :sweat:

superbrothers avatar Dec 21 '18 03:12 superbrothers