Skip to content

kubectl apply does not update ThirdPartyResource object. #29542

@ianlewis

Description

@ianlewis

I have a ThirdPartyResource object. The resource is as follows:

resource.yaml

metadata:
  name: cron-tab.stable.example.com
apiVersion: extensions/v1beta1
kind: ThirdPartyResource
description: "A specification of a Pod to run on a cron style schedule"
versions:
  - name: v1
  - name: v2

crontab.yaml

apiVersion: "stable.example.com/v1"
kind: "CronTab"
metadata:
  name: hello-world
cronSpec: "*/1 * * * *"
image: hello-world

I create the resource and object

$ kubectl create -f resource.yaml
$ kubectl create -f crontab.yaml

However, when I run apply I fails to update the properties.

$ cat crontab.yaml 
apiVersion: "stable.example.com/v1"
kind: "CronTab"
metadata:
  name: hello-world
cronSpec: "*/5 * * * *"
image: hello-world

$ kubectl apply -f crontab.yaml
crontab "hello-world" configured

kubectl is sending a request to the API and if I watch the object I get a modified event but it is still the old value. Getting the object also returns the old value.

$ kubectl get crontab hello-world -o json | jq '.cronSpec'
"*/1 * * * *"

I suspect that kubectl is not diffing the object properly and neglects to send the updated object JSON data.

Metadata

Metadata

Labels

area/kubectlkind/bugCategorizes issue or PR as related to a bug.priority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.size/SDenotes a PR that changes 10-29 lines, ignoring generated files.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions