What's Up With managedFields?
After a recent update to my OpenShift cluster, oc get
will output yaml/json with a field called .metadata.managedFields which contains a description of the object's structure. For example, I did oc get machineset <mymachineset> -o yaml
and besides the stuff that's about my machineset, I see this:
apiVersion: machine.openshift.io/v1beta1
kind: MachineSet
metadata:
managedFields:
- apiVersion: machine.openshift.io/v1beta1
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:labels:
.: {}
f:machine.openshift.io/cluster-api-cluster: {}
f:spec:
.: {}
f:selector:
.: {}
f:matchLabels:
.: {}
f:machine.openshift.io/cluster-api-cluster: {}
f:machine.openshift.io/cluster-api-machineset: {}
f:template:
.: {}
f:metadata:
.: {}
f:labels:
.: {}
f:machine.openshift.io/cluster-api-cluster: {}
f:machine.openshift.io/cluster-api-machine-role: {}
f:machine.openshift.io/cluster-api-machine-type: {}
f:machine.openshift.io/cluster-api-machineset: {}
f:spec:
.: {}
f:metadata: {}
f:providerSpec:
.: {}
f:value:
.: {}
f:ami: {}
f:apiVersion: {}
f:blockDevices: {}
f:credentialsSecret: {}
f:deviceIndex: {}
f:iamInstanceProfile: {}
f:instanceType: {}
f:kind: {}
f:metadata: {}
f:placement: {}
f:securityGroups: {}
f:subnet: {}
f:tags: {}
f:userDataSecret: {}
f:status: {}
Why is this being shown now? What does it mean? Is it the structure of this object, or is it a reference structure of the object? Am I supposed to be able to use this information in some way? Can it be hidden in some way? Anyone know?