diff --git a/controller/nucleus/networkElementService.go b/controller/nucleus/networkElementService.go index 61d302a4c1ad3573b4e9ae43453f597a44971949..d5631cfe09a49ef54cfd878a312647d606f06b39 100644 --- a/controller/nucleus/networkElementService.go +++ b/controller/nucleus/networkElementService.go @@ -239,7 +239,7 @@ func (s *NetworkElementService) createNetworkElementFromStore(loadedNetworkEleme } // Use unmarshall from the network elements SBI to unmarshall ygot json in go struct. - opts := []ytypes.UnmarshalOpt{&ytypes.IgnoreReadOnlyFields{}, &ytypes.IgnoreExtraFields{}} + opts := []ytypes.UnmarshalOpt{&ytypes.IgnoreExtraFields{}} err = mne.SBI().Unmarshal([]byte(loadedNetworkElement.Model), path, mne.GetModel(), opts...) if err != nil { return nil, err diff --git a/controller/nucleus/principalNetworkDomain.go b/controller/nucleus/principalNetworkDomain.go index e5b768de7f1ab61fbe61fa3a700a554c682f4609..21d99e66b733a87bea5018c1217c6ae19ef5b1ca 100644 --- a/controller/nucleus/principalNetworkDomain.go +++ b/controller/nucleus/principalNetworkDomain.go @@ -480,7 +480,19 @@ func (pnd *pndImplementation) ensureIntendedConfigurationIsAppliedOnNetworkEleme return err } - model, err := mne.GetModelAsString() + model, err := mne.GetModelAsFilteredCopy() + if err != nil { + return err + } + + modelAsString, err := ygot.EmitJSON(model, &ygot.EmitJSONConfig{ + Format: ygot.RFC7951, + Indent: "", + SkipValidation: true, + RFC7951Config: &ygot.RFC7951JSONConfig{ + AppendModuleName: true, + }, + }) if err != nil { return err } @@ -494,7 +506,7 @@ func (pnd *pndImplementation) ensureIntendedConfigurationIsAppliedOnNetworkEleme req.Update = []*gpb.Update{{ Path: path, Val: &gpb.TypedValue{ - Value: &gpb.TypedValue_JsonIetfVal{JsonIetfVal: []byte(model)}, + Value: &gpb.TypedValue_JsonIetfVal{JsonIetfVal: []byte(modelAsString)}, }, }}