diff --git a/SPEC.md b/SPEC.md index 9436c892..d26c3ea9 100644 --- a/SPEC.md +++ b/SPEC.md @@ -523,6 +523,7 @@ For certain operations, plugins must output result information. The output shoul ### ADD Success Plugins must output a JSON object with the following keys upon a successful `ADD` operation: +All keys are optional other than `cniVersion`. - `cniVersion`: The same version supplied on input - the string "1.1.0" - `interfaces`: An array of all interfaces created by the attachment, including any host-level interfaces: diff --git a/pkg/types/100/types.go b/pkg/types/100/types.go index 6c138568..beb46b07 100644 --- a/pkg/types/100/types.go +++ b/pkg/types/100/types.go @@ -92,7 +92,7 @@ type Result struct { Interfaces []*Interface `json:"interfaces,omitempty"` IPs []*IPConfig `json:"ips,omitempty"` Routes []*types.Route `json:"routes,omitempty"` - DNS types.DNS `json:"dns,omitempty"` + DNS *types.DNS `json:"dns,omitempty"` } // convertFrom100 does nothing except set the version; the types are the same @@ -145,7 +145,7 @@ func convertFrom04x(from types.Result, toVersion string) (types.Result, error) { fromResult := from.(*types040.Result) toResult := &Result{ CNIVersion: toVersion, - DNS: *fromResult.DNS.Copy(), + DNS: fromResult.DNS.Copy(), Routes: []*types.Route{}, } for _, fromIntf := range fromResult.Interfaces { diff --git a/pkg/types/types.go b/pkg/types/types.go index 780dfa13..b4f8c1bb 100644 --- a/pkg/types/types.go +++ b/pkg/types/types.go @@ -64,7 +64,7 @@ type NetConf struct { Type string `json:"type,omitempty"` Capabilities map[string]bool `json:"capabilities,omitempty"` IPAM IPAM `json:"ipam,omitempty"` - DNS DNS `json:"dns,omitempty"` + DNS *DNS `json:"dns,omitempty"` RawPrevResult map[string]interface{} `json:"prevResult,omitempty"` PrevResult Result `json:"-"`