E2E Automation vDNS w/ CDS Use Case - ONAP-03-Run Time- Video Demo for vDNS CDS Dublin
- A. Seaudi
- Yuriy Malakov
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.
Also, we can see that a configuration is generated and save in CDS DB via the new ConfigAssignBB.
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
Summary of the video demo
Before running the instantitation, we need to distribute the vDNS service model in ONAP.
Then, we can use a Postman collection as shown in the video that has 3 Rest Calls and some code to automate the instantiation of the vDNS use case:
| |
STEP 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. kubectl -n onap expose pod onap-so-so-catalog-db-adapter-56d9cc554b-9fszd --type=LoadBalancer | |
| |
|
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:
- cds-service-model: This is the name of the service model distributed by the robot script, you can find it by running CDS #1 call once and looking for the VNF that has today's date and time.
- cds-instance-name: This is the name of the service instance we will instantiate.
- k8s: This is our ONAP Load Balancer IP Address.
Also, we need to update our IaaS Openstack parameters in the body of the SO Service Instantiation Rest call CDS#3:
- 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.
In the video above we can see the BBs as they progressing, until the full workflow is completed, and in the video shows the stack as it comes up in Openstack.
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.
The snapshot below shows the table, we can see we have 2 configs, one called baseconfig, and another called incremental config.
Below the logs generated by the CDS Blueprint Processor showing the ConfigAssign:
2019-06-07 03:16:02,643|||grpc-default-executor-2||||INFO||||||| processing request id f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3 2019-06-07 03:16:02,644|||grpc-default-executor-2||||INFO||||||| cba file name(test), version(1.0.0) already present(/opt/app/onap/blueprints/deploy/test/1.0.0) 2019-06-07 03:16:02,644|||grpc-default-executor-2||||INFO||||||| blueprint base path /opt/app/onap/blueprints/deploy/test/1.0.0 2019-06-07 03:16:02,653|||grpc-default-executor-2||||INFO||||||| Reading blueprint path(/opt/app/onap/blueprints/deploy/test/1.0.0) and entry definition file (Definitions/vDNS-CDS.json) 2019-06-07 03:16:02,667|||grpc-default-executor-2||||INFO||||||| assign workflow config-assign input value ({"resolution-key":"fr2_ONAP-NF_20190607T031522008Z","config-assign-properties":{"service-instance-id":"1a0fbd43-0ab6-4d67-99f4-14a890505a8d","vnf-id":"1bed94d9-9a12-458a-b891-7c04796b5af4","vnf-name":"fr2_ONAP-NF_20190607T031522008Z","service-model-uuid":"ad40aa27-b3fe-4fc3-8755-ebb1494f5913","vnf-customization-uuid":"6409e9d9-a469-4546-a7b4-e508ecc1e77f","service":"{instanceParams=[], instanceName=cds-test, resources={vnfs=[{modelInfo={modelName=cds-vnf-99, modelVersionId=a44d59b8-91b4-4692-8c29-e0088c901cc6, modelInvariantUuid=fd41f747-122d-45b9-87fd-2a6d7d434728, modelVersion=1.0, modelCustomizationId=6409e9d9-a469-4546-a7b4-e508ecc1e77f, modelInstanceName=cds-vnf-99 0}, cloudConfiguration={lcpCloudRegionId=fr2, tenantId=6270eaa820934710960682c506115453}, platform={platformName=test}, lineOfBusiness={lineOfBusinessName=LOB-Demonstration}, productFamilyId=a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb, instanceName=cds-vnf-99 0, instanceParams=[{onap_private_net_id=olc-private, onap_private_subnet_id=olc-private, pub_key=ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs84Cy8+qi/jvucay0BwFtOq3ian0ulTXFGxkZcZCR0N48j88pbHJaEqb9e25MAsrfH+7Etb9Kd5nbBThEL/i0AyHXnDsc80Oq0sqlLcfLo3SGSurkrNoRofHboJ5Hn+N9SlWN5FCQGbTx1w3rjqR4LasAI6XxH9xpXSFyyge6ysVXH0cYaZ8sg98nFZa1fPJR9L8COjZvF+EYudub2RC5HVyV/sx7bliNFo9JwQh6du1abG4G7ZDjTIcYwYp21iq52UzWU28RVcAyY6AQZJu2lHLdsr8fPvyeWZpC5EqGsxI1G609m9G/dURRKwYfez/f2ATzpn5QjEX7LrLWBM8r Generated-by-Nova, image_name=Ubuntu 16.04, flavor_name=n2.cw.standard-2, sec_group=olc-open, install_script_version=1.4.0-SNAPSHOT, demo_artifacts_version=1.4.0-SNAPSHOT, cloud_env=openstack, public_net_id=olc-public, aic-cloud-region=fr2}], vfModules=[{modelInfo={modelName=CdsVnf99..base_template..module-0, modelVersionId=dd43a4cb-2123-4213-a76a-38638507eb7f, modelInvariantUuid=a22c3514-028e-4ed9-9bd8-9dda79d35278, modelVersion=1, modelCustomizationId=b0421854-bebb-455b-a96f-33db5640b60a}, instanceName=CdsVnf99..base_template..module-0, instanceParams=[{sec_group=olc-open, public_net_id=olc-net}]}, {modelInfo={modelName=CdsVnf99..vpkg..module-1, modelVersionId=b4283579-8e0f-4de4-8eed-8640a24f3625, modelInvariantUuid=dbad0645-3c57-4f2e-8a47-887c125b7ae0, modelVersion=1, modelCustomizationId=1339d96b-0347-4c53-a1f2-923482aa71ec}, instanceName=CdsVnf99..vpkg..module-1, instanceParams=[{sec_group=olc-open, public_net_id=olc-net}]}, {modelInfo={modelName=CdsVnf99..vlb..module-2, modelVersionId=d8ed100e-9c1d-4b37-a17f-0a300e5096c7, modelInvariantUuid=3174d161-c832-4b58-ac46-1fc30f40030c, modelVersion=1, modelCustomizationId=3df8956d-601f-4312-a5f1-f186f7ad98d4}, instanceName=CdsVnf99..vlb..module-2, instanceParams=[{sec_group=olc-open, public_net_id=olc-net}]}, {modelInfo={modelName=CdsVnf99..vdns..module-3, modelVersionId=776f80d3-3e18-40c5-adc9-36061fcb452c, modelInvariantUuid=80cbf0f3-a80a-4b9b-a9ec-63006c0be349, modelVersion=1, modelCustomizationId=3c2235ff-cbe5-4037-9470-614c069aa334}, instanceName=CdsVnf99..vdns..module-3, instanceParams=[{sec_group=olc-open, public_net_id=olc-net}]}]}]}, modelInfo={modelVersion=1.0, modelVersionId=ad40aa27-b3fe-4fc3-8755-ebb1494f5913, modelInvariantId=fa3a6aa5-c77d-4b94-b300-9b7a2eb21627, modelName=cds-svc-99, modelType=service}}","Homing_Solution":"none"}}) 2019-06-07 03:16:02,668|||grpc-default-executor-2||||INFO||||||| Executing workflow(config-assign) NodeTemplate(config-assign), derived from(tosca.nodes.Component) 2019-06-07 03:16:02,668|||grpc-default-executor-2||||INFO||||||| executing node template(config-assign) component(component-resource-resolution) interface(ResourceResolutionComponent) operation(process) 2019-06-07 03:16:02,668|||grpc-default-executor-2||||INFO||||||| preparing request id(f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3) for workflow(config-assign) step(config-assign) 2019-06-07 03:16:02,668|||grpc-default-executor-2||||INFO||||||| resolveNodeTemplateInterfaceOperationInputs for node template (config-assign),interface name (ResourceResolutionComponent), operationName(process) 2019-06-07 03:16:02,669|||grpc-default-executor-2||||INFO||||||| input definition for node template (config-assign), values ({resolution-key={"get_input":"resolution-key"}, store-result=true, artifact-prefix-names=["baseconfig","incremental-config"]}) 2019-06-07 03:16:02,669|||grpc-default-executor-2||||INFO||||||| Resolving resource for template artifact(baseconfig-template) with resource assignment artifact(baseconfig-mapping) 2019-06-07 03:16:02,728|||grpc-default-executor-2||||INFO||||||| Assignments ([[name=service-instance-id, dictionaryName=service-instance-id, dictionarySource=input], [name=vnf-id, dictionaryName=vnf-id, dictionarySource=input], [name=vdns_int_private_ip_0, dictionaryName=vdns_int_private_ip_0, dictionarySource=primary-config-data], [name=vdns_onap_private_ip_0, dictionaryName=vdns_onap_private_ip_0, dictionarySource=primary-config-data]]) 2019-06-07 03:16:02,728|||grpc-default-executor-2||||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=vdns_onap_private_ip_0, dictionaryName=vdns_onap_private_ip_0, dictionarySource=primary-config-data], [name=vdns_int_private_ip_0, dictionaryName=vdns_int_private_ip_0, dictionarySource=primary-config-data]]) 2019-06-07 03:16:02,728|||grpc-default-executor-2||||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=vdns_onap_private_ip_0, dictionaryName=vdns_onap_private_ip_0, dictionarySource=primary-config-data], [name=vdns_int_private_ip_0, dictionaryName=vdns_int_private_ip_0, dictionarySource=primary-config-data]]]) 2019-06-07 03:16:02,729|||grpc-default-executor-2||||INFO||||||| input source template key (service-instance-id) found from input and value is ("1a0fbd43-0ab6-4d67-99f4-14a890505a8d") 2019-06-07 03:16:02,729|||grpc-default-executor-2||||INFO||||||| Setting Resource Value ("1a0fbd43-0ab6-4d67-99f4-14a890505a8d") for Resource Name (service-instance-id) of type (string) 2019-06-07 03:16:02,729|||grpc-default-executor-2||||INFO||||||| input source template key (vnf-id) found from input and value is ("1bed94d9-9a12-458a-b891-7c04796b5af4") 2019-06-07 03:16:02,729|||grpc-default-executor-2||||INFO||||||| Setting Resource Value ("1bed94d9-9a12-458a-b891-7c04796b5af4") for Resource Name (vnf-id) of type (string) 2019-06-07 03:16:02,729|||grpc-default-executor-2||||INFO||||||| Setting Resource Value () for Resource Name (vdns_onap_private_ip_0) of type (string) 2019-06-07 03:16:02,730|||grpc-default-executor-2||||INFO||||||| inputKeyMapping: {service-instance-id=service-instance-id, vnf-id=vnf-id} 2019-06-07 03:16:02,730|||grpc-default-executor-2||||INFO||||||| resolvedInputKeyMapping: {vnf-id=1bed94d9-9a12-458a-b891-7c04796b5af4, service-instance-id=1a0fbd43-0ab6-4d67-99f4-14a890505a8d} 2019-06-07 03:16:02,731|||grpc-default-executor-2||||INFO||||||| primary-config-data dictionary information : (/restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_onap_private_ip_0), ({service-instance-id=service-instance-id, vnf-id=vnf-id}), ({vdns_onap_private_ip_0=value}) 2019-06-07 03:16:02,731|||grpc-default-executor-2||||INFO||||||| prefix: blueprintsprocessor.restclient.primary-config-data 2019-06-07 03:16:02,731|||grpc-default-executor-2||||INFO||||||| type: basic-auth 2019-06-07 03:16:02,736|||grpc-default-executor-2||||INFO||||||| Rest request method(GET), url(/restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_onap_private_ip_0) 2019-06-07 03:16:02,744|||grpc-default-executor-2||||INFO||||||| Response status(200 - OK) 2019-06-07 03:16:02,744|||grpc-default-executor-2||||INFO||||||| response: WebClientResponse(status=200, body={"param":[{"name":"vdns_onap_private_ip_0","value":"10.0.101.187","resource-resolution-data":{"capability-name":"netbox-ip-assign","resource-key":[{"name":"external_key","value":"1bed94d9-9a12-458a-b891-7c04796b5af4-vdns_onap_private_ip_0"},{"name":"vnf-id","value":"1bed94d9-9a12-458a-b891-7c04796b5af4"},{"name":"service-instance-id","value":"1a0fbd43-0ab6-4d67-99f4-14a890505a8d"},{"name":"prefix-id","value":"3"}],"status":"SUCCESS"}}]}) 2019-06-07 03:16:02,744|||grpc-default-executor-2||||INFO||||||| responseStatusCode: 200 2019-06-07 03:16:02,744|||grpc-default-executor-2||||INFO||||||| responseBody: {"param":[{"name":"vdns_onap_private_ip_0","value":"10.0.101.187","resource-resolution-data":{"capability-name":"netbox-ip-assign","resource-key":[{"name":"external_key","value":"1bed94d9-9a12-458a-b891-7c04796b5af4-vdns_onap_private_ip_0"},{"name":"vnf-id","value":"1bed94d9-9a12-458a-b891-7c04796b5af4"},{"name":"service-instance-id","value":"1a0fbd43-0ab6-4d67-99f4-14a890505a8d"},{"name":"prefix-id","value":"3"}],"status":"SUCCESS"}}]} 2019-06-07 03:16:02,744|||grpc-default-executor-2||||INFO||||||| Response processing type(string) 2019-06-07 03:16:02,745|||grpc-default-executor-2||||INFO||||||| populating value for output mapping ({vdns_onap_private_ip_0=value}), from json ("10.0.101.187") 2019-06-07 03:16:02,745|||grpc-default-executor-2||||INFO||||||| For template key (vdns_onap_private_ip_0) setting value as ("10.0.101.187") 2019-06-07 03:16:02,745|||grpc-default-executor-2||||INFO||||||| Setting Resource Value ("10.0.101.187") for Resource Name (vdns_onap_private_ip_0) of type (string) 2019-06-07 03:16:02,745|||grpc-default-executor-2||||INFO||||||| Setting Resource Value () for Resource Name (vdns_int_private_ip_0) of type (string) 2019-06-07 03:16:02,747|||grpc-default-executor-2||||INFO||||||| inputKeyMapping: {service-instance-id=service-instance-id, vnf-id=vnf-id} 2019-06-07 03:16:02,747|||grpc-default-executor-2||||INFO||||||| resolvedInputKeyMapping: {vnf-id=1bed94d9-9a12-458a-b891-7c04796b5af4, service-instance-id=1a0fbd43-0ab6-4d67-99f4-14a890505a8d} 2019-06-07 03:16:02,747|||grpc-default-executor-2||||INFO||||||| primary-config-data dictionary information : (/restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_int_private_ip_0), ({service-instance-id=service-instance-id, vnf-id=vnf-id}), ({vdns_int_private_ip_0=value}) 2019-06-07 03:16:02,747|||grpc-default-executor-2||||INFO||||||| prefix: blueprintsprocessor.restclient.primary-config-data 2019-06-07 03:16:02,748|||grpc-default-executor-2||||INFO||||||| type: basic-auth 2019-06-07 03:16:02,754|||grpc-default-executor-2||||INFO||||||| Rest request method(GET), url(/restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_int_private_ip_0) 2019-06-07 03:16:02,759|||grpc-default-executor-2||||INFO||||||| Response status(200 - OK) 2019-06-07 03:16:02,759|||grpc-default-executor-2||||INFO||||||| response: WebClientResponse(status=200, body={"param":[{"name":"vdns_int_private_ip_0","value":"192.168.20.181","resource-resolution-data":{"capability-name":"netbox-ip-assign","resource-key":[{"name":"external_key","value":"1bed94d9-9a12-458a-b891-7c04796b5af4-vdns_int_private_ip_0"},{"name":"vnf-id","value":"1bed94d9-9a12-458a-b891-7c04796b5af4"},{"name":"service-instance-id","value":"1a0fbd43-0ab6-4d67-99f4-14a890505a8d"},{"name":"prefix-id","value":"1"}],"status":"SUCCESS"}}]}) 2019-06-07 03:16:02,759|||grpc-default-executor-2||||INFO||||||| responseStatusCode: 200 2019-06-07 03:16:02,759|||grpc-default-executor-2||||INFO||||||| responseBody: {"param":[{"name":"vdns_int_private_ip_0","value":"192.168.20.181","resource-resolution-data":{"capability-name":"netbox-ip-assign","resource-key":[{"name":"external_key","value":"1bed94d9-9a12-458a-b891-7c04796b5af4-vdns_int_private_ip_0"},{"name":"vnf-id","value":"1bed94d9-9a12-458a-b891-7c04796b5af4"},{"name":"service-instance-id","value":"1a0fbd43-0ab6-4d67-99f4-14a890505a8d"},{"name":"prefix-id","value":"1"}],"status":"SUCCESS"}}]} 2019-06-07 03:16:02,759|||grpc-default-executor-2||||INFO||||||| Response processing type(string) 2019-06-07 03:16:02,760|||grpc-default-executor-2||||INFO||||||| populating value for output mapping ({vdns_int_private_ip_0=value}), from json ("192.168.20.181") 2019-06-07 03:16:02,760|||grpc-default-executor-2||||INFO||||||| For template key (vdns_int_private_ip_0) setting value as ("192.168.20.181") 2019-06-07 03:16:02,760|||grpc-default-executor-2||||INFO||||||| Setting Resource Value ("192.168.20.181") for Resource Name (vdns_int_private_ip_0) of type (string) 2019-06-07 03:16:02,760|||grpc-default-executor-2||||INFO||||||| Generating Resource name (service-instance-id), type (string), value ("1a0fbd43-0ab6-4d67-99f4-14a890505a8d") 2019-06-07 03:16:02,760|||grpc-default-executor-2||||INFO||||||| Generating Resource name (vnf-id), type (string), value ("1bed94d9-9a12-458a-b891-7c04796b5af4") 2019-06-07 03:16:02,760|||grpc-default-executor-2||||INFO||||||| Generating Resource name (vdns_int_private_ip_0), type (string), value ("192.168.20.181") 2019-06-07 03:16:02,760|||grpc-default-executor-2||||INFO||||||| Generating Resource name (vdns_onap_private_ip_0), type (string), value ("10.0.101.187") 2019-06-07 03:16:02,760|||grpc-default-executor-2||||INFO||||||| Generated Resource Param Data ({ "service-instance-id" : "1a0fbd43-0ab6-4d67-99f4-14a890505a8d", "vnf-id" : "1bed94d9-9a12-458a-b891-7c04796b5af4", "vdns_int_private_ip_0" : "192.168.20.181", "vdns_onap_private_ip_0" : "10.0.101.187" }) 2019-06-07 03:16:02,782|||grpc-default-executor-2||||INFO||||||| resolution saved into database successfully : ({resolution-key=fr2_ONAP-NF_20190607T031522008Z, store-result=true}) 2019-06-07 03:16:02,783|||grpc-default-executor-2||||INFO||||||| Resolving resource for template artifact(incremental-config-template) with resource assignment artifact(incremental-config-mapping) 2019-06-07 03:16:02,805|||grpc-default-executor-2||||INFO||||||| Assignments ([[name=service-instance-id, dictionaryName=service-instance-id, dictionarySource=input], [name=vnf-id, dictionaryName=vnf-id, dictionarySource=input], [name=vdns_int_private_ip_0, dictionaryName=vdns_int_private_ip_0, dictionarySource=primary-config-data], [name=vdns_onap_private_ip_0, dictionaryName=vdns_onap_private_ip_0, dictionarySource=primary-config-data]]) 2019-06-07 03:16:02,805|||grpc-default-executor-2||||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=vdns_onap_private_ip_0, dictionaryName=vdns_onap_private_ip_0, dictionarySource=primary-config-data], [name=vdns_int_private_ip_0, dictionaryName=vdns_int_private_ip_0, dictionarySource=primary-config-data]]) 2019-06-07 03:16:02,805|||grpc-default-executor-2||||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=vdns_onap_private_ip_0, dictionaryName=vdns_onap_private_ip_0, dictionarySource=primary-config-data], [name=vdns_int_private_ip_0, dictionaryName=vdns_int_private_ip_0, dictionarySource=primary-config-data]]]) 2019-06-07 03:16:02,806|||grpc-default-executor-2||||INFO||||||| input source template key (service-instance-id) found from input and value is ("1a0fbd43-0ab6-4d67-99f4-14a890505a8d") 2019-06-07 03:16:02,806|||grpc-default-executor-2||||INFO||||||| Setting Resource Value ("1a0fbd43-0ab6-4d67-99f4-14a890505a8d") for Resource Name (service-instance-id) of type (string) 2019-06-07 03:16:02,806|||grpc-default-executor-2||||INFO||||||| input source template key (vnf-id) found from input and value is ("1bed94d9-9a12-458a-b891-7c04796b5af4") 2019-06-07 03:16:02,807|||grpc-default-executor-2||||INFO||||||| Setting Resource Value ("1bed94d9-9a12-458a-b891-7c04796b5af4") for Resource Name (vnf-id) of type (string) 2019-06-07 03:16:02,807|||grpc-default-executor-2||||INFO||||||| Setting Resource Value () for Resource Name (vdns_onap_private_ip_0) of type (string) 2019-06-07 03:16:02,807|||grpc-default-executor-2||||INFO||||||| dName: vdns_onap_private_ip_0 2019-06-07 03:16:02,807|||grpc-default-executor-2||||INFO||||||| dSource: primary-config-data 2019-06-07 03:16:02,807|||grpc-default-executor-2||||INFO||||||| resourceDefinition: org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceDefinition@6f4ef7d3 2019-06-07 03:16:02,807|||grpc-default-executor-2||||INFO||||||| resourceSource: org.onap.ccsdk.cds.controllerblueprints.core.data.NodeTemplate@5f62c18 2019-06-07 03:16:02,807|||grpc-default-executor-2||||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/vdns_onap_private_ip_0", path="/param/0/value", input-key-mapping={"service-instance-id":"service-instance-id","vnf-id":"vnf-id"}, output-key-mapping={"vdns_onap_private_ip_0":"value"}, key-dependencies=["service-instance-id","vnf-id"]} 2019-06-07 03:16:02,808|||grpc-default-executor-2||||INFO||||||| sourceProperties: org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.RestResourceSource@7efa8a5e 2019-06-07 03:16:02,808|||grpc-default-executor-2||||INFO||||||| path: /param/0/value 2019-06-07 03:16:02,808|||grpc-default-executor-2||||INFO||||||| inputKeyMapping: {service-instance-id=service-instance-id, vnf-id=vnf-id} 2019-06-07 03:16:02,808|||grpc-default-executor-2||||INFO||||||| resolvedInputKeyMapping: {vnf-id=1bed94d9-9a12-458a-b891-7c04796b5af4, service-instance-id=1a0fbd43-0ab6-4d67-99f4-14a890505a8d} 2019-06-07 03:16:02,808|||grpc-default-executor-2||||INFO||||||| payload: 2019-06-07 03:16:02,808|||grpc-default-executor-2||||INFO||||||| urlPath: /restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_onap_private_ip_0 2019-06-07 03:16:02,808|||grpc-default-executor-2||||INFO||||||| verb: GET 2019-06-07 03:16:02,808|||grpc-default-executor-2||||INFO||||||| primary-config-data dictionary information : (/restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_onap_private_ip_0), ({service-instance-id=service-instance-id, vnf-id=vnf-id}), ({vdns_onap_private_ip_0=value}) 2019-06-07 03:16:02,808|||grpc-default-executor-2||||INFO||||||| prefix: blueprintsprocessor.restclient.primary-config-data 2019-06-07 03:16:02,809|||grpc-default-executor-2||||INFO||||||| type: basic-auth 2019-06-07 03:16:02,814|||grpc-default-executor-2||||INFO||||||| Rest request method(GET), url(/restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_onap_private_ip_0) 2019-06-07 03:16:02,819|||grpc-default-executor-2||||INFO||||||| Response status(200 - OK) 2019-06-07 03:16:02,820|||grpc-default-executor-2||||INFO||||||| response: WebClientResponse(status=200, body={"param":[{"name":"vdns_onap_private_ip_0","value":"10.0.101.187","resource-resolution-data":{"capability-name":"netbox-ip-assign","resource-key":[{"name":"external_key","value":"1bed94d9-9a12-458a-b891-7c04796b5af4-vdns_onap_private_ip_0"},{"name":"vnf-id","value":"1bed94d9-9a12-458a-b891-7c04796b5af4"},{"name":"service-instance-id","value":"1a0fbd43-0ab6-4d67-99f4-14a890505a8d"},{"name":"prefix-id","value":"3"}],"status":"SUCCESS"}}]}) 2019-06-07 03:16:02,820|||grpc-default-executor-2||||INFO||||||| responseStatusCode: 200 2019-06-07 03:16:02,820|||grpc-default-executor-2||||INFO||||||| responseBody: {"param":[{"name":"vdns_onap_private_ip_0","value":"10.0.101.187","resource-resolution-data":{"capability-name":"netbox-ip-assign","resource-key":[{"name":"external_key","value":"1bed94d9-9a12-458a-b891-7c04796b5af4-vdns_onap_private_ip_0"},{"name":"vnf-id","value":"1bed94d9-9a12-458a-b891-7c04796b5af4"},{"name":"service-instance-id","value":"1a0fbd43-0ab6-4d67-99f4-14a890505a8d"},{"name":"prefix-id","value":"3"}],"status":"SUCCESS"}}]} 2019-06-07 03:16:02,820|||grpc-default-executor-2||||INFO||||||| Response processing type(string) 2019-06-07 03:16:02,820|||grpc-default-executor-2||||INFO||||||| populating value for output mapping ({vdns_onap_private_ip_0=value}), from json ("10.0.101.187") 2019-06-07 03:16:02,820|||grpc-default-executor-2||||INFO||||||| For template key (vdns_onap_private_ip_0) setting value as ("10.0.101.187") 2019-06-07 03:16:02,820|||grpc-default-executor-2||||INFO||||||| Setting Resource Value ("10.0.101.187") for Resource Name (vdns_onap_private_ip_0) of type (string) 2019-06-07 03:16:02,821|||grpc-default-executor-2||||INFO||||||| Setting Resource Value () for Resource Name (vdns_int_private_ip_0) of type (string) 2019-06-07 03:16:02,821|||grpc-default-executor-2||||INFO||||||| dName: vdns_int_private_ip_0 2019-06-07 03:16:02,821|||grpc-default-executor-2||||INFO||||||| dSource: primary-config-data 2019-06-07 03:16:02,821|||grpc-default-executor-2||||INFO||||||| resourceDefinition: org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceDefinition@70589c4c 2019-06-07 03:16:02,821|||grpc-default-executor-2||||INFO||||||| resourceSource: org.onap.ccsdk.cds.controllerblueprints.core.data.NodeTemplate@447af8b3 2019-06-07 03:16:02,821|||grpc-default-executor-2||||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/vdns_int_private_ip_0", path="/param/0/value", input-key-mapping={"service-instance-id":"service-instance-id","vnf-id":"vnf-id"}, output-key-mapping={"vdns_int_private_ip_0":"value"}, key-dependencies=["service-instance-id","vnf-id"]} 2019-06-07 03:16:02,822|||grpc-default-executor-2||||INFO||||||| sourceProperties: org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.RestResourceSource@6e782218 2019-06-07 03:16:02,822|||grpc-default-executor-2||||INFO||||||| path: /param/0/value 2019-06-07 03:16:02,822|||grpc-default-executor-2||||INFO||||||| inputKeyMapping: {service-instance-id=service-instance-id, vnf-id=vnf-id} 2019-06-07 03:16:02,822|||grpc-default-executor-2||||INFO||||||| resolvedInputKeyMapping: {vnf-id=1bed94d9-9a12-458a-b891-7c04796b5af4, service-instance-id=1a0fbd43-0ab6-4d67-99f4-14a890505a8d} 2019-06-07 03:16:02,822|||grpc-default-executor-2||||INFO||||||| payload: 2019-06-07 03:16:02,822|||grpc-default-executor-2||||INFO||||||| urlPath: /restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_int_private_ip_0 2019-06-07 03:16:02,822|||grpc-default-executor-2||||INFO||||||| verb: GET 2019-06-07 03:16:02,822|||grpc-default-executor-2||||INFO||||||| primary-config-data dictionary information : (/restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_int_private_ip_0), ({service-instance-id=service-instance-id, vnf-id=vnf-id}), ({vdns_int_private_ip_0=value}) 2019-06-07 03:16:02,822|||grpc-default-executor-2||||INFO||||||| prefix: blueprintsprocessor.restclient.primary-config-data 2019-06-07 03:16:02,823|||grpc-default-executor-2||||INFO||||||| type: basic-auth 2019-06-07 03:16:02,828|||grpc-default-executor-2||||INFO||||||| Rest request method(GET), url(/restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/vnf-parameters-data/param/vdns_int_private_ip_0) 2019-06-07 03:16:02,832|||grpc-default-executor-2||||INFO||||||| Response status(200 - OK) 2019-06-07 03:16:02,833|||grpc-default-executor-2||||INFO||||||| response: WebClientResponse(status=200, body={"param":[{"name":"vdns_int_private_ip_0","value":"192.168.20.181","resource-resolution-data":{"capability-name":"netbox-ip-assign","resource-key":[{"name":"external_key","value":"1bed94d9-9a12-458a-b891-7c04796b5af4-vdns_int_private_ip_0"},{"name":"vnf-id","value":"1bed94d9-9a12-458a-b891-7c04796b5af4"},{"name":"service-instance-id","value":"1a0fbd43-0ab6-4d67-99f4-14a890505a8d"},{"name":"prefix-id","value":"1"}],"status":"SUCCESS"}}]}) 2019-06-07 03:16:02,833|||grpc-default-executor-2||||INFO||||||| responseStatusCode: 200 2019-06-07 03:16:02,833|||grpc-default-executor-2||||INFO||||||| responseBody: {"param":[{"name":"vdns_int_private_ip_0","value":"192.168.20.181","resource-resolution-data":{"capability-name":"netbox-ip-assign","resource-key":[{"name":"external_key","value":"1bed94d9-9a12-458a-b891-7c04796b5af4-vdns_int_private_ip_0"},{"name":"vnf-id","value":"1bed94d9-9a12-458a-b891-7c04796b5af4"},{"name":"service-instance-id","value":"1a0fbd43-0ab6-4d67-99f4-14a890505a8d"},{"name":"prefix-id","value":"1"}],"status":"SUCCESS"}}]} 2019-06-07 03:16:02,833|||grpc-default-executor-2||||INFO||||||| Response processing type(string) 2019-06-07 03:16:02,833|||grpc-default-executor-2||||INFO||||||| populating value for output mapping ({vdns_int_private_ip_0=value}), from json ("192.168.20.181") 2019-06-07 03:16:02,833|||grpc-default-executor-2||||INFO||||||| For template key (vdns_int_private_ip_0) setting value as ("192.168.20.181") 2019-06-07 03:16:02,833|||grpc-default-executor-2||||INFO||||||| Setting Resource Value ("192.168.20.181") for Resource Name (vdns_int_private_ip_0) of type (string) 2019-06-07 03:16:02,833|||grpc-default-executor-2||||INFO||||||| Generating Resource name (service-instance-id), type (string), value ("1a0fbd43-0ab6-4d67-99f4-14a890505a8d") 2019-06-07 03:16:02,833|||grpc-default-executor-2||||INFO||||||| Generating Resource name (vnf-id), type (string), value ("1bed94d9-9a12-458a-b891-7c04796b5af4") 2019-06-07 03:16:02,834|||grpc-default-executor-2||||INFO||||||| Generating Resource name (vdns_int_private_ip_0), type (string), value ("192.168.20.181") 2019-06-07 03:16:02,834|||grpc-default-executor-2||||INFO||||||| Generating Resource name (vdns_onap_private_ip_0), type (string), value ("10.0.101.187") 2019-06-07 03:16:02,834|||grpc-default-executor-2||||INFO||||||| Generated Resource Param Data ({ "service-instance-id" : "1a0fbd43-0ab6-4d67-99f4-14a890505a8d", "vnf-id" : "1bed94d9-9a12-458a-b891-7c04796b5af4", "vdns_int_private_ip_0" : "192.168.20.181", "vdns_onap_private_ip_0" : "10.0.101.187" }) 2019-06-07 03:16:02,919|||grpc-default-executor-2||||INFO||||||| resolution saved into database successfully : ({resolution-key=fr2_ONAP-NF_20190607T031522008Z, store-result=true}) 2019-06-07 03:16:02,920|||grpc-default-executor-2||||INFO||||||| Preparing Response... 2019-06-07 03:16:02,920|||grpc-default-executor-2||||INFO||||||| resolveNodeTemplateInterfaceOperationOutputs for node template (config-assign),interface name (ResourceResolutionComponent), operationName(process) 2019-06-07 03:16:02,920|||grpc-default-executor-2||||INFO||||||| resolveWorkflowOutputs for workflow(config-assign) 2019-06-07 03:16:02,924|||grpc-default-executor-2||||INFO||||||| Completed
Below we can the configlets that were pushed to the CDS DB:
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.
This happens via a python script that uses netconf library to connect to the vLB and deploys the baseconfig and the incremental config on the vLB via Netconf.
Below the logs generated by Blueprint Processor for ConfigDeply, we can Netconf session initiated OK with the vLB:
UPDATE: This is an updated version of the logs, after we added a DG that will perform 2 steps. Node #1 below resolves the IP address of the vLB, and Node #2 runs the python script that connects via NETCONF to the vLB and deploys the configuation:
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:
REQUEST: GET /sdc/v1/catalog/services RESPONSE: { { "uuid": "ad40aa27-b3fe-4fc3-8755-ebb1494f5913", "invariantUUID": "fa3a6aa5-c77d-4b94-b300-9b7a2eb21627", "name": "cds-svc-99", "version": "1.0", "toscaModelURL": "/sdc/v1/catalog/services/ad40aa27-b3fe-4fc3-8755-ebb1494f5913/toscaModel", "category": "Network Service", "lifecycleState": "CERTIFIED", "lastUpdaterUserId": "jm0007", "distributionStatus": "DISTRIBUTED" } }
REQUEST: GET /ecomp/mso/catalog/v2/serviceVnfs?serviceModelName=cds-svc-99 RESPONSE: { "serviceVnfs": [ { "modelInfo": { "modelName": "cds-vnf-99", "modelUuid": "a44d59b8-91b4-4692-8c29-e0088c901cc6", "modelInvariantUuid": "fd41f747-122d-45b9-87fd-2a6d7d434728", "modelVersion": "1.0", "modelCustomizationUuid": "6409e9d9-a469-4546-a7b4-e508ecc1e77f", "modelInstanceName": "cds-vnf-99 0" }, "toscaNodeType": "org.openecomp.resource.vf.CdsVnf99", "nfFunction": null, "nfType": null, "nfRole": null, "nfNamingCode": null, "multiStageDesign": "false", "resourceInput": null, "vfModules": [ { "modelInfo": { "modelName": "CdsVnf99..base_template..module-0", "modelUuid": "dd43a4cb-2123-4213-a76a-38638507eb7f", "modelInvariantUuid": "a22c3514-028e-4ed9-9bd8-9dda79d35278", "modelVersion": "1", "modelCustomizationUuid": "b0421854-bebb-455b-a96f-33db5640b60a" }, "isBase": true, "vfModuleLabel": "base_template", "initialCount": 1, "hasVolumeGroup": false }, { "modelInfo": { "modelName": "CdsVnf99..vpkg..module-1", "modelUuid": "b4283579-8e0f-4de4-8eed-8640a24f3625", "modelInvariantUuid": "dbad0645-3c57-4f2e-8a47-887c125b7ae0", "modelVersion": "1", "modelCustomizationUuid": "1339d96b-0347-4c53-a1f2-923482aa71ec" }, "isBase": false, "vfModuleLabel": "vpkg", "initialCount": 0, "hasVolumeGroup": false }, { "modelInfo": { "modelName": "CdsVnf99..vlb..module-2", "modelUuid": "d8ed100e-9c1d-4b37-a17f-0a300e5096c7", "modelInvariantUuid": "3174d161-c832-4b58-ac46-1fc30f40030c", "modelVersion": "1", "modelCustomizationUuid": "3df8956d-601f-4312-a5f1-f186f7ad98d4" }, "isBase": false, "vfModuleLabel": "vlb", "initialCount": 0, "hasVolumeGroup": false }, { "modelInfo": { "modelName": "CdsVnf99..vdns..module-3", "modelUuid": "776f80d3-3e18-40c5-adc9-36061fcb452c", "modelInvariantUuid": "80cbf0f3-a80a-4b9b-a9ec-63006c0be349", "modelVersion": "1", "modelCustomizationUuid": "3c2235ff-cbe5-4037-9470-614c069aa334" }, "isBase": false, "vfModuleLabel": "vdns", "initialCount": 0, "hasVolumeGroup": false } ] } ] }
REQUEST: POST /onap/so/infra/serviceInstantiation/v7/serviceInstances { "requestDetails": { "subscriberInfo": { "globalSubscriberId": "Demonstration" }, "requestInfo": { "suppressRollback": false, "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "requestorId": "adt", "instanceName": "cds-test", "source": "VID" }, "cloudConfiguration": { "lcpCloudRegionId": "fr2", "tenantId": "6270eaa820934710960682c506115453", "cloudOwner":"CloudOwner" }, "requestParameters": { "subscriptionServiceType": "vFW", "userParams": [ { "Homing_Solution": "none" }, { "service": { "instanceParams": [ ], "instanceName": "cds-test", "resources": { "vnfs": [ { "modelInfo": { "modelName": "cds-vnf-99", "modelVersionId": "a44d59b8-91b4-4692-8c29-e0088c901cc6", "modelInvariantUuid": "fd41f747-122d-45b9-87fd-2a6d7d434728", "modelVersion": "1.0", "modelCustomizationId": "6409e9d9-a469-4546-a7b4-e508ecc1e77f", "modelInstanceName": "cds-vnf-99 0" }, "cloudConfiguration": { "lcpCloudRegionId": "fr2", "tenantId": "6270eaa820934710960682c506115453" }, "platform": { "platformName": "test" }, "lineOfBusiness": { "lineOfBusinessName": "LOB-Demonstration" }, "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "instanceName": "cds-vnf-99 0", "instanceParams": [ { "onap_private_net_id": "olc-private", "onap_private_subnet_id": "olc-private", "pub_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs84Cy8+qi/jvucay0BwFtOq3ian0ulTXFGxkZcZCR0N48j88pbHJaEqb9e25MAsrfH+7Etb9Kd5nbBThEL/i0AyHXnDsc80Oq0sqlLcfLo3SGSurkrNoRofHboJ5Hn+N9SlWN5FCQGbTx1w3rjqR4LasAI6XxH9xpXSFyyge6ysVXH0cYaZ8sg98nFZa1fPJR9L8COjZvF+EYudub2RC5HVyV/sx7bliNFo9JwQh6du1abG4G7ZDjTIcYwYp21iq52UzWU28RVcAyY6AQZJu2lHLdsr8fPvyeWZpC5EqGsxI1G609m9G/dURRKwYfez/f2ATzpn5QjEX7LrLWBM8r Generated-by-Nova", "image_name": "Ubuntu 16.04", "flavor_name":"n2.cw.standard-2", "sec_group":"olc-open", "install_script_version":"1.4.0-SNAPSHOT", "demo_artifacts_version":"1.4.0-SNAPSHOT", "cloud_env":"openstack", "public_net_id": "olc-public", "aic-cloud-region": "fr2" } ], "vfModules": [ { "modelInfo": { "modelName": "CdsVnf99..base_template..module-0", "modelVersionId": "dd43a4cb-2123-4213-a76a-38638507eb7f", "modelInvariantUuid": "a22c3514-028e-4ed9-9bd8-9dda79d35278", "modelVersion": "1", "modelCustomizationId": "b0421854-bebb-455b-a96f-33db5640b60a" }, "instanceName": "CdsVnf99..base_template..module-0", "instanceParams": [ { "sec_group": "olc-open", "public_net_id": "olc-net" } ] }, { "modelInfo": { "modelName": "CdsVnf99..vpkg..module-1", "modelVersionId": "b4283579-8e0f-4de4-8eed-8640a24f3625", "modelInvariantUuid": "dbad0645-3c57-4f2e-8a47-887c125b7ae0", "modelVersion": "1", "modelCustomizationId": "1339d96b-0347-4c53-a1f2-923482aa71ec" }, "instanceName": "CdsVnf99..vpkg..module-1", "instanceParams": [ { "sec_group": "olc-open", "public_net_id": "olc-net" } ] }, { "modelInfo": { "modelName": "CdsVnf99..vlb..module-2", "modelVersionId": "d8ed100e-9c1d-4b37-a17f-0a300e5096c7", "modelInvariantUuid": "3174d161-c832-4b58-ac46-1fc30f40030c", "modelVersion": "1", "modelCustomizationId": "3df8956d-601f-4312-a5f1-f186f7ad98d4" }, "instanceName": "CdsVnf99..vlb..module-2", "instanceParams": [ { "sec_group": "olc-open", "public_net_id": "olc-net" } ] }, { "modelInfo": { "modelName": "CdsVnf99..vdns..module-3", "modelVersionId": "776f80d3-3e18-40c5-adc9-36061fcb452c", "modelInvariantUuid": "80cbf0f3-a80a-4b9b-a9ec-63006c0be349", "modelVersion": "1", "modelCustomizationId": "3c2235ff-cbe5-4037-9470-614c069aa334" }, "instanceName": "CdsVnf99..vdns..module-3", "instanceParams": [ { "sec_group": "olc-open", "public_net_id": "olc-net" } ] } ] } ] }, "modelInfo": { "modelVersion": "1.0", "modelVersionId": "ad40aa27-b3fe-4fc3-8755-ebb1494f5913", "modelInvariantId": "fa3a6aa5-c77d-4b94-b300-9b7a2eb21627", "modelName": "cds-svc-99", "modelType": "service" } } } ], "aLaCarte": false }, "project": { "projectName": "Project-Demonstration" }, "owningEntity": { "owningEntityId": "67f2e84c-734d-4e90-a1e4-d2ffa2e75849", "owningEntityName": "OE-Demonstration" }, "modelInfo": { "modelVersion": "1.0", "modelVersionId": "ad40aa27-b3fe-4fc3-8755-ebb1494f5913", "modelInvariantId": "fa3a6aa5-c77d-4b94-b300-9b7a2eb21627", "modelName": "cds-svc-99", "modelType": "service" } } } RESPONSE: { "requestReferences": { "requestId": "f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3", "instanceId": "1a0fbd43-0ab6-4d67-99f4-14a890505a8d", "requestSelfLink": "http://84.39.39.120:30277/orchestrationRequests/v7/f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3" } }
REQUEST: GET /infraActiveRequests/f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3 RESPONSE: { "clientRequestId": null, "action": "createInstance", "requestStatus": "COMPLETE", "statusMessage": "Macro-Service-createInstance request was executed correctly.", "rollbackStatusMessage": null, "flowStatus": "Successfully completed all Building Blocks", "retryStatusMessage": null, "progress": 100, "startTime": "2019-06-07T03:15:07.000+0000", "endTime": "2019-06-07T03:18:41.000+0000", "source": "VID", "vnfId": "1bed94d9-9a12-458a-b891-7c04796b5af4", "vnfName": null, "vnfType": null, "serviceType": null, "aicNodeClli": null, "tenantId": "6270eaa820934710960682c506115453", "provStatus": null, "vnfParams": null, "vnfOutputs": null, "requestBody": "{\r\n \"requestDetails\": {\r\n \"subscriberInfo\": {\r\n \"globalSubscriberId\": \"Demonstration\"\r\n },\r\n \"requestInfo\": {\r\n \"suppressRollback\": false,\r\n \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\r\n \"requestorId\": \"adt\",\r\n \"instanceName\": \"cds-test\",\r\n \"source\": \"VID\"\r\n },\r\n \"cloudConfiguration\": {\r\n \"lcpCloudRegionId\": \"fr2\",\r\n \"tenantId\": \"6270eaa820934710960682c506115453\",\r\n \"cloudOwner\":\"CloudOwner\"\r\n },\r\n \"requestParameters\": {\r\n \"subscriptionServiceType\": \"vFW\",\r\n \"userParams\": [\r\n {\r\n \"Homing_Solution\": \"none\"\r\n },\r\n {\r\n \"service\": {\r\n \"instanceParams\": [\r\n ],\r\n \"instanceName\": \"cds-test\",\r\n \"resources\": {\r\n \"vnfs\": [\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"cds-vnf-99\",\r\n \"modelVersionId\": \"a44d59b8-91b4-4692-8c29-e0088c901cc6\",\r\n \"modelInvariantUuid\": \"fd41f747-122d-45b9-87fd-2a6d7d434728\",\r\n \"modelVersion\": \"1.0\",\r\n \"modelCustomizationId\": \"6409e9d9-a469-4546-a7b4-e508ecc1e77f\",\r\n \"modelInstanceName\": \"cds-vnf-99 0\"\r\n },\r\n \"cloudConfiguration\": {\r\n \"lcpCloudRegionId\": \"fr2\",\r\n \"tenantId\": \"6270eaa820934710960682c506115453\"\r\n },\r\n \"platform\": {\r\n \"platformName\": \"test\"\r\n },\r\n \"lineOfBusiness\": {\r\n \"lineOfBusinessName\": \"LOB-Demonstration\"\r\n },\r\n \"productFamilyId\": \"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb\",\r\n \"instanceName\": \"cds-vnf-99 0\",\r\n \"instanceParams\": [\r\n { \r\n \"onap_private_net_id\": \"olc-private\",\r\n \"onap_private_subnet_id\": \"olc-private\",\r\n \"pub_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs84Cy8+qi/jvucay0BwFtOq3ian0ulTXFGxkZcZCR0N48j88pbHJaEqb9e25MAsrfH+7Etb9Kd5nbBThEL/i0AyHXnDsc80Oq0sqlLcfLo3SGSurkrNoRofHboJ5Hn+N9SlWN5FCQGbTx1w3rjqR4LasAI6XxH9xpXSFyyge6ysVXH0cYaZ8sg98nFZa1fPJR9L8COjZvF+EYudub2RC5HVyV/sx7bliNFo9JwQh6du1abG4G7ZDjTIcYwYp21iq52UzWU28RVcAyY6AQZJu2lHLdsr8fPvyeWZpC5EqGsxI1G609m9G/dURRKwYfez/f2ATzpn5QjEX7LrLWBM8r Generated-by-Nova\",\r\n \"image_name\": \"Ubuntu 16.04\",\r\n \"flavor_name\":\"n2.cw.standard-2\",\r\n \"sec_group\":\"olc-open\",\r\n \"install_script_version\":\"1.4.0-SNAPSHOT\",\r\n \"demo_artifacts_version\":\"1.4.0-SNAPSHOT\",\r\n \"cloud_env\":\"openstack\",\r\n \"public_net_id\": \"olc-public\",\r\n \"aic-cloud-region\": \"fr2\"\r\n }\r\n ],\r\n \"vfModules\": [\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"CdsVnf99..base_template..module-0\",\r\n \"modelVersionId\": \"dd43a4cb-2123-4213-a76a-38638507eb7f\",\r\n \"modelInvariantUuid\": \"a22c3514-028e-4ed9-9bd8-9dda79d35278\",\r\n \"modelVersion\": \"1\",\r\n \"modelCustomizationId\": \"b0421854-bebb-455b-a96f-33db5640b60a\"\r\n },\r\n \"instanceName\": \"CdsVnf99..base_template..module-0\",\r\n \"instanceParams\": [\r\n {\r\n \"sec_group\": \"olc-open\",\r\n \"public_net_id\": \"olc-net\"\r\n }\r\n ]\r\n },\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"CdsVnf99..vpkg..module-1\",\r\n \"modelVersionId\": \"b4283579-8e0f-4de4-8eed-8640a24f3625\",\r\n \"modelInvariantUuid\": \"dbad0645-3c57-4f2e-8a47-887c125b7ae0\",\r\n \"modelVersion\": \"1\",\r\n \"modelCustomizationId\": \"1339d96b-0347-4c53-a1f2-923482aa71ec\"\r\n },\r\n \"instanceName\": \"CdsVnf99..vpkg..module-1\",\r\n \"instanceParams\": [\r\n {\r\n \"sec_group\": \"olc-open\",\r\n \"public_net_id\": \"olc-net\"\r\n }\r\n ]\r\n },\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"CdsVnf99..vlb..module-2\",\r\n \"modelVersionId\": \"d8ed100e-9c1d-4b37-a17f-0a300e5096c7\",\r\n \"modelInvariantUuid\": \"3174d161-c832-4b58-ac46-1fc30f40030c\",\r\n \"modelVersion\": \"1\",\r\n \"modelCustomizationId\": \"3df8956d-601f-4312-a5f1-f186f7ad98d4\"\r\n },\r\n \"instanceName\": \"CdsVnf99..vlb..module-2\",\r\n \"instanceParams\": [\r\n {\r\n \"sec_group\": \"olc-open\",\r\n \"public_net_id\": \"olc-net\"\r\n }\r\n ]\r\n },\r\n {\r\n \"modelInfo\": {\r\n \"modelName\": \"CdsVnf99..vdns..module-3\",\r\n \"modelVersionId\": \"776f80d3-3e18-40c5-adc9-36061fcb452c\",\r\n \"modelInvariantUuid\": \"80cbf0f3-a80a-4b9b-a9ec-63006c0be349\",\r\n \"modelVersion\": \"1\",\r\n \"modelCustomizationId\": \"3c2235ff-cbe5-4037-9470-614c069aa334\"\r\n },\r\n \"instanceName\": \"CdsVnf99..vdns..module-3\",\r\n \"instanceParams\": [\r\n {\r\n \"sec_group\": \"olc-open\",\r\n \"public_net_id\": \"olc-net\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n \"modelInfo\": {\r\n \"modelVersion\": \"1.0\",\r\n \"modelVersionId\": \"ad40aa27-b3fe-4fc3-8755-ebb1494f5913\",\r\n \"modelInvariantId\": \"fa3a6aa5-c77d-4b94-b300-9b7a2eb21627\",\r\n \"modelName\": \"cds-svc-99\",\r\n \"modelType\": \"service\"\r\n }\r\n }\r\n }\r\n ],\r\n \"aLaCarte\": false\r\n },\r\n \"project\": {\r\n \"projectName\": \"Project-Demonstration\"\r\n },\r\n \"owningEntity\": {\r\n \"owningEntityId\": \"67f2e84c-734d-4e90-a1e4-d2ffa2e75849\",\r\n \"owningEntityName\": \"OE-Demonstration\"\r\n },\r\n \"modelInfo\": {\r\n \"modelVersion\": \"1.0\",\r\n \"modelVersionId\": \"ad40aa27-b3fe-4fc3-8755-ebb1494f5913\",\r\n \"modelInvariantId\": \"fa3a6aa5-c77d-4b94-b300-9b7a2eb21627\",\r\n \"modelName\": \"cds-svc-99\",\r\n \"modelType\": \"service\"\r\n }\r\n }\r\n}", "responseBody": null, "lastModifiedBy": "CamundaBPMN", "modifyTime": "2019-06-07T03:18:41.000+0000", "requestType": null, "volumeGroupId": null, "volumeGroupName": null, "vfModuleId": null, "vfModuleName": null, "vfModuleModelName": null, "aaiServiceId": null, "aicCloudRegion": "fr2", "callBackUrl": null, "correlator": null, "serviceInstanceId": "1a0fbd43-0ab6-4d67-99f4-14a890505a8d", "serviceInstanceName": "cds-test", "requestScope": "service", "requestAction": "createInstance", "networkId": null, "networkName": null, "networkType": null, "requestorId": "adt", "configurationId": null, "configurationName": null, "operationalEnvId": null, "operationalEnvName": null, "instanceGroupId": null, "instanceGroupName": null, "requestUrl": "http://84.39.39.120:30277/onap/so/infra/serviceInstantiation/v7/serviceInstances", "requestURI": "f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3", "_links": { "self": { "href": "http://84.39.39.120:31323/infraActiveRequests/f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3" }, "infraActiveRequests": { "href": "http://84.39.39.120:31323/infraActiveRequests/f804a2b6-0e0d-49c4-bd67-7ba3ec0694b3" } } }
Service Instance in SDNC MDSAL (attached in file here vdns_sdnc_mdsal.txt, as it's too big for the a collapsable code block).
REQUEST: GET /aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/1a0fbd43-0ab6-4d67-99f4-14a890505a8d?depth=all RESPONSE: { "service-instance-id": "1a0fbd43-0ab6-4d67-99f4-14a890505a8d", "service-instance-name": "cds-test", "environment-context": "General_Revenue-Bearing", "workload-context": "Production", "model-invariant-id": "fa3a6aa5-c77d-4b94-b300-9b7a2eb21627", "model-version-id": "ad40aa27-b3fe-4fc3-8755-ebb1494f5913", "resource-version": "1559877521769", "selflink": "restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/service-topology/", "orchestration-status": "Active", "relationship-list": { "relationship": [ { "related-to": "project", "related-link": "/aai/v11/business/projects/project/Project-Demonstration", "relationship-data": [ { "relationship-key": "project.project-name", "relationship-value": "Project-Demonstration" } ] }, { "related-to": "owning-entity", "related-link": "/aai/v11/business/owning-entities/owning-entity/67f2e84c-734d-4e90-a1e4-d2ffa2e75849", "relationship-data": [ { "relationship-key": "owning-entity.owning-entity-id", "relationship-value": "67f2e84c-734d-4e90-a1e4-d2ffa2e75849" } ] }, { "related-to": "generic-vnf", "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/1bed94d9-9a12-458a-b891-7c04796b5af4", "relationship-data": [ { "relationship-key": "generic-vnf.vnf-id", "relationship-value": "1bed94d9-9a12-458a-b891-7c04796b5af4" } ], "related-to-property": [ { "property-key": "generic-vnf.vnf-name", "property-value": "fr2_ONAP-NF_20190607T031522008Z" } ] } ] } }
REQUEST: GET {{AAI}}/aai/v11/network/generic-vnfs/generic-vnf/1bed94d9-9a12-458a-b891-7c04796b5af4?depth=all RESPONSE: { "vnf-id": "1bed94d9-9a12-458a-b891-7c04796b5af4", "vnf-name": "fr2_ONAP-NF_20190607T031522008Z", "vnf-type": "cds-svc-99/null", "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", "prov-status": "NVTPROV", "operational-status": "out-of-service-path", "orchestration-status": "Active", "in-maint": false, "is-closed-loop-disabled": false, "resource-version": "1559877519020", "model-invariant-id": "fd41f747-122d-45b9-87fd-2a6d7d434728", "model-version-id": "a44d59b8-91b4-4692-8c29-e0088c901cc6", "model-customization-id": "6409e9d9-a469-4546-a7b4-e508ecc1e77f", "selflink": "restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vnf-topology/", "relationship-list": { "relationship": [ { "related-to": "service-instance", "related-link": "/aai/v11/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/service-instance/1a0fbd43-0ab6-4d67-99f4-14a890505a8d", "relationship-data": [ { "relationship-key": "customer.global-customer-id", "relationship-value": "Demonstration" }, { "relationship-key": "service-subscription.service-type", "relationship-value": "vFW" }, { "relationship-key": "service-instance.service-instance-id", "relationship-value": "1a0fbd43-0ab6-4d67-99f4-14a890505a8d" } ], "related-to-property": [ { "property-key": "service-instance.service-instance-name", "property-value": "cds-test" } ] }, { "related-to": "line-of-business", "related-link": "/aai/v11/business/lines-of-business/line-of-business/LOB-Demonstration", "relationship-data": [ { "relationship-key": "line-of-business.line-of-business-name", "relationship-value": "LOB-Demonstration" } ] }, { "related-to": "platform", "related-link": "/aai/v11/business/platforms/platform/test", "relationship-data": [ { "relationship-key": "platform.platform-name", "relationship-value": "test" } ] }, { "related-to": "tenant", "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/fr2/tenants/tenant/6270eaa820934710960682c506115453", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "fr2" }, { "relationship-key": "tenant.tenant-id", "relationship-value": "6270eaa820934710960682c506115453" } ], "related-to-property": [ { "property-key": "tenant.tenant-name", "property-value": "0750178182_Sandbox1" } ] }, { "related-to": "cloud-region", "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/fr2", "relationship-data": [ { "relationship-key": "cloud-region.cloud-owner", "relationship-value": "CloudOwner" }, { "relationship-key": "cloud-region.cloud-region-id", "relationship-value": "fr2" } ], "related-to-property": [ { "property-key": "cloud-region.owner-defined-type", "property-value": "OwnerType" } ] } ] }, "vf-modules": { "vf-module": [ { "vf-module-id": "a0e238aa-d219-4918-b269-66fef4add4ae", "vf-module-name": "fr2_ONAP-NF_20190607T031522008Z_vpkg_Expansion_001", "heat-stack-id": "fr2_ONAP-NF_20190607T031522008Z_vpkg_Expansion_001/2725c65d-9af3-4d60-89c6-41ceae9767ac", "orchestration-status": "Active", "is-base-vf-module": false, "resource-version": "1559877459250", "model-invariant-id": "dbad0645-3c57-4f2e-8a47-887c125b7ae0", "model-version-id": "b4283579-8e0f-4de4-8eed-8640a24f3625", "model-customization-id": "1339d96b-0347-4c53-a1f2-923482aa71ec", "module-index": 0, "selflink": "restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vf-modules/vf-module/a0e238aa-d219-4918-b269-66fef4add4ae/vf-module-data/vf-module-topology/" }, { "vf-module-id": "c4a88399-7a7d-48d7-b010-f79b85a4306c", "vf-module-name": "fr2_ONAP-NF_20190607T031522008Z_base_template_Base_001", "heat-stack-id": "fr2_ONAP-NF_20190607T031522008Z_base_template_Base_001/e6441f43-5ac7-4010-8f6b-ab25811a77f3", "orchestration-status": "Active", "is-base-vf-module": true, "resource-version": "1559877455593", "model-invariant-id": "a22c3514-028e-4ed9-9bd8-9dda79d35278", "model-version-id": "dd43a4cb-2123-4213-a76a-38638507eb7f", "model-customization-id": "b0421854-bebb-455b-a96f-33db5640b60a", "module-index": 0, "selflink": "restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vf-modules/vf-module/c4a88399-7a7d-48d7-b010-f79b85a4306c/vf-module-data/vf-module-topology/" }, { "vf-module-id": "c00aec40-e2fe-4b77-9762-058986c43473", "vf-module-name": "fr2_ONAP-NF_20190607T031522008Z_vdns_Expansion_001", "heat-stack-id": "fr2_ONAP-NF_20190607T031522008Z_vdns_Expansion_001/3dc085e0-d094-4484-8e91-8e925c9982f4", "orchestration-status": "Active", "is-base-vf-module": false, "resource-version": "1559877466668", "model-invariant-id": "80cbf0f3-a80a-4b9b-a9ec-63006c0be349", "model-version-id": "776f80d3-3e18-40c5-adc9-36061fcb452c", "model-customization-id": "3c2235ff-cbe5-4037-9470-614c069aa334", "module-index": 0, "selflink": "restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vf-modules/vf-module/c00aec40-e2fe-4b77-9762-058986c43473/vf-module-data/vf-module-topology/" }, { "vf-module-id": "fc93d9d3-741b-4ae9-8981-a20310f20bbe", "vf-module-name": "fr2_ONAP-NF_20190607T031522008Z_vlb_Expansion_001", "heat-stack-id": "fr2_ONAP-NF_20190607T031522008Z_vlb_Expansion_001/d6ec42fb-30d2-4e01-b669-6f5f88c71309", "orchestration-status": "Active", "is-base-vf-module": false, "resource-version": "1559877463154", "model-invariant-id": "3174d161-c832-4b58-ac46-1fc30f40030c", "model-version-id": "d8ed100e-9c1d-4b37-a17f-0a300e5096c7", "model-customization-id": "3df8956d-601f-4312-a5f1-f186f7ad98d4", "module-index": 0, "selflink": "restconf/config/GENERIC-RESOURCE-API:services/service/1a0fbd43-0ab6-4d67-99f4-14a890505a8d/service-data/vnfs/vnf/1bed94d9-9a12-458a-b891-7c04796b5af4/vnf-data/vf-modules/vf-module/fc93d9d3-741b-4ae9-8981-a20310f20bbe/vf-module-data/vf-module-topology/" } ] } }
Main reference for CDS sequence flows is here : Instantiation - SDN-C Generic Resource API (Enhancement)
To monitor or to troubleshoot the vDNS instantiation with CDS in Dublin, we can check several ONAP component logs, as described below:
#Some commands to quickly check the CDS processing. #If you like these commands, you can create aliases, so you can quickly call them anytime. #E.g.: alias l-sdnc='kubectl -n onap exec -it onap-sdnc-sdnc-0 -- cat /var/log/onap/sdnc/karaf.log' #Author: abdelmuhaimen.seaudi@orange.com #Check SDNC Logs: kubectl -n onap exec -it onap-sdnc-sdnc-0 -- cat /var/log/onap/sdnc/karaf.log kubectl -n onap exec -it onap-sdnc-sdnc-0 -- tail -f /var/log/onap/sdnc/karaf.log #Check SO Openstack Adapter Logs: kubectl -n onap get pods | grep so-openstack | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap exec {} -- cat /app/logs/openstack/debug.log kubectl -n onap get pods | grep so-openstack | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap exec {} -- tail -f /app/logs/openstack/debug.log #Check SO BPMN Logs: kubectl -n onap get pods | grep so-bpmn | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap exec {} -- cat /app/logs/bpmn/debug.log kubectl -n onap get pods | grep so-bpmn | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap exec {} -- tail -f /app/logs/bpmn/debug.log #Check CDS Blueprint Processor Logs: kubectl -n onap get pods | grep blueprints-processor | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap logs kubectl -n onap get pods | grep blueprints-processor | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap logs {} -f #Check Netbox Logs: kubectl -n onap get pods | grep netbox-app | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap logs kubectl -n onap get pods | grep netbox-app | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap logs {} -f #Check Naming Service Logs: kubectl -n onap get pods | grep name-gen | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap logs kubectl -n onap get pods | grep name-gen | grep Running | cut -f1 -d" " | xargs -i kubectl -n onap logs {} -f