Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

The purpose of this page is to describe the vDNS use case instantiation using the Controller Design Studio in ONAP Dublin Release.


What's new:

We can see from the demo that now we don't need to perform SDNCĀ Preloading to instantiate the service. The VNF naming and IP addressing will be auto assigned.

...

And later during the instantiation process, the configuration is deployed on the VF module by CDS via the new ConfigDeployBB.


Video demo of the vDNS instantiation

View file
namevdns-cds-dublin-7-6-2019.mp4
height250

Summary of the video demo

Before running the instantitation, we need to distribute the vDNS service model in ONAP.

...



  • 1st Rest call will give us the service model details like UUID, Invariant UUID, and Service Model Name.


  • 2nd Rest call will give us the VNF and VF Module details.
Note
titleSTEP CDS2: Expose SO Catalog API

SO Catalog DB is NOT exposed by default, you will need something like the command below to be able to send the CDS #2 rest call to SO Catalog and get back the service VNF model details.

Code Block
kubectl -n onap expose pod onap-so-so-catalog-db-adapter-56d9cc554b-9fszd --type=LoadBalancer



  • 3rd Rest call will pull the details from the 1st and 2nd calls, and build the SO Service Assignment and Activation request.
  • I added a 4th Rest call in the collection that will pull the request id from the 3rd call coming from SO, and will show us the status of the requets, so we can track the progress, and see if it completes successfully.

Stack creation in Openstack

We can see the final stack created in Openstack, and the final network topology below.

Environment preparation for the Postman Collection:

In order to run the Postman collection correctly, we need to create 3 environment variables in Postman:

...

  • lcpCloudRegionId : the cloud-region nameĀ 
  • tenantId : the tenant id
  • public_net_id : the public network id in Openstack
  • onap_private_net_id : the private network id in Openstack, we need this as this is not created by the auto assignment service
  • onap_private_subnet_id : and the private subnet id
  • pub_key : the public key to be put on the VMs
  • image_name : Ubuntu 16 image name
  • flavor_name : flavor
  • sec_group : security group that will be applied to the VMs

SO Workflow BBs

After the Service Instantiation Rest Call to SO, we can see that SO decomposes the service into 1 VNF + 4 VF Modules, and SO created 18 Building Blocks that will be executed to instantiate the use case.

...

Code Block
titleSO BPMN Logs
collapsetrue
2019-06-07T03:15:10.440Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - Found Service - 1    Vnf - 1    VfModule - 4    VolumeGroup - 0    Network - 0    VirtualLink - 0    NetworkCollection - 0    Configuration - 0    InstanceGroup - 0    
...
2019-06-07T03:15:10.519Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - List of BuildingBlocks to execute:
2019-06-07T03:15:10.520Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - AssignServiceInstanceBB
2019-06-07T03:15:10.520Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - AssignVnfBB
2019-06-07T03:15:10.521Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - AssignVfModuleBB
2019-06-07T03:15:10.521Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - AssignVfModuleBB
2019-06-07T03:15:10.522Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - AssignVfModuleBB
2019-06-07T03:15:10.522Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - AssignVfModuleBB
2019-06-07T03:15:10.523Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - ConfigAssignVnfBB
2019-06-07T03:15:10.523Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - CreateVfModuleBB
2019-06-07T03:15:10.524Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - CreateVfModuleBB
2019-06-07T03:15:10.524Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - CreateVfModuleBB
2019-06-07T03:15:10.525Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - CreateVfModuleBB
2019-06-07T03:15:10.525Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - ActivateVfModuleBB
2019-06-07T03:15:10.526Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - ActivateVfModuleBB
2019-06-07T03:15:10.526Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - ActivateVfModuleBB
2019-06-07T03:15:10.527Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - ActivateVfModuleBB
2019-06-07T03:15:10.527Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - ConfigDeployVnfBB
2019-06-07T03:15:10.528Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - ActivateVnfBB
2019-06-07T03:15:10.528Z|f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3| o.o.s.b.i.workflow.tasks.WorkflowAction - ActivateServiceInstanceBB


SO ConfigAssignBB

In this BB, a configlet is generated and saved in CDS DB.

...

Code Block
titleConfiglets pushed into CDS DB
collapsetrue
SELECT * FROM sdnctl.RESOURCE_RESOLUTION_RESULT where resolution_key="fr2_ONAP-NF_20190607T031522008Z";

+--------------------------------------+--------------------+----------------+-------------------+---------------------+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| resource_resolution_result_id        | artifact_name      | blueprint_name | blueprint_version | creation_date       | resolution_key                  | result                                                                                                                                                                         |
+--------------------------------------+--------------------+----------------+-------------------+---------------------+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 15ba611c-62f9-4701-aa5f-c7e698a96a3a | incremental-config | test           | 1.0.0             | 2019-06-07 03:16:02 | fr2_ONAP-NF_20190607T031522008Z | {
    "vdns-instance": [
        {
            "ip-addr": "192.168.20.181",
            "oam-ip-addr": "10.0.101.187",
            "enabled": true
        }
    ]
}   |
| 40d33748-a61a-421a-80ac-ca3fee8c4996 | baseconfig         | test           | 1.0.0             | 2019-06-07 03:16:02 | fr2_ONAP-NF_20190607T031522008Z |      {
    "vdns-instance": [
        {
            "ip-addr": "192.168.20.181",
            "oam-ip-addr": "10.0.101.187",
            "enabled": false
        }
    ]
} |
+--------------------------------------+--------------------+----------------+-------------------+---------------------+---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)


SO ConfigDeployBB

In this BB, the config generated by ConfigAssign from teh CDS DB, and push the config to the network element.

...

Code Block
titleConfigDeploy logs from Blueprint Processor
collapsetrue
2019-06-14 12:52:41,731|||DefaultDispatcher-worker-8||||INFO||||||| processing request id 131c9716-ecb7-4a14-836c-bbe477b08e03
2019-06-14 12:52:41,732|||DefaultDispatcher-worker-8||||INFO||||||| cba file name(test), version(1.0.0) already present(/opt/app/onap/blueprints/deploy/test/1.0.0)
2019-06-14 12:52:41,732|||DefaultDispatcher-worker-8||||INFO||||||| blueprint base path /opt/app/onap/blueprints/deploy/test/1.0.0
2019-06-14 12:52:41,741|||grpc-default-executor-3||||INFO||||||| Completed
2019-06-14 12:52:41,743|||DefaultDispatcher-worker-8||||INFO||||||| Reading blueprint path(/opt/app/onap/blueprints/deploy/test/1.0.0) and entry definition file (Definitions/vDNS-CDS.json)
2019-06-14 12:52:41,756|||DefaultDispatcher-worker-8||||INFO||||||| assign workflow config-deploy input value ({"resolution-key":"fr2_ONAP-NF_20190614T124101743Z","config-deploy-properties":{"service-instance-id":"b3c59dca-be5a-4971-8247-2f19f8943d5c","vnf-id":"225a8a37-341a-423c-97c2-eb5a7f05d719","vnf-name":"fr2_ONAP-NF_20190614T124101743Z","service-model-uuid":"13d2da89-6da3-41a3-b970-ae14b697aa7d","vnf-customization-uuid":"7dec0cfb-593c-49f8-8640-c7b52922d5de"}})
2019-06-14 12:52:41,756|||DefaultDispatcher-worker-8||||INFO||||||| Executing workflow(config-deploy) NodeTemplate(config-deploy-process), derived from(tosca.nodes.Workflow)
2019-06-14 12:52:41,756|||DefaultDispatcher-worker-8||||INFO||||||| Executing workflow(config-deploy) directed graph NodeTemplate(config-deploy-process)
2019-06-14 12:52:41,756|||DefaultDispatcher-worker-8||||INFO||||||| Executing directed graph (/opt/app/onap/blueprints/deploy/test/1.0.0/Plans/CONFIG_ConfigDeploy.xml)
2019-06-14 12:52:41,896|||DefaultDispatcher-worker-8||||INFO||||||| Schema path file:/opt/app/onap/lib/org.onap.ccsdk.sli.core-sli-common-0.4.3.jar!/svclogic.xsd
2019-06-14 12:52:41,900|||DefaultDispatcher-worker-8||||INFO||||||| About to execute graph SvcLogicGraph [module=CONFIG, rpc=ConfigDeploy, mode=sync, version=1.0.0, md5sum=50f987c5e9bcbcd4d3dfc1dee2f173ea]
2019-06-14 12:52:41,900|||DefaultDispatcher-worker-8||||INFO||||||| About to execute node # 1 (block)
2019-06-14 12:52:41,900|||DefaultDispatcher-worker-8||||INFO||||||| executing node template(nf-account-collection) component(component-resource-resolution) interface(ResourceResolutionComponent) operation(process)
2019-06-14 12:52:41,901|||DefaultDispatcher-worker-8||||INFO||||||| preparing request id(131c9716-ecb7-4a14-836c-bbe477b08e03) for workflow(config-deploy) step(nf-account-collection)
2019-06-14 12:52:41,901|||DefaultDispatcher-worker-8||||INFO||||||| resolveNodeTemplateInterfaceOperationInputs for node template (nf-account-collection),interface name (ResourceResolutionComponent), operationName(process)
2019-06-14 12:52:41,901|||DefaultDispatcher-worker-8||||INFO||||||| input definition for node template (nf-account-collection), values ({artifact-prefix-names=["nf-params"]})
2019-06-14 12:52:41,901|||DefaultDispatcher-worker-8||||INFO||||||| Resolving resource for template artifact(nf-params-template) with resource assignment artifact(nf-params-mapping)
2019-06-14 12:52:41,945|||DefaultDispatcher-worker-8||||INFO||||||| Assignments ([[name=service-instance-id, dictionaryName=service-instance-id, dictionarySource=input], [name=vnf-id, dictionaryName=vnf-id, dictionarySource=input], [name=ip, dictionaryName=vlb_onap_private_ip_0, dictionarySource=primary-config-data]])
2019-06-14 12:52:41,945|||DefaultDispatcher-worker-8||||INFO||||||| Sorted Sequenced Assignments ([[name=*, dictionaryName=null, dictionarySource=null], [name=service-instance-id, dictionaryName=service-instance-id, dictionarySource=input], [name=vnf-id, dictionaryName=vnf-id, dictionarySource=input], [name=ip, dictionaryName=vlb_onap_private_ip_0, dictionarySource=primary-config-data]])
2019-06-14 12:52:41,945|||DefaultDispatcher-worker-8||||INFO||||||| Batched Sequence : ([[[name=*, dictionaryName=null, dictionarySource=null]], [[name=service-instance-id, dictionaryName=service-instance-id, dictionarySource=input], [name=vnf-id, dictionaryName=vnf-id, dictionarySource=input]], [[name=ip, dictionaryName=vlb_onap_private_ip_0, dictionarySource=primary-config-data]]])
2019-06-14 12:52:41,945|||DefaultDispatcher-worker-8||||INFO||||||| input source template key (service-instance-id) found from input and value is ("b3c59dca-be5a-4971-8247-2f19f8943d5c")
2019-06-14 12:52:41,945|||DefaultDispatcher-worker-8||||INFO||||||| Setting Resource Value ("b3c59dca-be5a-4971-8247-2f19f8943d5c") for Resource Name (service-instance-id) of type (string)
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| input source template key (vnf-id) found from input and value is ("225a8a37-341a-423c-97c2-eb5a7f05d719")
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| Setting Resource Value ("225a8a37-341a-423c-97c2-eb5a7f05d719") for Resource Name (vnf-id) of type (string)
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| dName: vlb_onap_private_ip_0
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| dSource: primary-config-data
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| resourceDefinition: org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceDefinition@18aaa0e0
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| resourceSource: org.onap.ccsdk.cds.controllerblueprints.core.data.NodeTemplate@1240b3ef
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| resourceSourceProperties: {verb="GET", type="JSON", url-path="/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vlb_onap_private_ip_0", path="/param/0/value", input-key-mapping={"service-instance-id":"service-instance-id","vnf-id":"vnf-id"}, output-key-mapping={"vlb_onap_private_ip_0":"value"}, key-dependencies=["service-instance-id","vnf-id"]}
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| sourceProperties: org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.RestResourceSource@681ba719
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| path: /param/0/value
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| inputKeyMapping: {service-instance-id=service-instance-id, vnf-id=vnf-id}
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| resolvedInputKeyMapping: {vnf-id=225a8a37-341a-423c-97c2-eb5a7f05d719, service-instance-id=b3c59dca-be5a-4971-8247-2f19f8943d5c}
2019-06-14 12:52:41,946|||DefaultDispatcher-worker-8||||INFO||||||| payload: 
2019-06-14 12:52:41,947|||DefaultDispatcher-worker-8||||INFO||||||| urlPath: /restconf/config/GENERIC-RESOURCE-API:services/service/b3c59dca-be5a-4971-8247-2f19f8943d5c/service-data/vnfs/vnf/225a8a37-341a-423c-97c2-eb5a7f05d719/vnf-data/vnf-topology/vnf-parameters-data/param/vlb_onap_private_ip_0
2019-06-14 12:52:41,947|||DefaultDispatcher-worker-8||||INFO||||||| verb: GET
2019-06-14 12:52:41,947|||DefaultDispatcher-worker-8||||INFO||||||| primary-config-data dictionary information : (/restconf/config/GENERIC-RESOURCE-API:services/service/b3c59dca-be5a-4971-8247-2f19f8943d5c/service-data/vnfs/vnf/225a8a37-341a-423c-97c2-eb5a7f05d719/vnf-data/vnf-topology/vnf-parameters-data/param/vlb_onap_private_ip_0), ({service-instance-id=service-instance-id, vnf-id=vnf-id}), ({vlb_onap_private_ip_0=value})
2019-06-14 12:52:41,947|||DefaultDispatcher-worker-8||||INFO||||||| prefix: blueprintsprocessor.restclient.primary-config-data
2019-06-14 12:52:41,947|||DefaultDispatcher-worker-8||||INFO||||||| type: basic-auth
2019-06-14 12:52:41,952|||DefaultDispatcher-worker-8||||INFO||||||| Rest request method(GET), url(/restconf/config/GENERIC-RESOURCE-API:services/service/b3c59dca-be5a-4971-8247-2f19f8943d5c/service-data/vnfs/vnf/225a8a37-341a-423c-97c2-eb5a7f05d719/vnf-data/vnf-topology/vnf-parameters-data/param/vlb_onap_private_ip_0)
2019-06-14 12:52:41,957|||DefaultDispatcher-worker-8||||INFO||||||| Response status(200 - OK)
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| response: WebClientResponse(status=200, body={"param":[{"name":"vlb_onap_private_ip_0","value":"10.0.101.65","resource-resolution-data":{"capability-name":"netbox-ip-assign","status":"SUCCESS","resource-key":[{"name":"external_key","value":"225a8a37-341a-423c-97c2-eb5a7f05d719-vlb_onap_private_ip_0"},{"name":"vnf-id","value":"225a8a37-341a-423c-97c2-eb5a7f05d719"},{"name":"service-instance-id","value":"b3c59dca-be5a-4971-8247-2f19f8943d5c"},{"name":"prefix-id","value":"3"}]}}]})
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| responseStatusCode: 200
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| responseBody: {"param":[{"name":"vlb_onap_private_ip_0","value":"10.0.101.65","resource-resolution-data":{"capability-name":"netbox-ip-assign","status":"SUCCESS","resource-key":[{"name":"external_key","value":"225a8a37-341a-423c-97c2-eb5a7f05d719-vlb_onap_private_ip_0"},{"name":"vnf-id","value":"225a8a37-341a-423c-97c2-eb5a7f05d719"},{"name":"service-instance-id","value":"b3c59dca-be5a-4971-8247-2f19f8943d5c"},{"name":"prefix-id","value":"3"}]}}]}
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| Response processing type(string)
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| populating value for output mapping ({vlb_onap_private_ip_0=value}), from json ("10.0.101.65")
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| For template key (ip) setting value as ("10.0.101.65")
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| Setting Resource Value ("10.0.101.65") for Resource Name (vlb_onap_private_ip_0) of type (string)
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| Generating Resource name (service-instance-id), type (string), value ("b3c59dca-be5a-4971-8247-2f19f8943d5c")
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| Generating Resource name (vnf-id), type (string), value ("225a8a37-341a-423c-97c2-eb5a7f05d719")
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| Generating Resource name (ip), type (string), value ("10.0.101.65")
2019-06-14 12:52:41,958|||DefaultDispatcher-worker-8||||INFO||||||| Generated Resource Param Data ({
  "service-instance-id" : "b3c59dca-be5a-4971-8247-2f19f8943d5c",
  "vnf-id" : "225a8a37-341a-423c-97c2-eb5a7f05d719",
  "ip" : "10.0.101.65"
})
2019-06-14 12:52:42,013|||DefaultDispatcher-worker-8||||INFO||||||| Preparing Response...
2019-06-14 12:52:42,013|||DefaultDispatcher-worker-8||||INFO||||||| resolveNodeTemplateInterfaceOperationOutputs for node template (nf-account-collection),interface name (ResourceResolutionComponent), operationName(process)
2019-06-14 12:52:42,013|||DefaultDispatcher-worker-8||||INFO||||||| executing node template(execute) component(component-netconf-executor) interface(ComponentNetconfExecutor) operation(process)
2019-06-14 12:52:42,014|||DefaultDispatcher-worker-8||||INFO||||||| preparing request id(131c9716-ecb7-4a14-836c-bbe477b08e03) for workflow(config-deploy) step(execute)
2019-06-14 12:52:42,014|||DefaultDispatcher-worker-8||||INFO||||||| resolveNodeTemplateInterfaceOperationInputs for node template (execute),interface name (ComponentNetconfExecutor), operationName(process)
2019-06-14 12:52:42,014|||DefaultDispatcher-worker-8||||INFO||||||| input definition for node template (execute), values ({script-type="jython", script-class-reference="Scripts/python/ConfigDeploy.py", instance-dependencies=[], dynamic-properties="*config-deploy-properties"})
2019-06-14 12:52:42,014|||DefaultDispatcher-worker-8||||INFO||||||| creating component function of script type(jython), reference name(Scripts/python/ConfigDeploy.py) and instanceDependencies([resource-resolution-service])
2019-06-14 12:52:42,014|||DefaultDispatcher-worker-8||||INFO||||||| Getting Jython Script Class(ConfigDeploy)
2019-06-14 12:52:42,048|||DefaultDispatcher-worker-8||||INFO||||||| Component Object org.python.proxies.__main__$ConfigDeploy$2@4549fcc8
{'ResolutionHelper': <class common.ResolutionHelper at 0x2>, 'os': <module 'os' from '/opt/app/onap/lib/org.python-jython-standalone-2.7.1.jar/Lib/os$py.class'>, 'log': Logger[ConfigDeploy], 'netconf_constant': <module 'netconf_constant' from '/opt/app/onap/scripts/jython/ccsdk_netconf/netconf_constant.py'>, 'NetconfClient': <class netconfclient.NetconfClient at 0x3>, '__builtins__': <module '__builtin__' (built-in)>, 'sys': <module 'sys' (built-in)>, 'ConfigDeploy': org.python.proxies.__main__$ConfigDeploy$2@4549fcc8, '__package__': None, 'sleep': <java function sleep 0x6>, '__name__': '__main__', '__doc__': None, 'NetconfComponentFunction': <type 'org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.NetconfComponentFunction'>}
Waiting 10 minutes...
2019-06-14 12:56:42,050|||DefaultDispatcher-worker-8||||INFO||||||| resolveNodeTemplateCapabilityProperties for node template(netconf-device) capability (netconf)
2019-06-14 12:56:42,916|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Connecting to Netconf Device with timeouts C:5, R:5, I:99999
2019-06-14 12:56:42,917|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Starting SSH session
2019-06-14 12:56:42,979|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: SSH session created
2019-06-14 12:56:44,483|||sshd-SshClient[49dab2c3]-nio2-thread-3||||WARN||||||| Server at /10.0.101.65:2831 presented unverified DSA key: SHA256:cIudj1QVStopQt45Dhrf11Abe6dghv/SQlQRjXfOtQk
2019-06-14 12:56:44,572|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: SSH session authenticated
2019-06-14 12:56:44,603|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: SSH NETCONF subsystem channel opened
2019-06-14 12:56:44,610|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Sending message: 
 <?xml version="1.0" encoding="UTF-8"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
  <capabilities>
    <capability>urn:ietf:params:netconf:base:1.0</capability>
    <capability>urn:ietf:params:netconf:base:1.1</capability>
  </capabilities>
</hello>
]]>]]>
2019-06-14 12:56:44,896|||Thread-25||||INFO||||||| 10.0.101.65:2831: Received message with messageId: -1  
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>urn:ietf:params:xml:ns:yang:iana-if-type?module=iana-if-type&revision=2014-05-08</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-interfaces?module=ietf-interfaces&revision=2014-05-08</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl?module=opendaylight-sal-binding-broker-impl&revision=2013-10-28</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring?module=ietf-netconf-monitoring&revision=2010-10-04</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:config:legacy-entity-ownership-service-provider?module=opendaylight-legacy-entity-ownership-service-provider&revision=2016-02-26</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2010-09-24</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netconf:northbound:notification?module=netconf-northbound-notification&revision=2015-08-06</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:config:netconf:northbound:impl?module=netconf-northbound-impl&revision=2015-01-12</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netconf:northbound:notification:impl?module=netconf-northbound-notification-impl&revision=2015-08-07</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding?module=opendaylight-md-sal-binding&revision=2013-10-28</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:v1:codec?module=opendaylight-md-sal-binding-v1-codec&revision=2016-07-14</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:general-entity?module=general-entity&revision=2015-08-20</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom?module=opendaylight-md-sal-dom&revision=2013-10-28</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:remote?module=sal-remote&revision=2014-01-14</capability>
<capability>urn:opendaylight:params:xml:ns:yang:md:sal:config:impl:cluster-singleton-service?module=cluster-singleton-service-impl&revision=2016-07-18</capability>
<capability>urn:opendaylight:yang:extension:yang-ext?module=yang-ext&revision=2013-07-09</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:rest:connector?module=opendaylight-rest-connector&revision=2014-07-24</capability>
<capability>urn:ietf:params:xml:ns:yang:rpc-context?module=rpc-context&revision=2013-06-17</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-netconf-notifications?module=ietf-netconf-notifications&revision=2012-02-06</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:config:netconf:auth?module=netconf-auth&revision=2015-07-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:operational-dom-store?module=opendaylight-operational-dom-datastore&revision=2014-06-17</capability>
<capability>urn:ietf:params:netconf:capability:exi:1.0</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netconf:north:mapper?module=netconf-northbound-mapper&revision=2015-01-14</capability>
<capability>urn:ietf:params:xml:ns:netconf:base:1.0?module=ietf-netconf&revision=2011-06-01</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-restconf-monitoring?module=ietf-restconf-monitoring&revision=2017-01-26</capability>
<capability>urn:TBD:params:xml:ns:yang:network-topology?module=network-topology&revision=2013-10-21</capability>
<capability>urn:opendaylight:params:xml:ns:yang:vlb-business-vnf-onap-plugin?module=vlb-business-vnf-onap-plugin&revision=2016-09-18</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-yang-types?module=ietf-yang-types&revision=2013-07-15</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netconf:northbound:ssh?module=netconf-northbound-ssh&revision=2015-01-14</capability>
<capability>urn:TBD:params:xml:ns:yang:network-topology?module=network-topology&revision=2013-07-12</capability>
<capability>urn:ietf:params:netconf:capability:candidate:1.0</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-restconf?module=ietf-restconf&revision=2013-10-19</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:entity-ownership-service?module=opendaylight-entity-ownership-service&revision=2015-08-10</capability>
<capability>urn:sal:restconf:event:subscription?module=sal-remote-augment&revision=2014-07-08</capability>
<capability>instance:identifier:patch:module?module=instance-identifier-patch-module&revision=2015-11-21</capability>
<capability>subscribe:to:notification?module=subscribe-to-notification&revision=2016-10-28</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-restconf?module=ietf-restconf&revision=2017-01-26</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netconf:northbound:tcp?module=netconf-northbound-tcp&revision=2015-04-23</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netconf:mdsal:mapper?module=netconf-mdsal-mapper&revision=2015-01-14</capability>
<capability>urn:opendaylight:params:xml:ns:yang:md:sal:config:spi:cluster-singleton-service?module=cluster-singleton-service-spi&revision=2016-07-18</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:common?module=opendaylight-md-sal-common&revision=2013-10-28</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:sal:restconf:service?module=sal-restconf-service&revision=2015-07-08</capability>
<capability>urn:opendaylight:params:xml:ns:yang:health-vnf-onap-plugin?module=health-vnf-onap-plugin&revision=2016-09-18</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider?module=opendaylight-inmemory-datastore-provider&revision=2014-06-17</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:config?module=config&revision=2013-04-05</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netconf:mdsal:notification?module=netconf-mdsal-notification&revision=2015-08-03</capability>
<capability>urn:ietf:params:xml:ns:netconf:notification:1.0?module=notifications&revision=2008-07-14</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netconf:mdsal:monitoring?module=netconf-mdsal-monitoring&revision=2015-02-18</capability>
<capability>urn:ietf:params:xml:ns:netmod:notification?module=nc-notifications&revision=2008-07-14</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring-extension?module=ietf-netconf-monitoring-extension&revision=2013-12-10</capability>
<capability>urn:opendaylight:params:xml:ns:yang:mdsal:core:general-entity?module=odl-general-entity&revision=2015-09-30</capability>
<capability>urn:ietf:params:netconf:base:1.1</capability>
<capability>urn:ietf:params:netconf:base:1.0</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:config-dom-store?module=opendaylight-config-dom-datastore&revision=2014-06-17</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:config:netconf:northbound?module=netconf-northbound&revision=2015-01-14</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:netty?module=netty&revision=2013-11-19</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:threadpool?module=threadpool&revision=2013-04-09</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-yang-library?module=ietf-yang-library&revision=2016-06-21</capability>
<capability>urn:opendaylight:params:xml:ns:yang:controller:protocol:framework?module=protocol-framework&revision=2014-03-13</capability>
<capability>urn:ietf:params:xml:ns:yang:ietf-inet-types?module=ietf-inet-types&revision=2013-07-15</capability>
</capabilities>
<session-id>1</session-id>
</hello>

2019-06-14 12:56:44,898|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Connected to Netconf Device
2019-06-14 12:56:44,898|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: lock: messageId(1)
2019-06-14 12:56:44,898|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: send asyncRpc with messageId(1)
2019-06-14 12:56:44,898|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Sending message: 
 
#161
<?xml version="1.0" encoding="UTF-8"?>
<rpc message-id="1" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<lock>
<target>
<candidate/>
</target>
</lock>
</rpc>
##

2019-06-14 12:56:45,129|||Thread-25||||INFO||||||| 10.0.101.65:2831: Received message with messageId: 1  
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="1">
<ok/>
</rpc-reply>

2019-06-14 12:56:45,131|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: discard: messageId(2)
2019-06-14 12:56:45,131|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: send asyncRpc with messageId(2)
2019-06-14 12:56:45,131|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Sending message: 
 
#133
<?xml version="1.0" encoding="UTF-8"?>
<rpc message-id="2" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<discard-changes/>
</rpc>
##

2019-06-14 12:56:45,137|||Thread-25||||INFO||||||| 10.0.101.65:2831: Received message with messageId: 2  
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="2">
<ok/>
</rpc-reply>

2019-06-14 12:56:45,137|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: editConfig: messageId(3)
2019-06-14 12:56:45,137|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: send asyncRpc with messageId(3)
2019-06-14 12:56:45,138|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Sending message: 
 
#460
<?xml version="1.0" encoding="UTF-8"?>
<rpc message-id="3" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target>
<candidate/>
</target>
<default-operation>none</default-operation>
<config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
{
    "vdns-instance": [
        {
            "ip-addr": "192.168.20.63",
            "oam-ip-addr": "10.0.101.63",
            "enabled": true
        }
    ]
}
</config>
</edit-config>
</rpc>
##

2019-06-14 12:56:45,148|||Thread-25||||INFO||||||| 10.0.101.65:2831: Received message with messageId: 3  
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="3">
<ok/>
</rpc-reply>

2019-06-14 12:56:45,150|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: editConfig: messageId(4)
2019-06-14 12:56:45,150|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: send asyncRpc with messageId(4)
2019-06-14 12:56:45,150|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Sending message: 
 
#461
<?xml version="1.0" encoding="UTF-8"?>
<rpc message-id="4" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target>
<candidate/>
</target>
<default-operation>none</default-operation>
<config xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0">
{
    "vdns-instance": [
        {
            "ip-addr": "192.168.20.63",
            "oam-ip-addr": "10.0.101.63",
            "enabled": false
        }
    ]
}
</config>
</edit-config>
</rpc>
##

2019-06-14 12:56:45,154|||Thread-25||||INFO||||||| 10.0.101.65:2831: Received message with messageId: 4  
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="4">
<ok/>
</rpc-reply>

2019-06-14 12:56:45,154|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: send asyncRpc with messageId(5)
2019-06-14 12:56:45,154|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Sending message: 
 
#169
<?xml version="1.0" encoding="UTF-8"?>
<rpc message-id="5" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<validate>
<source>
<candidate/>
</source>
</validate>
</rpc>
##

2019-06-14 12:56:45,243|||Thread-25||||INFO||||||| 10.0.101.65:2831: Received message with messageId: 5  
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc-reply message-id="5" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<rpc-error>
<error-type>application</error-type>
<error-tag>operation-failed</error-tag>
<error-severity>error</error-severity>
<error-message>RPC failed</error-message>
<error-info>
<operation_failed>Exception thrown</operation_failed>
</error-info>
</rpc-error>
</rpc-reply>

2019-06-14 12:56:45,244|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: commit: messageId(6)
2019-06-14 12:56:45,244|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: send asyncRpc with messageId(6)
2019-06-14 12:56:45,244|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Sending message: 
 
#133
<?xml version="1.0" encoding="UTF-8"?>
<rpc message-id="6" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<commit>
</commit>
</rpc>
##

2019-06-14 12:56:45,248|||Thread-25||||INFO||||||| 10.0.101.65:2831: Received message with messageId: 6  
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="6">
<ok/>
</rpc-reply>

2019-06-14 12:56:45,248|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: unLock: messageId(7)
2019-06-14 12:56:45,248|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: send asyncRpc with messageId(7)
2019-06-14 12:56:45,248|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Sending message: 
 
#165
<?xml version="1.0" encoding="UTF-8"?>
<rpc message-id="7" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<unlock>
<target>
<candidate/>
</target>
</unlock>
</rpc>
##

2019-06-14 12:56:45,253|||Thread-25||||INFO||||||| 10.0.101.65:2831: Received message with messageId: 7  
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="7">
<ok/>
</rpc-reply>

2019-06-14 12:56:45,253|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: closeSession: messageId(8)
2019-06-14 12:56:45,253|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: send asyncRpc with messageId(8)
2019-06-14 12:56:45,253|||DefaultDispatcher-worker-8||||INFO||||||| 10.0.101.65:2831: Sending message: 
 
#131
<?xml version="1.0" encoding="UTF-8"?>
<rpc message-id="8" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<close-session/>
</rpc>
##

2019-06-14 12:56:45,261|||Thread-25||||INFO||||||| 10.0.101.65:2831: Received message with messageId: 8  
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="8">
<ok/>
</rpc-reply>

2019-06-14 12:56:45,275|||DefaultDispatcher-worker-8||||INFO||||||| Preparing Response...
2019-06-14 12:56:45,275|||DefaultDispatcher-worker-8||||INFO||||||| resolveNodeTemplateInterfaceOperationOutputs for node template (execute),interface name (ComponentNetconfExecutor), operationName(process)
2019-06-14 12:56:45,275|||DefaultDispatcher-worker-8||||INFO||||||| resolveWorkflowOutputs for workflow(config-deploy)

Results of the Postman Rest calls:

Below the output of the calls shown in the video:

...