k8snetworkplumbingwg / net-attach-def-admission-controller

An admission controller to check resources as defined by the NPWG spec
Apache License 2.0
4 stars 15 forks source link

Change "error" to "notice" in "spec is not a valid network config list: error parsing ..." #44

Open dougbtv opened 3 years ago

dougbtv commented 3 years ago

Example, this is actually admitted:

I0805 14:32:25.409571       1 webhook.go:117] validating network config spec: { "cniVersion": "0.4.0", "type": "egress-router", "name": "egress-router-cni-nad", "ip": { "addresses": [ "fd2e:6f44:5dd8::64/64" ], "destinations": ["80 TCP 2607:f8b0:4004:808::200e","8080 TCP 2600:1408:20:c81::3831 80","8888 TCP 2001:420:1101:1::185 80"],
"gateway": "fe80::5054:ff:feb0:6560" }, "log_file": "/tmp/egress-router-log", "log_level": "debug" }
I0805 14:32:25.410002       1 webhook.go:141] spec is not a valid network config list: error parsing configuration list: no 'plugins' key - trying to parse into standalone config
I0805 14:32:25.410209       1 webhook.go:154] AdmissionReview request allowed: Network Attachment Definition '{"cniVersion":"0.4.0","ip":{"addresses":["fd2e:6f44:5dd8::64/64"],"destinations":["80 TCP 2607:f8b0:4004:808::200e","8080 TCP 2600:1408:20:c81::3831 80","8888 TCP 2001:420:1101:1::185 80"],"gateway":"fe80::5054:ff:feb0:6560"},"log_file":"/tmp/egress-router-log","log_level":"debug","name":"egress-router-cni-nad","type":"egress-router"}' is valid

So it shouldn't say error, just a notice (if anything at all)

dougbtv commented 2 years ago

$ grep -Prin "error parsing configuration list" *

docs/installation.md:99:I1212 13:47:47.918067       1 webhook.go:79] spec is not a valid network config list: error parsing configuration list: no name - trying to parse into standalone config
docs/installation.md:103:I1212 13:48:25.173233       1 webhook.go:79] spec is not a valid network config list: error parsing configuration list: no 'plugins' key - trying to parse into standalone config
vendor/github.com/containernetworking/cni/libcni/conf.go:65:        return nil, fmt.Errorf("error parsing configuration list: %s", err)
vendor/github.com/containernetworking/cni/libcni/conf.go:70:        return nil, fmt.Errorf("error parsing configuration list: no name")
vendor/github.com/containernetworking/cni/libcni/conf.go:74:        return nil, fmt.Errorf("error parsing configuration list: invalid name type %T", rawName)
vendor/github.com/containernetworking/cni/libcni/conf.go:82:            return nil, fmt.Errorf("error parsing configuration list: invalid cniVersion type %T", rawVersion)
vendor/github.com/containernetworking/cni/libcni/conf.go:95:        return nil, fmt.Errorf("error parsing configuration list: no 'plugins' key")
vendor/github.com/containernetworking/cni/libcni/conf.go:99:        return nil, fmt.Errorf("error parsing configuration list: invalid 'plugins' type %T", plug)
vendor/github.com/containernetworking/cni/libcni/conf.go:102:       return nil, fmt.Errorf("error parsing configuration list: no plugins in list")

This looks like it's coming from libcni, so it's plausible we should just remove our logging for this condition.