short icon indicating copy to clipboard operation
short copied to clipboard

extraneous fields errors for several yml files

Open jayunit100 opened this issue 7 years ago • 4 comments
trafficstars

Latest release, I'm seeing

➜  install git:(installer-prometh) ✗ cat openshift/openshift-perceiver.yaml| ./short_linux_amd64 --verbose-errors  -
Error: converting stdin: extraneous fields (typos?) at paths: $.metadata

This is happening for every yaml file in https://github.com/blackducksoftware/perceptor/constrib/ for example: https://github.com/blackducksoftware/perceptor/blob/master/contrib/install/openshift/openshift-perceiver.yaml

jayunit100 avatar Feb 23 '18 22:02 jayunit100

Stateless reproducer:

➜   curl https://raw.githubusercontent.com/blackducksoftware/perceptor/master/contrib/install/openshift/openshift-perceiver.yaml | ./short_linux_amd64 -

Results in :

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1719  100  1719    0     0   9504      0 --:--:-- --:--:-- --:--:--  9550
Use flag '--verbose-errors' for more detailed error info.
Error: converting stdin: extraneous fields (typos?) at paths: $.metadata

jayunit100 avatar Feb 23 '18 22:02 jayunit100

I believe this is because the input is a List Resource. Will test it and get back to you shortly.

wlan0 avatar Feb 26 '18 20:02 wlan0

Hmmm, Looking into this more - looks like List type (untyped) in Kubernetes does not have ObjectMeta field. (https://github.com/kubernetes/apimachinery/blob/master/pkg/apis/meta/internalversion/types.go#L64)

metadata support for List types are limited.

If you're using a typed List such as PodList, metadata is of type ListMeta, which doesn't take in name. It only takes in

resourceVersion
continue

Here's the PodList type definition - https://github.com/kubernetes/api/blob/master/core/v1/types.go#L3115

Here's the ListMeta type definition - https://github.com/kubernetes/apimachinery/blob/master/pkg/apis/meta/v1/types.go#L60:6

This leads to my next question, does the resource definition work on OpenShift? or on any other Kubernetes cluster? (without going through the short conversion)

wlan0 avatar Feb 26 '18 21:02 wlan0

ahhh yeah ok !

jayunit100 avatar Apr 01 '18 22:04 jayunit100