Introduction
DirectedGraphs are not executing over the java generated objects produced by YangTools. Directed graphs execute over a Properties object.
When the data has been converted into the Properties object it can be said it is in the node strings format. To work on directed graphs the node string format must be understood.
Yang Models
Mdsal projects start with a yang model. It is the yang model that determines the structure of the rpc, config tree and operational tree. The model will also in turn determine the node strings format.
Overview
Properties are nothing more then key value pairs all of the type string.
These properties can come from 3 places:
- RPC input
- Configuration tree in Mdsal
- Operational tree in Mdsal
Detailed Example
The client invokes an RPC http://localhost:8181/restconf/operations/L3AVPN-PORT-API:service-configuration-notification using this XML body
<input xmlns="com:att:sdnctl:l3avpnport:v1"> <svc-request-id>TEST7</svc-request-id> <response-code>0</response-code> <response-message>Plc Activation Failed: Device gblond2005me6 Sync-from Failed. Please check device IP address and NCS setup.</response-message> <ack-final-indicator>Y</ack-final-indicator> <service-information> <service-type>AVPN</service-type> <service-instance-id>TEST7</service-instance-id> </service-information> </input>
Before the client sends this request there is already data in operational GET http://localhost:8181/restconf/operational/L3AVPN-PORT-API:services/service-list/TEST7/
{ "service-list": [ { "service-instance-id": "TEST7", "service-data": { "service-information": { "service-type": "AVPN", "service-instance-id": "ICORESITE-2751508" }, "oper-status": { "order-status": "Completed" }, "sdnc-request-header": { "svc-notification-url": "https://tst10-lpp.oss.att.com/lppbck-service/rest/ext/vpe/notification", "svc-action": "activateport", "svc-request-id": "ICORESITE-2751508" }, "request-information": { "request-id": "ICORESITE-2751508", "source": "SDNC", "notification-url": "https://tst10-lpp.oss.att.com/lppbck-service/rest/ext/vpe/notification", "request-action": "ChangeLayer3ServiceActivateRequest", "configuration-action": "Layer3ServiceActivateRequest" }, "avpn-ip-port-information": { "avpn-access-information": { "vlan-tag-control": "1Q", "access-speed-units": "Kbps", "managed-ce": "N", "access-speed": "10000", "l1-customer-handoff": "1000BASELX", "access-circuit-id": "DHEC.54831.170.ATI", "access-interface": "1G" }, "endpoint-information": { "interface-string": "ae0", "vpe-name": "gblond2005me6", "bundle-id": 33 }, "port-level-cos": { "shaping": { "pe-egress-per-class-shaping-codes": { "cos3-shaping-code": "W", "cos2v-shaping-code": "P", "cos2-shaping-code": "W" }, "pe-egress-per-class-shaping-behaviors": { "cos3-shaping": "Disable", "cos2v-shaping": "Enable", "cos2-shaping": "Disable" } }, "avpn-bundle-speed": "10000", "avpn-bundle-speed-units": "Kbps", "cos-model": "6COS", "cos-package": "MultimediaHigh", "queueing": { "pe-egress-class-queueing-policing-codes": { "cos2v-queueing-code": "P", "cos2-queueing-code": "W", "cos3-queueing-code": "W" }, "pe-per-class-queueing-behaviors": { "cos3-queueing": "WRED", "cos2-queueing": "WRED", "cos2v-queueing": "QueueLimit" } }, "ingress-profile": { "v6-policy-name-in": "classifier6_port_80:2D:10M:5M:3:0_iset33_in", "cos-profile-id": 3826, "pe-ingress-cos-profile": { "cos2v-percent": "10", "cos2-percent": "50", "cos5-percent": "0", "cos4-percent": "15", "cos3-percent": "25", "cos1-percent": "80" }, "cos-model": "6COS" }, "egress-profile": { "v6-policy-name-out": "classifier6_port_80:2P:10W:5W:3:0N_iset33_out", "cos-profile-id": 3826, "pe-egress-cos-profile": { "cos2v-percent": "10", "cos2-percent": "50", "cos5-percent": "0", "cos4-percent": "15", "cos3-percent": "25", "cos1-percent": "80" }, "cos-model": "6COS" }, "policing": { "pe-per-class-policing-behaviors": { "cos2-policing": "Remark", "cos3-policing": "Remark", "cos2v-policing": "Drop" }, "pe-per-class-policing-codes": { "cos3-policing-code": "M", "cos2-policing-code": "M", "cos2v-policing-code": "D" } } }, "contracted-port-speed": "10000", "contracted-port-speed-units": "Kbps", "port-level-cos-flag": "Y", "clli": "LONDENEH", "port-id": "ICORESITE-2751508" } }, "service-status": { "rpc-name": "service-configuration-notification", "request-status": "notifycomplete", "final-indicator": "Y", "rpc-action": "activateport", "response-timestamp": "2017-02-27T15:23:35.234Z", "l3sdn-action": "Layer3ServiceActivateRequest" } } ] }
There is also data in config GET http://localhost:8181/restconf/config/L3AVPN-PORT-API:services/service-list/TEST7/
{ "service-list": [ { "service-instance-id": "TEST7", "service-data": { "service-information": { "service-type": "AVPN", "service-instance-id": "ICORESITE-2751508" }, "oper-status": { "order-status": "Completed" }, "sdnc-request-header": { "svc-notification-url": "https://tst10-lpp.oss.att.com/lppbck-service/rest/ext/vpe/notification", "svc-action": "activateport", "svc-request-id": "ICORESITE-2751508" }, "request-information": { "request-id": "ICORESITE-2751508", "source": "SDNC", "notification-url": "https://tst10-lpp.oss.att.com/lppbck-service/rest/ext/vpe/notification", "request-action": "ChangeLayer3ServiceActivateRequest", "configuration-action": "Layer3ServiceActivateRequest" }, "avpn-ip-port-information": { "avpn-access-information": { "vlan-tag-control": "1Q", "access-speed-units": "Kbps", "managed-ce": "N", "access-speed": "10000", "l1-customer-handoff": "1000BASELX", "access-circuit-id": "DHEC.54831.170.ATI", "access-interface": "1G" }, "endpoint-information": { "interface-string": "ae0", "vpe-name": "gblondxxxxxxx", "bundle-id": 33 }, "port-level-cos": { "shaping": { "pe-egress-per-class-shaping-codes": { "cos3-shaping-code": "W", "cos2v-shaping-code": "P", "cos2-shaping-code": "W" }, "pe-egress-per-class-shaping-behaviors": { "cos3-shaping": "Disable", "cos2v-shaping": "Enable", "cos2-shaping": "Disable" } }, "avpn-bundle-speed": "10000", "avpn-bundle-speed-units": "Kbps", "cos-model": "6COS", "cos-package": "MultimediaHigh", "queueing": { "pe-egress-class-queueing-policing-codes": { "cos2v-queueing-code": "P", "cos2-queueing-code": "W", "cos3-queueing-code": "W" }, "pe-per-class-queueing-behaviors": { "cos3-queueing": "WRED", "cos2-queueing": "WRED", "cos2v-queueing": "QueueLimit" } }, "ingress-profile": { "v6-policy-name-in": "classifier6_port_80:2D:10M:5M:3:0_iset33_in", "cos-profile-id": 3826, "pe-ingress-cos-profile": { "cos2v-percent": "10", "cos2-percent": "50", "cos5-percent": "0", "cos4-percent": "15", "cos3-percent": "25", "cos1-percent": "80" }, "cos-model": "6COS" }, "egress-profile": { "v6-policy-name-out": "classifier6_port_80:2P:10W:5W:3:0N_iset33_out", "cos-profile-id": 3826, "pe-egress-cos-profile": { "cos2v-percent": "10", "cos2-percent": "50", "cos5-percent": "0", "cos4-percent": "15", "cos3-percent": "25", "cos1-percent": "80" }, "cos-model": "6COS" }, "policing": { "pe-per-class-policing-behaviors": { "cos2-policing": "Remark", "cos3-policing": "Remark", "cos2v-policing": "Drop" }, "pe-per-class-policing-codes": { "cos3-policing-code": "M", "cos2-policing-code": "M", "cos2v-policing-code": "D" } } }, "contracted-port-speed": "10000", "contracted-port-speed-units": "Kbps", "port-level-cos-flag": "Y", "clli": "LONDENEH", "port-id": "ICORESITE-2751508" } }, "service-status": { "rpc-name": "service-configuration-notification", "request-status": "notifycomplete", "final-indicator": "Y", "rpc-action": "activateport", "response-timestamp": "2017-03-15T14:51:49.035Z", "l3sdn-action": "Layer3ServiceActivateRequest" } } ] }
The provider code will load all 3 data sources into the properties object and pass this to the directed graph. This hashmap has been dumped so it can easily be read here
operational-data.avpn-ip-port-information.avpn-access-information.access-circuit-id = DHEC.54831.170.ATI operational-data.avpn-ip-port-information.avpn-access-information.access-interface = _1G operational-data.avpn-ip-port-information.avpn-access-information.access-speed = 10000 operational-data.avpn-ip-port-information.avpn-access-information.access-speed-units = Kbps operational-data.avpn-ip-port-information.avpn-access-information.l1-customer-handoff = _1000BASELX operational-data.avpn-ip-port-information.avpn-access-information.managed-ce = N operational-data.avpn-ip-port-information.avpn-access-information.vlan-tag-control = _1Q operational-data.avpn-ip-port-information.clli = LONDENEH operational-data.avpn-ip-port-information.contracted-port-speed = 10000 operational-data.avpn-ip-port-information.contracted-port-speed-units = Kbps operational-data.avpn-ip-port-information.endpoint-information.bundle-id = 33 operational-data.avpn-ip-port-information.endpoint-information.interface-string = ae0 operational-data.avpn-ip-port-information.endpoint-information.vpe-name = gblondxxxxxx operational-data.avpn-ip-port-information.port-id = ICORESITE-2751508 operational-data.avpn-ip-port-information.port-level-cos-flag = Y operational-data.avpn-ip-port-information.port-level-cos.avpn-bundle-speed = 10000 operational-data.avpn-ip-port-information.port-level-cos.avpn-bundle-speed-units = Kbps operational-data.avpn-ip-port-information.port-level-cos.cos-model = 6COS operational-data.avpn-ip-port-information.port-level-cos.cos-package = MultimediaHigh operational-data.avpn-ip-port-information.port-level-cos.egress-profile.cos-model = 6COS operational-data.avpn-ip-port-information.port-level-cos.egress-profile.cos-profile-id = 3826 operational-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos1-percent = 80 operational-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos2-percent = 50 operational-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos2v-percent = 10 operational-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos3-percent = 25 operational-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos4-percent = 15 operational-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos5-percent = 0 operational-data.avpn-ip-port-information.port-level-cos.egress-profile.v6-policy-name-out = classifier6_port_80:2P:10W:5W:3:0N_iset33_out operational-data.avpn-ip-port-information.port-level-cos.ingress-profile.cos-model = 6COS operational-data.avpn-ip-port-information.port-level-cos.ingress-profile.cos-profile-id = 3826 operational-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos1-percent = 80 operational-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos2-percent = 50 operational-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos2v-percent = 10 operational-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos3-percent = 25 operational-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos4-percent = 15 operational-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos5-percent = 0 operational-data.avpn-ip-port-information.port-level-cos.ingress-profile.v6-policy-name-in = classifier6_port_80:2D:10M:5M:3:0_iset33_in operational-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-behaviors.cos2-policing = Remark operational-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-behaviors.cos2v-policing = Drop operational-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-behaviors.cos3-policing = Remark operational-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-codes.cos2-policing-code = M operational-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-codes.cos2v-policing-code = D operational-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-codes.cos3-policing-code = M operational-data.avpn-ip-port-information.port-level-cos.queueing.pe-egress-class-queueing-policing-codes.cos2-queueing-code = W operational-data.avpn-ip-port-information.port-level-cos.queueing.pe-egress-class-queueing-policing-codes.cos2v-queueing-code = P operational-data.avpn-ip-port-information.port-level-cos.queueing.pe-egress-class-queueing-policing-codes.cos3-queueing-code = W operational-data.avpn-ip-port-information.port-level-cos.queueing.pe-per-class-queueing-behaviors.cos2-queueing = WRED operational-data.avpn-ip-port-information.port-level-cos.queueing.pe-per-class-queueing-behaviors.cos2v-queueing = QueueLimit operational-data.avpn-ip-port-information.port-level-cos.queueing.pe-per-class-queueing-behaviors.cos3-queueing = WRED operational-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-behaviors.cos2-shaping = Disable operational-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-behaviors.cos2v-shaping = Enable operational-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-behaviors.cos3-shaping = Disable operational-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-codes.cos2-shaping-code = W operational-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-codes.cos2v-shaping-code = P operational-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-codes.cos3-shaping-code = W operational-data.oper-status.order-status = Completed operational-data.request-information.configuration-action = Layer3ServiceActivateRequest operational-data.request-information.notification-url = https://tst10-lpp.oss.att.com/lppbck-service/rest/ext/vpe/notification operational-data.request-information.request-action = ChangeLayer3ServiceActivateRequest operational-data.request-information.request-id = ICORESITE-2751508 operational-data.request-information.source = SDNC operational-data.sdnc-request-header.svc-action = Activateport operational-data.sdnc-request-header.svc-notification-url = https://tst10-lpp.oss.att.com/lppbck-service/rest/ext/vpe/notification operational-data.sdnc-request-header.svc-request-id = ICORESITE-2751508 operational-data.service-information.service-instance-id = ICORESITE-2751508 operational-data.service-information.service-type = AVPN service-configuration-notification-input.ack-final-indicator = Y service-configuration-notification-input.response-code = 0 service-configuration-notification-input.response-message = Plc Activation Failed: Device gblond2005me6 Sync-from Failed. Please check device IP address and NCS setup. service-configuration-notification-input.service-information.service-instance-id = TEST7 service-configuration-notification-input.service-information.service-type = AVPN service-configuration-notification-input.svc-request-id = TEST7 service-data.avpn-ip-port-information.avpn-access-information.access-circuit-id = DHEC.54831.170.ATI service-data.avpn-ip-port-information.avpn-access-information.access-interface = _1G service-data.avpn-ip-port-information.avpn-access-information.access-speed = 10000 service-data.avpn-ip-port-information.avpn-access-information.access-speed-units = Kbps service-data.avpn-ip-port-information.avpn-access-information.l1-customer-handoff = _1000BASELX service-data.avpn-ip-port-information.avpn-access-information.managed-ce = N service-data.avpn-ip-port-information.avpn-access-information.vlan-tag-control = _1Q service-data.avpn-ip-port-information.clli = LONDENEH service-data.avpn-ip-port-information.contracted-port-speed = 10000 service-data.avpn-ip-port-information.contracted-port-speed-units = Kbps service-data.avpn-ip-port-information.endpoint-information.bundle-id = 33 service-data.avpn-ip-port-information.endpoint-information.interface-string = ae0 service-data.avpn-ip-port-information.endpoint-information.vpe-name = gblondxxxxxx service-data.avpn-ip-port-information.port-id = ICORESITE-2751508 service-data.avpn-ip-port-information.port-level-cos-flag = Y service-data.avpn-ip-port-information.port-level-cos.avpn-bundle-speed = 10000 service-data.avpn-ip-port-information.port-level-cos.avpn-bundle-speed-units = Kbps service-data.avpn-ip-port-information.port-level-cos.cos-model = 6COS service-data.avpn-ip-port-information.port-level-cos.cos-package = MultimediaHigh service-data.avpn-ip-port-information.port-level-cos.egress-profile.cos-model = 6COS service-data.avpn-ip-port-information.port-level-cos.egress-profile.cos-profile-id = 3826 service-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos1-percent = 80 service-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos2-percent = 50 service-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos2v-percent = 10 service-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos3-percent = 25 service-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos4-percent = 15 service-data.avpn-ip-port-information.port-level-cos.egress-profile.pe-egress-cos-profile.cos5-percent = 0 service-data.avpn-ip-port-information.port-level-cos.egress-profile.v6-policy-name-out = classifier6_port_80:2P:10W:5W:3:0N_iset33_out service-data.avpn-ip-port-information.port-level-cos.ingress-profile.cos-model = 6COS service-data.avpn-ip-port-information.port-level-cos.ingress-profile.cos-profile-id = 3826 service-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos1-percent = 80 service-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos2-percent = 50 service-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos2v-percent = 10 service-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos3-percent = 25 service-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos4-percent = 15 service-data.avpn-ip-port-information.port-level-cos.ingress-profile.pe-ingress-cos-profile.cos5-percent = 0 service-data.avpn-ip-port-information.port-level-cos.ingress-profile.v6-policy-name-in = classifier6_port_80:2D:10M:5M:3:0_iset33_in service-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-behaviors.cos2-policing = Remark service-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-behaviors.cos2v-policing = Drop service-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-behaviors.cos3-policing = Remark service-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-codes.cos2-policing-code = M service-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-codes.cos2v-policing-code = D service-data.avpn-ip-port-information.port-level-cos.policing.pe-per-class-policing-codes.cos3-policing-code = M service-data.avpn-ip-port-information.port-level-cos.queueing.pe-egress-class-queueing-policing-codes.cos2-queueing-code = W service-data.avpn-ip-port-information.port-level-cos.queueing.pe-egress-class-queueing-policing-codes.cos2v-queueing-code = P service-data.avpn-ip-port-information.port-level-cos.queueing.pe-egress-class-queueing-policing-codes.cos3-queueing-code = W service-data.avpn-ip-port-information.port-level-cos.queueing.pe-per-class-queueing-behaviors.cos2-queueing = WRED service-data.avpn-ip-port-information.port-level-cos.queueing.pe-per-class-queueing-behaviors.cos2v-queueing = QueueLimit service-data.avpn-ip-port-information.port-level-cos.queueing.pe-per-class-queueing-behaviors.cos3-queueing = WRED service-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-behaviors.cos2-shaping = Disable service-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-behaviors.cos2v-shaping = Enable service-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-behaviors.cos3-shaping = Disable service-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-codes.cos2-shaping-code = W service-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-codes.cos2v-shaping-code = P service-data.avpn-ip-port-information.port-level-cos.shaping.pe-egress-per-class-shaping-codes.cos3-shaping-code = W service-data.oper-status.order-status = Completed service-data.request-information.configuration-action = Layer3ServiceActivateRequest service-data.request-information.notification-url = https://tst10-lpp.oss.att.com/lppbck-service/rest/ext/vpe/notification service-data.request-information.request-action = ChangeLayer3ServiceActivateRequest service-data.request-information.request-id = ICORESITE-2751508 service-data.request-information.source = SDNC service-data.sdnc-request-header.svc-action = Activateport service-data.sdnc-request-header.svc-notification-url = https://tst10-lpp.oss.att.com/lppbck-service/rest/ext/vpe/notification service-data.sdnc-request-header.svc-request-id = ICORESITE-2751508 service-data.service-information.service-instance-id = ICORESITE-2751508 service-data.service-information.service-type = AVPN
You should notice 3 things:
- The data from the operational tree is prefixed with operational-data
- The data from config is prefixed with service-data
- The data on the RPC input is prefixed with service-configuration-notification-input (the name of the RPC with input appended to the end)
Handling Lists
XML and JSON provide the support for lists. In the nodestring format these will be more like an array. Below is a snippet from the configuration tree
"ucpe-information": { "vnf-list": { "vnf-information": [ { "vnf-id": "518fec6f-fd09-431a-ab76-a14d6c6eafc9", "vnf-host-name": "USUCPMEVDIL0133UJTE03", "vnf-type": "TE" }, { "vnf-id": "0602e1cd-879a-47fd-98cc-975dff95a116", "vnf-host-name": "USUCPMEVDIL0133UJDM02", "vnf-type": "DM" }, { "vnf-id": "a0621689-185c-40af-b614-483b73f9e754", "vnf-host-name": "USUCPMEVDIL0133UJSW01", "vnf-type": "SW" } ] }
We can see this is a list of vnf-information. In the node string format it will appear as it is below.
service-data.ucpe-information.vnf-list.vnf-information[0].key = VnfInformationKey [_vnfId=ba799fc7-aee8-45bc-b563-30596165f0f1] service-data.ucpe-information.vnf-list.vnf-information[0].key.vnf-id = ba799fc7-aee8-45bc-b563-30596165f0f1 service-data.ucpe-information.vnf-list.vnf-information[0].vnf-host-name = USSTALCCIIL0127UJSW01 service-data.ucpe-information.vnf-list.vnf-information[0].vnf-id = ba799fc7-aee8-45bc-b563-30596165f0f1 service-data.ucpe-information.vnf-list.vnf-information[0].vnf-type = SW service-data.ucpe-information.vnf-list.vnf-information[1].key = VnfInformationKey [_vnfId=60c3858d-80cb-4d17-8461-fde90aed8b60] service-data.ucpe-information.vnf-list.vnf-information[1].key.vnf-id = 60c3858d-80cb-4d17-8461-fde90aed8b60 service-data.ucpe-information.vnf-list.vnf-information[1].vnf-host-name = USSTALCCIIL0127UJTE03 service-data.ucpe-information.vnf-list.vnf-information[1].vnf-id = 60c3858d-80cb-4d17-8461-fde90aed8b60 service-data.ucpe-information.vnf-list.vnf-information[1].vnf-type = TE service-data.ucpe-information.vnf-list.vnf-information[2].key = VnfInformationKey [_vnfId=6a1fb1ad-4eee-45a2-bead-93c05d45863b] service-data.ucpe-information.vnf-list.vnf-information[2].key.vnf-id = 6a1fb1ad-4eee-45a2-bead-93c05d45863b service-data.ucpe-information.vnf-list.vnf-information[2].vnf-host-name = USSTALCCIIL0127UJDM02 service-data.ucpe-information.vnf-list.vnf-information[2].vnf-id = 6a1fb1ad-4eee-45a2-bead-93c05d45863b service-data.ucpe-information.vnf-list.vnf-information[2].vnf-type = DM service-data.ucpe-information.vnf-list.vnf-information_length = 3
2 Comments
Chetan Singh
Sandeep Shah Brian Freeman : Is there an example where we modify the config/operation tree of SDNC using directed graphs ?
Chetan Singh
Sandeep Shah Brian Freeman : My understanding is that if SDNC already supports an rpc because its YANG model is present . Then if we create a DG with same module name and rpc name. Then it would have access to the config and operation tree of the SDNC . Is the understanding correct. Would really appreciate your help here.